summaryrefslogtreecommitdiff
path: root/src/mesa/shader/shader_api.c
AgeCommit message (Collapse)Author
2008-09-18mesa: prefix a bunch of #include lines with "main/".Brian Paul
This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
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-09-16mesa: fix bug in get_uniform_rows_cols(): sometimes returned too many rowsBrian Paul
2008-08-11mesa: glsl: add missing sampler types in sizeof_glsl_type(), bug 17079Brian Paul
2008-08-11mesa: glsl: add missing sampler types in sizeof_glsl_type(), bug 17079Brian Paul
2008-08-07mesa: Silence compiler warnings on Windows.Michal Krol
2008-08-06mesa: glsl: fix a number of glUniform issuesBrian Paul
Additional error checking. Allow setting elements of uniform arrays. This involves encoding both a uniform location and a parameter offset in the value returned by glGetUniformLocation(). Limit glUniform[if]v()'s count to the size of the uniform array. When setting bool-valued uniforms, convert all float/int values to 0 or 1.
2008-08-06mesa: glsl: fix glGetUniform for matrix queriesBrian Paul
2008-08-06mesa: glsl: fix error check in get_uniformfv()Brian Paul
2008-07-29mesa: Silence compiler warnings on Windows.Brian Paul
2008-07-29mesa: fix issues causing warnings on WindowsBrian Paul
2008-07-29mesa: glsl: only try to link shaders defining main()Brian Paul
2008-07-29mesa: remove stray debug assertionBrian Paul
2008-07-29mesa: fix glUniform error checking for samplersBrian
2008-07-29mesa: fix some issues in _mesa_validate_program()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-29mesa: fix set_program_uniform_matrix(): need to loop over matrix countBrian Paul
2008-07-25mesa: fix issues causing warnings on WindowsBrian Paul
2008-07-25mesa: Mark as XXX unresolved warnings on windows.Michal Krol
2008-07-24mesa: glsl: only try to link shaders defining main()Brian Paul
2008-07-24mesa: Prefix main includes with dir to avoid conflicts.José Fonseca
Some of the headers in src/mesa/main have pretty common names which easily conflict with third-party code, e.g. config.h
2008-07-22mesa: remove stray debug assertionBrian Paul
2008-07-21mesa: fix glUniform error checking for samplersBrian
2008-07-21mesa: fix some issues in _mesa_validate_program()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-18mesa: fix set_program_uniform_matrix(): need to loop over matrix countBrian Paul
2008-07-15mesa: Silence compiler warnings on Windows.Michal Krol
2008-07-08mesa: implement glGetUniformiv() with new ctx->Driver functionBrian Paul
The old implementation could overwrite the caller's param buffer.
2008-07-08mesa: implement glGetUniformiv() with new ctx->Driver functionBrian Paul
The old implementation could overwrite the caller's param buffer.
2008-07-04mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if ↵Brian Paul
program isn't linked
2008-07-04mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if ↵Brian Paul
program isn't linked
2008-07-03mesa: fix various error codesBrian Paul
2008-07-03mesa: fix various error codesBrian Paul
2008-07-03mesa: additional error checking, fix error codesBrian Paul
2008-07-02mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()Brian Paul
If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE or GL_INVALID_OPERATION. It depends on whether 'shader' actually names a 'program' or is a totally unknown ID. There might be other cases to fix... cherry-picked from master
2008-07-02mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()Brian Paul
If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE or GL_INVALID_OPERATION. It depends on whether 'shader' actually names a 'program' or is a totally unknown ID. There might be other cases to fix...
2008-06-28s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()Brian Paul
2008-06-28s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()Brian Paul
2008-06-24mesa: Use appropriate unsigned/signed, float/integer types.José Fonseca
2008-05-31mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-05-18Move _mesa_init_glsl_driver_functions() into shader_api.cBrian Paul
This allows making a bunch of functions static, and removes a state tracker dependency on driverfuncs.c cherry-picked from gallium-0.1
2008-05-16bring in fixes/changes from masterBrian Paul
2008-05-16bring in fixes/changes from gallium-0.1Brian Paul
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-16silence warning, new assertionBrian Paul
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-14mesa: fix InfoLog memleak, misc sync with masterBrian Paul
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: glUniform(location==-1) is not an errorBrian Paul