summaryrefslogtreecommitdiff
path: root/src/mesa/main/texenvprogram.c
AgeCommit message (Collapse)Author
2008-10-10mesa: new _mesa_set_vp_override() function for driver-override of vertex programBrian Paul
Patch provide by Keith. Used in state tracker by DrawPixels to indicate that the state tracker (driver) is using its own vertex program. This prevents the texenvprogram code from replacing conventional shader inputs with state vars. Fixes glDraw/CopyPixels regressions.
2008-10-07mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul
Also, fix up some comments to be doxygen style.
2008-10-07mesa: protect against segfault in get_fp_input_mask()Keith Whitwell
2008-10-04mesa: handle vertex program enabled case also in texenvprogram.cKeith Whitwell
2008-10-03mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell
Keep track of enabled/active vertex attributes. Keep track of potential vertex program outputs. When generating fragment program, replace references to fragment attributes which are effectively non-varying and non-computed passthrough attributes with references to the new CURRENT_ATTRIB tracked state value. Only downside is slight ugliness in VBO code where we need to validate state twice in succession.
2008-10-03mesa: shrink texenvprogram state key structKeith Whitwell
2008-09-26mesa: fix temp register allocation problems.Brian Paul
Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
2008-09-25mesa: increase MAX_INSTRUCTIONSBrian Paul
2008-09-25mesa: fix swizzle failure, fix typoBrian Paul
2008-05-31mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca
2008-01-18use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating ↵Brian
immediates/literals
2007-12-14set SamplerUnit[] entry in load_texture() just to be safeBrian
2007-12-14set program->SamplersUsed bit when using a texture instructionBrian
2007-10-31Update texenvprogram.c code to use prog_cache.c routines.Brian
2007-10-29Remove ctx field from texenvprog_cacheBrian
2007-10-29Refactor _mesa_UpdateTexEnvProgram()Brian
Will be replaced by _mesa_get_fixed_func_fragment_program().
2007-10-29Disable the else clause which assigns the default fragment program to ↵Brian
ctx->FragmentProgram._Current The _Current field should either point to the fragment program which is to be run (GLSL, ARB_f_p, fixed-func-generated, etc) or be NULL if conventional fixed-function code is to be used. Matches TNL program code.
2007-10-23properly init dst reg's CondMask/Swizzle fieldsBrian
2007-10-23bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian
instructions
2007-10-02Generate a texenv fragment program if there's a GLSL vertex shader but no ↵Brian
GLSL fragment shader. This allows Glean glsl1 test to get pretty far.
2007-09-25include programopt.hBrian
2007-09-25Disable vertex shader fog, compute fog in fragment shader.Brian
2007-09-18temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabledBrian
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-07-03fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug ↵Roland Scheidegger
#11030)
2007-03-26merge of glsl-compiler-1 branchBrian
2007-03-22use _mesa_copy_instructions()Brian
2007-02-24Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing.Brian
2007-02-23s/GLint/gl_state_index/, length is now 5 not 6Brian
2007-01-23fix g++ warnings/errorsBrian
2007-01-23fixes for C++ warnings/errorsBrian
2007-01-09Moved NumTexInstructions, NumTexIndirections, etc. into gl_program sinceBrian
they can now apply to vertex programs.
2006-12-15Lots of assorted changes for new GLSL compiler backend.Brian
New datatypes, constants, variables.
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-30remove debug codeBrian Paul
2006-10-29Rather than always allocating 100 instructions, put instructions into aBrian Paul
temporary buffer, then copy into a malloc'd array of the correct size. According to Glean texCombine, we never need more than 21 instructions.
2006-10-29Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul
2006-08-10Fix some breakage after the PROGRAM_UNDEFINED changeAlan Hourihane
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-05-30remove redundant 'const'Brian Paul
2006-05-23Add const qualifiers in a number of places.Brian Paul
2006-05-23In cache_item(), there was sizeof(void) expression.Brian Paul
Replace void *key parameter with const struct state_key *
2006-05-22memory usage fixes for glean/conform, use a better hash functionKeith Whitwell
2006-05-22Fix typoKeith Whitwell
2006-05-22Better caching for texenv programs.Keith Whitwell
Initialize some values correctly.
2006-04-13casts to fix some -pedantic warningsBrian Paul
2006-03-28fix #6072 (Keith Whitwell)Aapo Tahkola
2006-01-24fix using a tmp without asking for oneJerome Glisse
2006-01-24fix broken get_half & get_zeroAapo Tahkola
2005-12-14use GLbitfield instead of GLuintBrian Paul