summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/texenvprogram.c
Commit message (Collapse)AuthorAgeFilesLines
* mesa: choose GLSL vertex shader over ARB/internal vertex program in ↵Brian Paul2008-12-171-1/+13
| | | | | | | | | | | get_fp_input_mask() This is a work-around the for the fact that we do fragment shader state validation before vertex shader validation (see comments in state.c) so in get_fp_input_mask() we can't rely on ctx->VertexProgram._Current being up to date yet. This fixes a glean glsl1 test failure.
* mesa: fix fixed-function test in get_fp_input_mask() - again.Brian Paul2008-12-171-3/+5
| | | | | | The problem we're solving only occured when there was a user-defined vertex shader but no fragment shader. Check for that case now. Fixes glean api2 vertex array failure.
* mesa: add missing cases for texture array targetsBrian Paul2008-12-171-6/+10
|
* Revert "mesa: fix vertex program test in get_fp_input_mask()"Brian Paul2008-12-171-1/+3
| | | | This reverts commit cdaaf8e107010624bed4abdf9553c0ef63c8b708.
* mesa: fix vertex program test in get_fp_input_mask()Brian Paul2008-12-171-3/+1
| | | | | We were accidentally using the fixed-function logic when a vertex shader was being used.
* mesa: note that texcoords are generated by setup routines when pointsprite ↵Keith Whitwell2008-10-201-0/+12
| | | | enabled
* mesa: new _mesa_set_vp_override() function for driver-override of vertex programBrian Paul2008-10-101-2/+12
| | | | | | | | 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.
* mesa: replace GLuint with GLbitfield to be clearer about usageBrian Paul2008-10-071-14/+16
| | | | Also, fix up some comments to be doxygen style.
* mesa: protect against segfault in get_fp_input_mask()Keith Whitwell2008-10-071-1/+4
|
* mesa: handle vertex program enabled case also in texenvprogram.cKeith Whitwell2008-10-041-5/+4
|
* mesa: avoid generating constant vertex attributes in fixedfunc programsKeith Whitwell2008-10-031-5/+89
| | | | | | | | | | | | 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.
* mesa: shrink texenvprogram state key structKeith Whitwell2008-10-031-5/+7
|
* mesa: fix temp register allocation problems.Brian Paul2008-09-261-0/+15
| | | | Complex texcombine modes were running out of registers (>32 registers for 8 tex units).
* mesa: increase MAX_INSTRUCTIONSBrian Paul2008-09-251-4/+2
|
* mesa: fix swizzle failure, fix typoBrian Paul2008-09-251-3/+5
|
* mesa: Apply MSVC portability fixes from Alan Hourihane.José Fonseca2008-05-311-5/+5
|
* use PROGRAM_CONSTANT instead of PROGRAM_STATE_VAR when generating ↵Brian2008-01-181-1/+1
| | | | immediates/literals
* set SamplerUnit[] entry in load_texture() just to be safeBrian2007-12-141-0/+4
|
* set program->SamplersUsed bit when using a texture instructionBrian2007-12-141-1/+3
|
* Update texenvprogram.c code to use prog_cache.c routines.Brian2007-10-311-128/+7
|
* Remove ctx field from texenvprog_cacheBrian2007-10-291-12/+11
|
* Refactor _mesa_UpdateTexEnvProgram()Brian2007-10-291-32/+36
| | | | Will be replaced by _mesa_get_fixed_func_fragment_program().
* Disable the else clause which assigns the default fragment program to ↵Brian2007-10-291-0/+2
| | | | | | | | 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.
* properly init dst reg's CondMask/Swizzle fieldsBrian2007-10-231-2/+2
|
* bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many ↵Brian2007-10-231-3/+6
| | | | instructions
* Generate a texenv fragment program if there's a GLSL vertex shader but no ↵Brian2007-10-021-1/+2
| | | | | | GLSL fragment shader. This allows Glean glsl1 test to get pretty far.
* include programopt.hBrian2007-09-251-0/+1
|
* Disable vertex shader fog, compute fog in fragment shader.Brian2007-09-251-5/+11
|
* temporarily set the FRAG_BIT_FOGC bit in InputsRead when fog is enabledBrian2007-09-181-0/+1
|
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-041-4/+4
| | | | of -I flags.
* fix GL_DOT3_RGBA texture combiner mode in generated fragment programs (bug ↵Roland Scheidegger2007-07-031-1/+1
| | | | #11030)
* merge of glsl-compiler-1 branchBrian2007-03-261-40/+58
|\
| * Undo some changes to _mesa_UpdateTexEnvProgram(). Fixes broken i915 texturing.Brian2007-02-241-3/+9
| |
| * s/GLint/gl_state_index/, length is now 5 not 6Brian2007-02-231-9/+7
| |
| * fix g++ warnings/errorsBrian2007-01-231-2/+3
| |
| * Moved NumTexInstructions, NumTexIndirections, etc. into gl_program sinceBrian2007-01-091-9/+9
| | | | | | | | they can now apply to vertex programs.
| * Lots of assorted changes for new GLSL compiler backend.Brian2006-12-151-26/+40
| | | | | | | | New datatypes, constants, variables.
* | use _mesa_copy_instructions()Brian2007-03-221-4/+3
| |
* | fixes for C++ warnings/errorsBrian2007-01-231-2/+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...
* remove debug codeBrian Paul2006-10-301-7/+0
|
* Rather than always allocating 100 instructions, put instructions into aBrian Paul2006-10-291-18/+42
| | | | | temporary buffer, then copy into a malloc'd array of the correct size. According to Glean texCombine, we never need more than 21 instructions.
* Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul2006-10-291-1/+1
|
* Fix some breakage after the PROGRAM_UNDEFINED changeAlan Hourihane2006-08-101-2/+2
|
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-201-8/+9
| | | | "gl_" to match other structs.
* remove redundant 'const'Brian Paul2006-05-301-1/+1
|
* Add const qualifiers in a number of places.Brian Paul2006-05-231-11/+12
|
* In cache_item(), there was sizeof(void) expression.Brian Paul2006-05-231-1/+1
| | | | Replace void *key parameter with const struct state_key *
* memory usage fixes for glean/conform, use a better hash functionKeith Whitwell2006-05-221-29/+49
|
* Fix typoKeith Whitwell2006-05-221-1/+1
|