summaryrefslogtreecommitdiff
path: root/src/mesa/shader/programopt.c
AgeCommit message (Collapse)Author
2008-04-07mesa: new _mesa_remove_varying_reads() functionBrian
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.
2008-01-16clean-up swizzle fields in fog code, fix NegateBaseBrian
2007-04-16need to clamp MAD for linear fogBrian
2007-03-22use _mesa_copy_instructions()Brian
2007-03-21merge from masterBrian
2007-03-18Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code.Oliver McFadden
2007-02-23replace GLint with gl_state_indexBrian
2007-02-22Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.Brian
2007-02-22Merge branch 'origin' into glsl-compiler-1Brian
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
2007-02-21adjustments to STATE_ token layout/format so token[1] is always the array indexBrian
2007-02-09optimize per-pixel fog programRoland Scheidegger
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)
2007-01-09added _mesa_count_texture_indirections(), _mesa_count_texture_instructions()Brian
2006-12-14remove some unneeded includesBrian
2006-12-14Updated includes.Brian
2006-12-13Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.Brian
2006-11-15Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul
_mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...
2006-10-29fix wrong inequalityBrian Paul
2006-10-29Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul
2006-10-28Implement _mesa_append_fog_code() for fragment program fog options.Brian Paul
2006-08-25Rename _mesa_append_modelview_code() to _mesa_insert_mvp_code().Brian Paul
The four DP4 instructions are now inserted at the top of the program instead of appended to tail.
2006-08-24Functions for vertex/fragment program transformations, optimizations, etc.Brian Paul