summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/programopt.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: new _mesa_remove_varying_reads() functionBrian2008-04-071-2/+94
| | | | | | | | We'll apply this function to GLSL vertex programs. In GLSL it's legal to read and write varying (output) vars in a vertex shader. But reading from an output register isn't supported by all hardware. This routine examines the vertex program for that condition and rewrites it to use temporary registers where needed.
* clean-up swizzle fields in fog code, fix NegateBaseBrian2008-01-161-11/+10
|
* need to clamp MAD for linear fogBrian2007-04-161-0/+1
|
* use _mesa_copy_instructions()Brian2007-03-221-2/+1
|
* merge from masterBrian2007-03-211-2/+1
|\
| * Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code.Oliver McFadden2007-03-181-2/+1
| |
* | replace GLint with gl_state_indexBrian2007-02-231-3/+3
| |
* | Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.Brian2007-02-221-4/+5
| |
* | Merge branch 'origin' into glsl-compiler-1Brian2007-02-221-55/+31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 per-pixel fog programRoland Scheidegger2007-02-091-49/+30
| | | | | | | | | | | | | | use the same internal state as for vertex fog. From the old implemenentation, this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2, plus saves a (constant) parameter. While here, fix the broken (forgotten) swizzling. (untested)
* | adjustments to STATE_ token layout/format so token[1] is always the array indexBrian2007-02-211-6/+8
| |
* | added _mesa_count_texture_indirections(), _mesa_count_texture_instructions()Brian2007-01-091-2/+84
| |
* | remove some unneeded includesBrian2006-12-141-3/+0
| |
* | Updated includes.Brian2006-12-141-1/+3
| |
* | Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.Brian2006-12-131-1/+4
|/
* 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...
* fix wrong inequalityBrian Paul2006-10-291-1/+1
|
* Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul2006-10-291-3/+2
|
* Implement _mesa_append_fog_code() for fragment program fog options.Brian Paul2006-10-281-18/+177
|
* Rename _mesa_append_modelview_code() to _mesa_insert_mvp_code().Brian Paul2006-08-251-22/+23
| | | | | The four DP4 instructions are now inserted at the top of the program instead of appended to tail.
* Functions for vertex/fragment program transformations, optimizations, etc.Brian Paul2006-08-241-0/+146