summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_link.c
AgeCommit message (Collapse)Author
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.
2007-04-26Added error check that all varying vars needed by the fragment shader are ↵Brian
produced by vertex shader.
2007-04-21move allocation of shProg->Attributes earlier in functionBrian
2007-04-18Start fixing some issues with uniform variables and their types.Brian
2007-04-18call ProgramStringNotify() after linkingBrian
2007-04-12use _mesa_clear_shader_program_data()Brian
2007-03-26remove debug abort() callsBrian
2007-03-26disable printing shader program debug infoBrian
2007-03-22In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵Brian
swizzleOut==NULL. There are times when we don't want to allow swizzling when searching for or adding vector constants. Passing NULL for swizzleOut disables swizzling. This fixes a constant/swizzle bug in link_uniform_vars().
2007-03-07fix incorrect HPOS write testBrian
2007-03-07Generate an error if the vertex shader does not write to gl_Position.Brian
2007-03-06fix vert/frag typoBrian
2007-02-23replace GLint with gl_state_indexBrian
2007-02-23Re-implement branching with slang_labels.Brian
This eliminates the NOP instructions that had been used as placeholders for branch targets. Also, fix "return" statement bug.
2007-02-16remove dead codeBrian
2007-02-16s/_slang_link2/_slang_link/Brian
2007-02-07Use IR_LOOP to represent do-while and for-loops.Brian
Also, start moving high vs. low-level instruction selection into slang_emit.c
2007-02-02rename slang_link2.c slang_link.cBrian
2007-02-02Remove old slang linker code.Brian
2007-02-02Remove all dependencies on the old slang interpreter/executor.Brian
2006-12-15use MAX_VARYINGBrian
2006-10-13Indent and cosmetic changes.Michal Krol
2006-05-16Fix attrib handling.Michal Krol
2006-04-25Remove carriage returns.Michal Krol
2006-04-18Add support for ARB_vertex_shader attrib binding and query.Michal Krol
Clean-up ARB_shaderobjects code a bit.
2006-04-04More GLSL code:Michal Krol
- add support for varyings; GLSL fixes: - pow was wrongly computed in x86 back-end;
2006-03-14More GLSL code:Michal Krol
- add texture sampling support; - fix assembly codegen bugs;
2006-02-27More GLSL code:Michal Krol
- add x86 code generator; - add full support for uniforms in ARB_shader_objects; - add assembly instruction: global_addr; - reorganize #includes; - built-in uniforms accessed by index, rather than by name; - add some entries to x86sse rtasm; - add configurations to VC6 projects: 'Release x86' and 'Debug x86'; - #define SLANG_X86 active only on VC6 x86 builds; - introduce code export table for a shader; - remove GNU license from the noise library;
2006-02-21More GLSL code:Michal Krol
- uniforms (only GetLocation, Uniform1f and Uniform4fv for now for demos); - fix bugs and optimize array size handling; - 2D texture sampling (needs Enable(TEXTURE_2D) to work); - decrease built-in library assembly size by 30%.