summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_link.c
AgeCommit message (Collapse)Author
2008-11-11Merge commit 'origin/master' into gallium-0.2Brian Paul
Conflicts: src/mesa/shader/prog_execute.c src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2008-11-10mesa: track initialization status of uniform variables. Plus, asst clean-ups.Brian Paul
2008-11-10mesa: fix logic error in GLSL linker when looking for main() shadersBrian Paul
2008-11-06mesa: update the shader programs->TexturesUsed array at link timeBrian Paul
If an application never calls glUniform() to set sampler variable values they'll remain 0 (the default value/unit). Now call _mesa_update_shader_textures_used() at link time in case glUniform() is never called. program->TextureUsed[] will then be correct for state validation.
2008-11-06Merge commit 'origin/gallium-0.1' into gallium-0.2Brian Paul
2008-11-06mesa: update the shader programs->TexturesUsed array at link timeBrian Paul
If an application never calls glUniform() to set sampler variable values they'll remain 0 (the default value/unit). Now call _mesa_update_shader_textures_used() at link time in case glUniform() is never called. program->TextureUsed[] will then be correct for state validation.
2008-11-05mesa: Fix compiler warnings on Windows.Brian Paul
cherry-picked subset of a77976d2ee578d0483c64f2aa41719bbae9c1c97
2008-11-01Merge commit 'origin/master' into gallium-0.2Alan Hourihane
Conflicts: src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2008-11-01mesa: additional debug flags for glsl debug/disassemblyBrian Paul
2008-11-01mesa: additional debug flags for glsl debug/disassemblyBrian Paul
2008-10-02mesa: Fix compiler warnings on Windows.Michal Krol
2008-10-01mesa: Fix compiler warnings on Windows.Michal Krol
2008-09-23mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs()Brian Paul
2008-09-23mesa: new gl_fragment_program fields indicating use of fog, front-facing, ↵Brian Paul
point coord (cherry picked from commit d7a7b0a10dd355fbeb7a404091a42d4ab558c820)
2008-09-18Merge commit 'origin/gallium-0.1' into gallium-0.2Keith Whitwell
Conflicts: src/mesa/shader/slang/slang_link.c
2008-09-17mesa: new gl_fragment_program fields indicating use of fog, front-facing, ↵Brian Paul
point coord
2008-09-17mesa: update program->NumAddressRegs field in _slang_update_inputs_outputs()Brian Paul
2008-09-17mesa: fix bug in previous changes to _slang_resolve_attributes()Brian Paul
2008-09-17mesa: fix bug in previous changes to _slang_resolve_attributes()Brian Paul
2008-09-16mesa: rework GLSL vertex attribute bindingBrian Paul
Calls to glBindAttribLocation() should not take effect until the next time that glLinkProgram() is called. gl_shader_program::Attributes now just contains user-defined bindings. gl_shader_program::VertexProgram->Attributes contains the actual/final bindings.
2008-09-16mesa: rework GLSL vertex attribute bindingBrian Paul
Calls to glBindAttribLocation() should not take effect until the next time that glLinkProgram() is called. gl_shader_program::Attributes now just contains user-defined bindings. gl_shader_program::VertexProgram->Attributes contains the actual/final bindings.
2008-08-25mesa: glsl: grab latest fixes from gallium-0.1 branchBrian Paul
Includes: 1. Fixes failed asserting about bad swizzles in src reg emit. 2. Tracks uniform var usage. 3. Emit exp() in terms of EXP2 instruction.
2008-08-19mesa: glsl: add usage tracking for uniform varsBrian Paul
Unused uniforms are no longer included in the active uniforms list.
2008-08-16mesa: import latest GLSL code from gallium-0.1 branchBrian Paul
2008-08-15mesa: glsl: fix linking of varying vars which are arraysBrian Paul
2008-08-07mesa: Silence compiler warnings on Windows.Michal Krol
2008-08-06mesa: glsl: additional error checkingBrian Paul
2008-08-06mesa: glsl: count number of temp regs usedHaihao Xiang
2008-08-06disable debug code accidentally enabled by prev commitBrian Paul
2008-08-06mesa: glsl: count number of temp regs usedHaihao Xiang
2008-07-29mesa: glsl: only try to link shaders defining main()Brian Paul
2008-07-29mesa: assorted glsl uniform/attribute fixesBrian Paul
Fix incorrect uniform/attribute size query results. Add missing error checking for glUniform, glUniformMatrix params Fix an array size/allocation error.
2008-07-24mesa: glsl: only try to link shaders defining main()Brian Paul
2008-07-21mesa: assorted glsl uniform/attribute fixesBrian Paul
Fix incorrect uniform/attribute size query results. Add missing error checking for glUniform, glUniformMatrix params Fix an array size/allocation error.
2008-07-02mesa: when linking a shader program, make sure all the shaders compiled OKBrian Paul
cherry-picked from master
2008-07-02mesa: when linking a shader program, make sure all the shaders compiled OKBrian Paul
2008-07-02generate a link error if the vertex shader references too many texturesBrian Paul
2008-06-04Set the attribute as used.Brian Paul
cherry-picked from gallium-0.1
2008-06-04Set the attribute as used.Alan Hourihane
2008-05-16Fix a program refcounting error, don't share program parameter lists.Brian Paul
The refcounting bug was causing a memleak (unfreed programs). The old parameter list sharing is not needed since the change in how uniforms are handled.
2008-05-16Fix a program refcounting error, don't share program parameter lists.Brian Paul
The refcounting bug was causing a memleak (unfreed programs). The old parameter list sharing is not needed since the change in how uniforms are handled.
2008-05-14Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul
Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
2008-05-14mesa: updated commentBrian Paul
2008-05-06implement full reference counting for vertex/fragment programsBrian
Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test.
2008-05-06gallium: implement full reference counting for vertex/fragment programsBrian
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...
2008-04-04mesa: no longer combine vertex/fragment shader parameters/uniformsBrian
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.
2007-10-26turn off debug outputBrian
2007-10-26Re-implement GLSL texture sampler variables.Brian
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime.
2007-07-31glGetAttribLocation always returned 1 (bug 11774)Brian
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.