summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/arbprogparse.c
Commit message (Collapse)AuthorAgeFilesLines
* Treat image units and coordinate units differently.Ian Romanick2009-01-141-3/+28
| | | | | | | | | | | | Previously MaxTextureUnits was used to validate both texture image units and texture coordinate units in fragment programs. Instead, use MaxTextureCoordUnits for texture coordinate units and MaxTextureImageUnits for texture image units. Fixes bugzilla #19468. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: set FRAG_BIT_FOGC bit in InputsUsed if FogOption!=GL_NONEBrian Paul2008-10-061-0/+3
|
* mesa: prefix a bunch of #include lines with "main/".Brian Paul2008-09-181-3/+3
| | | | | This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
* mesa: fix state.clip[n].plane parsing bug (bug 16611)Brian Paul2008-07-091-3/+6
|
* glsl: implement variable array indexesZack Rusin2008-06-121-1/+1
|
* init SamplersUsed bits in _mesa_parse_arb_fragment_programBrian Paul2008-05-161-1/+4
|
* consolidate some parsing functions that were pretty much identical for ↵Brian2008-03-271-152/+71
| | | | vertex/fragment programs
* when negating scalar src args, use NEGATE_XYZW, not NEGATE_XBrian2008-03-271-6/+6
| | | | | This makes things easier on the back-end when generating GPU code. cherry-picked from gallium-0.1
* Set param_var->param_binding_type = PROGRAM_CONSTANTBrian2008-03-271-0/+2
| | | | cherry-picked from gallium-0.1
* only set InputsRead bit if input is really usedMarkus Amsler2008-03-171-2/+5
|
* mesa: set input read only on successMarkus Amsler2008-02-271-2/+2
|
* raise GL_INVALID_OPERATION if glProgramString compilation failsBrian2008-02-201-1/+1
|
* Fix the compile of disabled DEBUG_PARSING code.Eric Anholt2008-01-151-3/+3
|
* make sure state token values are fully initializedRoland Scheidegger2007-12-111-1/+1
|
* added program_error2() function for better error reportingBrian2007-09-131-47/+60
|
* Fix state.texgen parsing error (bug 12313).Brian2007-09-131-5/+12
| | | | Replace *(*inst++) with *(*inst)++ in a few places.
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-4/+4
| | | | of -I flags.
* Add support for GL_ARB_fragment_program_shadow.Ian Romanick2007-06-071-7/+33
|
* Updates for array texture shadow targets.Ian Romanick2007-06-051-5/+9
|
* Initial implementation of MESA_texture_arrayIan Romanick2007-05-161-2/+20
| | | | | Shadow sampling from texture arrays is still not implemented. Everything else should be there, though.
* Merge branch 'origin' into glsl-compiler-1Brian2007-03-091-0/+1
|\ | | | | | | | | | | Conflicts: src/mesa/main/context.c
| * Propogate UsesKill information.Keith Whitwell2007-03-041-0/+1
| |
* | fix fog breakageBrian2007-02-231-4/+2
| |
* | replace GLint with gl_state_indexBrian2007-02-231-7/+11
| |
* | updated debug codeBrian2007-02-221-210/+18
| |
* | Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.Brian2007-02-221-4/+2
| |
* | Merge branch 'origin' into glsl-compiler-1Brian2007-02-221-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/state.c src/mesa/shader/program.c src/mesa/shader/program.h src/mesa/shader/programopt.c src/mesa/shader/slang/slang_execute.c src/mesa/sources src/mesa/swrast/s_arbshader.c src/mesa/swrast/s_context.c src/mesa/swrast/s_span.c src/mesa/swrast/s_zoom.c src/mesa/tnl/t_context.c src/mesa/tnl/t_save_api.c src/mesa/tnl/t_vb_arbprogram.c src/mesa/tnl/t_vp_build.c src/mesa/tnl/t_vtx_eval.c
| * optimize generated vertex programs a bitRoland Scheidegger2007-02-091-1/+1
| | | | | | | | | | | | | | | | Use new internal state to avoid per-vertex normalization of static spot direction vector. Use internal state for simpler per-vertex fog computations (MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog). Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while there fix it up (RSQ instead of RCP). All untested...
| * Replace __extension__ with LONGSTRING.Brian2006-12-141-1/+1
| |
* | more minor changes to STATE_ indexingBrian2007-02-211-3/+9
| |
* | adjustments to STATE_ token layout/format so token[1] is always the array indexBrian2007-02-211-19/+28
| |
* | silence uninitialized var warningBrian2007-02-011-2/+2
| |
* | clean up a bunch of program parameter stuffBrian2007-01-091-3/+3
| |
* | Moved NumTexInstructions, NumTexIndirections, etc. into gl_program sinceBrian2007-01-091-6/+6
| | | | | | | | they can now apply to vertex programs.
* | move TexturesUsed[] into gl_program since vertex programs/shaders can use ↵Brian2007-01-041-1/+1
| | | | | | | | textures nowadays
* | Updated includes.Brian2006-12-141-1/+3
|/
* Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul2006-11-151-1/+1
| | | | | _mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...
* #define LONGSTRING __extension__ in imports.h and use it to silence gccBrian Paul2006-11-151-9/+6
| | | | warnings about long string literals.
* Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul2006-10-291-3/+3
|
* Program instructions are initialized before parsing so no need to setBrian Paul2006-10-291-7/+1
| | | | | | Abs, NegateAbs, CondMask and CondSwizzle fields to defaults here. CondMask was getting mis-set. Removing the incorrect assignment improves fragment program speed by 15%.
* for VERTEX_ATTRIB_WEIGHT, use break, not returnBrian Paul2006-09-061-1/+2
|
* Hack for Warcraft (bug 8060): allow 'vertex.weight' to be referenced inBrian Paul2006-09-051-0/+10
| | | | | vertex program, even though it's not really supported. Results will be undefined, but Warcraft doesn't actually use the attribute.
* fix typo in enable_parser_extensions(): s/point_parameters/vertex_blend/Brian Paul2006-09-051-1/+1
|
* Consolidate common case of _mesa_set_program_error() followed by _mesa_error()Brian Paul2006-09-051-248/+172
| | | | | | in new program_error() function. Add const qualifiers in many places. Reorder some debug code to prevent referencing free'd memory.
* Check that we don't try to reference more than one target of a texture unit.texmem_0_2_20060912Brian Paul2006-08-301-1/+17
| | | | | For example, referencing both "texture[0], 2D" and "texture[0], CUBE" in one program is an error.
* fix initialization of native resource usage of vertex/fragment programsRoland Scheidegger2006-08-301-0/+10
|
* use _mesa_alloc_instructions()Brian Paul2006-08-251-2/+1
|
* update MAX_INSTRUCTIONS limitBrian Paul2006-08-241-1/+4
|
* use _mesa_realloc_instructions()Brian Paul2006-08-241-6/+6
|
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-201-3/+3
| | | | "gl_" to match other structs.