summaryrefslogtreecommitdiff
path: root/src/mesa/shader/shader_api.c
AgeCommit message (Collapse)Author
2010-06-10mesa: refactor shader api / object codeBrian Paul
Remove the unneeded ctx->Driver hooks for shader-related functions. Move state and API-related things into main/.
2010-05-26mesa: remove unused includesBrian Paul
2010-05-26mesa: rewrite _mesa_get_handle() and add some commentsBrian Paul
2010-05-26mesa: move GLSL uniform functions into new source fileBrian Paul
2010-05-25mesa: consolidate some glUniform codeBrian Paul
2010-05-25mesa: support for unsigned int uniformsBrian Paul
2010-05-14mesa: more info in glUniform error messagesBrian Paul
2010-05-10mesa: more transform feedback infrastructureBrian Paul
Includes GL_ARB_transform_feedback2 which encapsulates transform feedback state in objects.
2010-04-01mesa: make _mesa_copy_string() non-staticBrian Paul
2010-03-30mesa: add transform feedback queriesBrian Paul
And make _mesa_copy_string() non-static.
2010-02-25mesa: added texture array targets in sizeof_glsl_type()Brian Paul
2010-02-25mesa: Move src/mesa/glapi/dispatch.h to mesa.Chia-I Wu
glapi/dispatch.h is a core Mesa header file. Move the header file to main/ to make this clear. It also becomes clear after this change that IN_DRI_DRIVER is only used in core Mesa to enable the remap table.
2010-02-19mesa: restore _mesa_snprintf() - it's needed for WindowsBrian Paul
This reverts part of commit 298be2b028263b2c343a707662c6fbfa18293cb2
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-02-19Remove _mesa_memcpy in favor of plain memcpy.Kenneth Graunke
This may break the SUNOS4 build, but it's no longer relevant.
2010-02-19Remove _mesa_atoi in favor of plain atoi.Kenneth Graunke
2010-02-19Remove _mesa_strstr in favor of plain strstr.Kenneth Graunke
2010-02-04mesa: change ctx->Driver.ProgramStringNotify() to return GLbooleanBrian Paul
GL_TRUE indicates that the driver accepts the program. GL_FALSE indicates the program can't be compiled/translated by the driver for some reason (too many resources used, etc). Propogate this result up to the GL API: set GL_INVALID_OPERATION error if glProgramString() was called. Set shader program link status to GL_FALSE if glLinkProgram() was called. At this point, drivers still don't do any program checking and always return GL_TRUE.
2010-01-27mesa: fix double->float assignment warnings, int/uint comparison warningsBrian Paul
Reported by Karl Schultz.
2010-01-16glsl: Remove unnecessary headers from shader_api.c.Vinson Lee
2009-10-27glsl: avoid redundant state changes in _mesa_use_program()Brian Paul
2009-10-23mesa: refactor, new print_shader_info()Brian Paul
2009-10-16mesa: added MESA_GLSL=useprog debug flagBrian Paul
This logs glUseProgram() calls to stderr.
2009-10-13mesa: minor tweak to printf stringBrian Paul
2009-10-07Merge branch 'mesa_7_6_branch'Nicolai Hähnle
2009-10-07shader_api: Fix bounds checking of glUniform and glUniformMatrixNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2009-09-29mesa: added nopfrag/nopvert options for MESA_GLSLBrian Paul
These options can be used to force vertex/fragment shaders to be no-op shaders (actually, simple pass-through shaders). For debug/test purposes.
2009-09-15Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul
2009-09-14glsl: added some link debug code (disabled)Brian Paul
2009-08-26Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-26glsl: asst. clean-ups in set_program_uniform()Brian Paul
Remove redunant type check for samplers (assert instead). Move some local vars. Update comments.
2009-08-26glsl: signal that the program needs to be re-translated when samplers changeBrian Paul
2009-08-26mesa: var renaming, new assertionBrian Paul
2009-08-26Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-26glsl: fix bug in sampler array indexingBrian Paul
Need to add the 'offset' parameter when indexing the parameter array. Before, if we were setting arrays of samplers, we were actually only setting the 0th sampler's value. Because of how progs/glsl/samplers.c is constructed, this wasn't showing up as a failure in the samplers_array output.
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.
2009-08-14Merge branch 'mesa_7_5_branch'Brian Paul
2009-08-13glsl: fix some uninitialized pointersBrian Paul
2009-08-04mesa: compute, print shader checksumBrian Paul
2009-06-26glsl: Added gl_shader_state::EmitContReturn fieldBrian Paul
This is the start of a glsl-continue-return feature branch to support a GLSL code generator option for 'continue' and 'return' statements. Some targets don't support CONT or RET statements so we'll need to try to generate code that does not use them...
2009-06-26Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
2009-05-08mesa: more shader debug code (disabled)Brian Paul
2009-04-24mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAMBrian Paul
Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values. Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.
2009-04-21mesa: new _NEW_PROGRAM_CONSTANTS flagBrian Paul
This state flag will be used to indicate that vertex/fragment program constants have changed. _NEW_PROGRAM will be used to indicate changes to the vertex/fragment shader itself, or misc related state. _NEW_PROGRAM_CONSTANTS is also set whenever a program parameter that's tracking GL state has changed. For example, if the projection matrix is in the parameter list, calling glFrustum() will cause _NEW_PROGRAM_CONSTANTS to be set. This will let to remove the need for dynamic state atoms in some drivers. For now, we still set _NEW_PROGRAM in all the places we used to. We'll no longer set _NEW_PROGRAM in glUniform() after drivers/etc have been updated.
2009-04-14mesa: remove unused matrixType param from ctx->Driver.UniformMatrix() functionsBrian Paul
2009-04-14mesa: move #define for GL_PROGRAM_BINARY_LENGTH_OESBrian Paul
2009-03-19glsl: change GLSL #pragma initializationBrian Paul
Initialize the shader's pragma settings before calling the compiler. Added pragma "Ignore" fields to allow overriding the #pragma directives found in shader source code.
2009-03-13mesa: glUseProgram() debug code (disabled)Brian Paul
2009-02-18glsl: asst improvements, clean-ups in set_program_uniform()Brian Paul
Move the is_boolean/integer_type() calls out of the loops. Move the is_sampler_type() function near the bool/int functions. Add a bunch of comments.