summaryrefslogtreecommitdiff
path: root/src/mesa/shader/programopt.c
AgeCommit message (Collapse)AuthorFilesLines
2009-07-02mesa: ensure UsesFogFragCoord value is set for non-glsl shadersKeith Whitwell1-0/+1
With recent changes to support frontfacing in glsl, it is necessary to ensure that the UsesFogFragCoord value is accurate in all shaders. We were previously not setting it for fixed-function and ARB_fs shaders.
2009-05-08mesa: more complete fix for transform_invarient glitchesKeith Whitwell1-2/+117
Add a new flag mvp_with_dp4 in the context, and use that to switch both ffvertex.c and programopt.c vertex transformation code to either DP4 or MUL/MAD implementations.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul1-1/+1
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-03-07mesa: gl_register_file enum typedefBrian Paul1-1/+1
2009-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul1-3/+3
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2008-08-16mesa: import latest GLSL code from gallium-0.1 branchBrian Paul1-6/+6
2008-06-12silly bug: it's PROGRAM_VARYINGZack Rusin1-1/+1
2008-06-12glsl: make sure we replace all output reads with temporariesZack Rusin1-5/+7
test in if.glsl
2008-05-14clean-up swizzle fields in fog code, fix NegateBaseBrian Paul1-11/+10
cherry-picked from gallium-0.1
2008-05-14added _mesa_combine_parameter_lists()Brian Paul1-2/+94
cherry-picked from gallium-0.1
2007-04-16need to clamp MAD for linear fogBrian1-0/+1
2007-03-22use _mesa_copy_instructions()Brian1-2/+1
2007-03-21merge from masterBrian1-2/+1
2007-03-18Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code.Oliver McFadden1-2/+1
2007-02-23replace GLint with gl_state_indexBrian1-3/+3
2007-02-22Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.Brian1-4/+5
2007-02-22Merge branch 'origin' into glsl-compiler-1Brian1-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
2007-02-21adjustments to STATE_ token layout/format so token[1] is always the array indexBrian1-6/+8
2007-02-09optimize per-pixel fog programRoland Scheidegger1-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)
2007-01-09added _mesa_count_texture_indirections(), _mesa_count_texture_instructions()Brian1-2/+84
2006-12-14remove some unneeded includesBrian1-3/+0
2006-12-14Updated includes.Brian1-1/+3
2006-12-13Checkpoint of work for new GLSL compiler back-end. Lots of assorted changes.Brian1-1/+4
2006-11-15Add a size parameter to _mesa_add_unnamed_constant() andBrian Paul1-1/+1
_mesa_add_named_constant() to indicate vector size (1, 2, 3 or 4). Always 4 for now...
2006-10-29fix wrong inequalityBrian Paul1-1/+1
2006-10-29Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul1-3/+2
2006-10-28Implement _mesa_append_fog_code() for fragment program fog options.Brian Paul1-18/+177
2006-08-25Rename _mesa_append_modelview_code() to _mesa_insert_mvp_code().Brian Paul1-22/+23
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 Paul1-0/+146