summaryrefslogtreecommitdiff
path: root/src/mesa/shader/shader_api.h
AgeCommit message (Collapse)Author
2009-08-25glsl: implement shader sampler validationBrian Paul
Shader validation should fail if there are two samplers of different types which reference the same texture unit. For example, if a cubemap sampler and a 2D sampler both reference texture unit 0, that's invalid.
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-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-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
2007-04-12New _mesa_reference_shader/program() function to consolidate refcounting.Brian
Note that (unlike texture objects), shader handles remain valid (in the hash table) after glDeleteShader/Program() if the refcount isn't zero.
2007-03-24Free shader-related context state: _mesa_free_shader_state()Brian
2006-12-20Fix shader object reference counting and hash table deallocation.Brian
2006-12-19Clean-up and re-org of the main GLSL object types.Brian
Use the gl_shader struct as it should be. Renamed gl_linked_program to gl_shader_program. Store both shaders and programs in the same hash table and use the Type field to distinguish them.
2006-12-19Overhaul of GLSL API functions, dispatching, etc.Brian
2006-12-18GLSL API functions.Brian