summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/shader_api.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: refactor shader api / object codeBrian Paul2010-06-101-1424/+0
| | | | | Remove the unneeded ctx->Driver hooks for shader-related functions. Move state and API-related things into main/.
* mesa: remove unused includesBrian Paul2010-05-261-2/+0
|
* mesa: rewrite _mesa_get_handle() and add some commentsBrian Paul2010-05-261-6/+14
|
* mesa: move GLSL uniform functions into new source fileBrian Paul2010-05-261-857/+4
|
* mesa: consolidate some glUniform codeBrian Paul2010-05-251-78/+29
|
* mesa: support for unsigned int uniformsBrian Paul2010-05-251-1/+55
|
* mesa: more info in glUniform error messagesBrian Paul2010-05-141-4/+7
|
* mesa: more transform feedback infrastructureBrian Paul2010-05-101-2/+6
| | | | | Includes GL_ARB_transform_feedback2 which encapsulates transform feedback state in objects.
* mesa: make _mesa_copy_string() non-staticBrian Paul2010-04-011-7/+22
|
* mesa: add transform feedback queriesBrian Paul2010-03-301-7/+47
| | | | And make _mesa_copy_string() non-static.
* mesa: added texture array targets in sizeof_glsl_type()Brian Paul2010-02-251-0/+4
|
* mesa: Move src/mesa/glapi/dispatch.h to mesa.Chia-I Wu2010-02-251-1/+1
| | | | | | 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.
* mesa: restore _mesa_snprintf() - it's needed for WindowsBrian Paul2010-02-191-1/+1
| | | | This reverts part of commit 298be2b028263b2c343a707662c6fbfa18293cb2
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-191-18/+18
|
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-191-12/+12
|
* Remove _mesa_memcpy in favor of plain memcpy.Kenneth Graunke2010-02-191-1/+1
| | | | This may break the SUNOS4 build, but it's no longer relevant.
* Remove _mesa_atoi in favor of plain atoi.Kenneth Graunke2010-02-191-1/+1
|
* Remove _mesa_strstr in favor of plain strstr.Kenneth Graunke2010-02-191-8/+8
|
* mesa: change ctx->Driver.ProgramStringNotify() to return GLbooleanBrian Paul2010-02-041-1/+5
| | | | | | | | | | | | | 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.
* mesa: fix double->float assignment warnings, int/uint comparison warningsBrian Paul2010-01-271-4/+4
| | | | Reported by Karl Schultz.
* glsl: Remove unnecessary headers from shader_api.c.Vinson Lee2010-01-161-2/+0
|
* glsl: avoid redundant state changes in _mesa_use_program()Brian Paul2009-10-271-3/+4
|
* mesa: refactor, new print_shader_info()Brian Paul2009-10-231-25/+36
|
* mesa: added MESA_GLSL=useprog debug flagBrian Paul2009-10-161-6/+21
| | | | This logs glUseProgram() calls to stderr.
* mesa: minor tweak to printf stringBrian Paul2009-10-131-1/+1
|
* Merge branch 'mesa_7_6_branch'Nicolai Hähnle2009-10-071-9/+22
|\
| * shader_api: Fix bounds checking of glUniform and glUniformMatrixNicolai Hähnle2009-10-071-9/+22
| | | | | | | | | | Signed-off-by: Nicolai Hähnle <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* | mesa: added nopfrag/nopvert options for MESA_GLSLBrian Paul2009-09-291-0/+4
|/ | | | | These options can be used to force vertex/fragment shaders to be no-op shaders (actually, simple pass-through shaders). For debug/test purposes.
* Merge branch 'mesa_7_5_branch' into mesa_7_6_branchBrian Paul2009-09-151-0/+15
|\
| * glsl: added some link debug code (disabled)Brian Paul2009-09-141-0/+15
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-261-4/+15
|\|
| * glsl: signal that the program needs to be re-translated when samplers changeBrian Paul2009-08-261-4/+15
| |
* | glsl: asst. clean-ups in set_program_uniform()Brian Paul2009-08-261-14/+7
| | | | | | | | | | Remove redunant type check for samplers (assert instead). Move some local vars. Update comments.
* | mesa: var renaming, new assertionBrian Paul2009-08-261-4/+5
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-261-3/+7
|\|
| * glsl: fix bug in sampler array indexingBrian Paul2009-08-261-3/+7
| | | | | | | | | | | | | | | | | | 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.
* | glsl: implement shader sampler validationBrian Paul2009-08-251-10/+102
| | | | | | | | | | | | 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.
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-08-141-2/+2
|\|
| * glsl: fix some uninitialized pointersBrian Paul2009-08-131-2/+2
| |
* | mesa: compute, print shader checksumBrian Paul2009-08-041-2/+6
| |
* | Merge branch 'mesa_7_5_branch'Brian Paul2009-06-261-0/+1
|\| | | | | | | | | | | | | | | Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
| * glsl: Added gl_shader_state::EmitContReturn fieldBrian Paul2009-06-261-0/+1
| | | | | | | | | | | | | | 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...
* | mesa: more shader debug code (disabled)Brian Paul2009-05-081-0/+4
| |
* | mesa: signal _NEW_PROGRAM_CONSTANTS instead of _NEW_PROGRAMBrian Paul2009-04-241-3/+3
|/ | | | | Use _NEW_PROGRAM_CONSTANTS when changing constant/uniform buffer values. Binding a new program/shader sets both _NEW_PROGRAM and _NEW_PROGRAM_CONSTANTS.
* mesa: new _NEW_PROGRAM_CONSTANTS flagBrian Paul2009-04-211-2/+2
| | | | | | | | | | | | | | | 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.
* mesa: remove unused matrixType param from ctx->Driver.UniformMatrix() functionsBrian Paul2009-04-141-1/+1
|
* mesa: move #define for GL_PROGRAM_BINARY_LENGTH_OESBrian Paul2009-04-141-5/+0
|
* glsl: change GLSL #pragma initializationBrian Paul2009-03-191-0/+9
| | | | | | 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.
* mesa: glUseProgram() debug code (disabled)Brian Paul2009-03-131-0/+11
|
* glsl: asst improvements, clean-ups in set_program_uniform()Brian Paul2009-02-181-27/+36
| | | | | | 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.