Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix some additional program refcounting bugs | Brian Paul | 2008-05-14 | 3 | -9/+6 |
| | | | | cherry-picked from master | ||||
* | mesa: minor fixes in _mesa_free_shader_program_data() and _mesa_link_program() | Brian Paul | 2008-05-07 | 1 | -0/+4 |
| | | | | | | From master: Set shProg->NumShaders = 0 after freeing program's list of shaders. Set _NEW_PROGRAM in _mesa_link_program() to fix a state validation bug. | ||||
* | gallium: implement full reference counting for vertex/fragment programs | Brian Paul | 2008-05-07 | 5 | -47/+101 |
| | | | | | | | | Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test. Another memory bug involving shaders yet to be fixed... Picked from gallium-0.1 | ||||
* | gallium: fix potential divide by zero in fog computation | Brian Paul | 2008-04-23 | 1 | -3/+5 |
| | | | | It's legal for Fog.Start == Fog.End and conformance testing does so. | ||||
* | mesa: added internal post color matrix scale/bias vars | Brian Paul | 2008-04-16 | 2 | -0/+14 |
| | |||||
* | fix GL_ARB_texture_rectangle breakage | Brian Paul | 2008-04-14 | 1 | -3/+3 |
| | |||||
* | mesa: define #extension GL_ARB_texture_rectangle | David Flynn | 2008-04-14 | 1 | -0/+4 |
| | |||||
* | mesa: call _mesa_remove_varying_reads() after compiling vertex shaders | Brian | 2008-04-07 | 1 | -0/+15 |
| | |||||
* | mesa: new _mesa_remove_varying_reads() function | Brian | 2008-04-07 | 2 | -2/+96 |
| | | | | | | | | We'll apply this function to GLSL vertex programs. In GLSL it's legal to read and write varying (output) vars in a vertex shader. But reading from an output register isn't supported by all hardware. This routine examines the vertex program for that condition and rewrites it to use temporary registers where needed. | ||||
* | mesa: added _mesa_insert_instructions() | Brian | 2008-04-07 | 2 | -10/+52 |
| | | | | Also, use new _mesa_free_instructions() in a few places. | ||||
* | mesa: added _mesa_free_instructions() | Brian | 2008-04-07 | 2 | -0/+20 |
| | |||||
* | mesa: no longer combine vertex/fragment shader parameters/uniforms | Brian | 2008-04-04 | 2 | -267/+233 |
| | | | | | | | GLSL Vertex and fragment shaders now have independent parameter buffers. A new gl_uniform_list is used to keep track of program uniforms and where each uniform is located in each shader's parameter buffer. This makes better use of the space in each buffer and simplifies shader linking. | ||||
* | mesa: new functions for managing list/index of uniforms | Brian | 2008-04-04 | 2 | -0/+248 |
| | |||||
* | gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shaders | Brian Paul | 2008-04-04 | 1 | -0/+2 |
| | | | | | Also, make sure that field is copied/updated in the program clone and combine functions. Without this we weren't getting SAMP declarations in the TGSI shaders. | ||||
* | fix parsing bug involving comments at the end of ARB v/f programs | Markus Amsler | 2008-03-31 | 2 | -6/+6 |
| | |||||
* | consolidate some parsing functions that were pretty much identical for ↵ | Brian | 2008-03-27 | 1 | -152/+71 |
| | | | | | | vertex/fragment programs cherry-picked from master | ||||
* | mesa: misc sync-up with master | Brian | 2008-03-27 | 1 | -3/+3 |
| | |||||
* | raise GL_INVALID_OPERATION if glProgramString compilation fails | Brian | 2008-03-27 | 1 | -1/+1 |
| | | | | cherry-picked from master | ||||
* | Fix the compile of disabled DEBUG_PARSING code. | Brian | 2008-03-27 | 1 | -1/+1 |
| | | | | cherry-picked from master | ||||
* | make sure state token values are fully initialized | Brian | 2008-03-27 | 1 | -1/+1 |
| | | | | cherry-picked from master | ||||
* | added program_error2() function for better error reporting | Brian | 2008-03-27 | 1 | -47/+60 |
| | | | | cherry-picked from master | ||||
* | Fix state.texgen parsing error (bug 12313). | Brian | 2008-03-27 | 1 | -5/+12 |
| | | | | | | Replace *(*inst++) with *(*inst)++ in a few places. Cherry-picked from master. | ||||
* | mesa: fix some issues in _mesa_combine_programs() | Brian Paul | 2008-03-25 | 1 | -2/+21 |
| | | | | | | Use a temporay register to connect outputs of first program to inputs of second program. Also, fix bug in replace_registers(): didn't search/replace DstReg. | ||||
* | mesa: append fog instructions after parsing if a fog option is set | Brian Paul | 2008-03-25 | 1 | -0/+11 |
| | | | | Drivers don't have to worry about it then. | ||||
* | mesa: when negating scalar src args, use NEGATE_XYZW, not NEGATE_X | Brian Paul | 2008-03-25 | 1 | -6/+6 |
| | | | | This makes things easier on the back-end when generating GPU code. | ||||
* | use ctx->Driver.DeleteProgram() in a few more places | Brian | 2008-03-22 | 2 | -4/+4 |
| | |||||
* | only set InputsRead bit if input is really used | Markus Amsler | 2008-03-17 | 1 | -3/+5 |
| | |||||
* | mesa: init tmpNode to zeros | Brian Paul | 2008-03-14 | 1 | -0/+1 |
| | |||||
* | mesa: fix emit_clamp() so that we don't use an output register as temporary | Brian Paul | 2008-03-14 | 1 | -3/+12 |
| | | | | | | IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary register for the intermediate value so we don't inadvertantly use an output register (which are write-only on some GPUs). | ||||
* | mesa: fix (harmless?) assignment in assert | Keith Whitwell | 2008-03-13 | 1 | -1/+1 |
| | |||||
* | mesa: set SamplersUsed bitmask when parsing ARB fragment programs | Brian | 2008-03-12 | 1 | -1/+4 |
| | |||||
* | mesa: set input read only on success | Jerome Glisse | 2008-02-27 | 1 | -2/+3 |
| | |||||
* | Remove files of unsupported build systems. | José Fonseca | 2008-02-25 | 3 | -182/+0 |
| | |||||
* | s/varible/variable/ | Brian | 2008-01-18 | 1 | -6/+6 |
| | |||||
* | set param type to PROGRAM_CONSTANT when parsing immediates | Brian | 2008-01-18 | 1 | -0/+2 |
| | |||||
* | use NEGATE_X/Y/Z/W tokens | Brian | 2008-01-16 | 1 | -4/+4 |
| | |||||
* | clean-up swizzle fields in fog code, fix NegateBase | Brian | 2008-01-16 | 1 | -11/+10 |
| | |||||
* | copy UsesKill state in _mesa_combine_programs() | Brian | 2008-01-16 | 1 | -0/+7 |
| | |||||
* | free program caches | Brian | 2008-01-01 | 1 | -0/+2 |
| | |||||
* | fix a memleak | Brian | 2008-01-01 | 1 | -0/+1 |
| | |||||
* | Move _mesa_init_glsl_driver_functions() into shader_api.c | Brian | 2007-12-07 | 2 | -157/+99 |
| | | | | | This allows making a bunch of functions static, and removes a state tracker dependency on driverfuncs.c | ||||
* | fix type for Samplers field | Brian | 2007-10-31 | 1 | -1/+1 |
| | |||||
* | alloc caches for fixed-func vertex/fragment progs | Brian | 2007-10-31 | 1 | -0/+4 |
| | |||||
* | fix InputsRead bug in _mesa_combine_programs() | Brian | 2007-10-30 | 1 | -2/+6 |
| | |||||
* | special-case KIL/KIL_NV | Brian | 2007-10-30 | 1 | -1/+19 |
| | |||||
* | more additions for COLOR_MATRIX, etc | Brian | 2007-10-30 | 1 | -0/+12 |
| | |||||
* | add state vars for color matrix, pixel transfer scale&bias | Brian | 2007-10-30 | 2 | -0/+19 |
| | |||||
* | Program cache functions. | Brian | 2007-10-30 | 2 | -0/+246 |
| | | | | | Generic version of cache code from texenvprogram.c and t_vp_build.c Not used by those files just yet, will also be used for pixel_transfer programs. | ||||
* | check for NULL ptr in _mesa_print_parameter_list() | Brian | 2007-10-30 | 1 | -0/+3 |
| | |||||
* | make _mesa_combine_programs() params const | Brian | 2007-10-30 | 2 | -2/+4 |
| |