summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_link.c
AgeCommit message (Collapse)Author
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-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.
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%.