summaryrefslogtreecommitdiff
path: root/src/mesa/main/texenvprogram.c
AgeCommit message (Collapse)Author
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
2005-12-12silence warning, bug 5318Brian Paul
2005-12-06C++ fixes, mostly casts (Stephane Conversy)Brian Paul
2005-11-20Make Saturate a 2-bit field again, renamed to SaturateMode with threeBrian Paul
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
2005-11-19additional clean-ups and improvementsBrian Paul
2005-11-19Bunch of little fixes:Brian Paul
Fix mem leaks in _mesa_TexEnvProgramCacheDestroy(). Check if ctx->Driver.BindProgram is non-null before calling. s/unsigned/GLuint/ Use MAX_INSTRUCTIONS instead of magic 100, check program length after it's made. Use _mesa_init_instruction() instead of _mesa_memset().
2005-11-19Remove the _mesa_parse_arb_vertex/fragment_program() functions intoBrian Paul
arbprogparse.c and remove arbvertparse.[ch] and arbfragparse.[ch]. Clean up quite a bit of the arb parsing code. Rewrite parser extension code to avoid a mess of string operations every time the parser was used.
2005-11-18Reduce stderr noise.Aapo Tahkola
2005-11-12Move stuff common to vertex/fragment_program into the base class, including:Brian Paul
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-08s/_mesa_debug_fp_inst/_mesa_print_program/Brian Paul
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-02Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul
2005-11-01Several fp and vp tweaks:Keith Whitwell
- Renumber VERT_RESULT_* values so that they match the numbers of the corresponding FRAG_ATTRIB_ values. - Add ctx->VertexProgram._Current and FragmentProgram._Current values which point to either the current client-supplied program if enabled, or otherwise to the current mesa-internal program. Thus this program is always the correct one for the current state, providing that the mesa flags to turn on automatic generation are enabled. - Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c and t_vp_build.c so that the driver knows when the generated program changes. This is cleaner than trying to code all the possible _NEW_* flags into the driver, and more precise as well. - Add a UsesKill flag to identify fragment programs with that instruction, as these can require special treatment. - Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.
2005-11-01Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul
temporaries, parameters, etc). glGetProgramivARB() now returns all the right things. Updated i915 and r300 code to initialize program native limits and current program's native instruction/temporary/etc counts.
2005-10-07Populate arb_fp_instruction negate field correctly.Keith Whitwell
2005-09-19additional wrapper updates, bug 4468Brian Paul
2005-09-16use mesa import wrappers, bug 4468Brian Paul
2005-09-15Replace GLuint with GLbitfield where appropriate. Also replace GLuintBrian Paul
with GLboolean in a few places.
2005-09-08Keep NumTemporaries uptodate.Keith Whitwell
Make sure oC alpha is populated when separate_specular enabled.
2005-08-06Follow suggestion by Aapo Tahkola to fix giant memory leak from forgetting ↵Vladimir Dergachev
to free the key when entry was already found (presumably a common case).
2005-07-19replace fprintf() calls with _mesa_problem()Brian Paul
2005-07-11Cache texenv programs to avoid repeated compilation (Ben Skeggs)Keith Whitwell
2005-05-23Detect use of disabled textures as tex_env_crossbar sources.Keith Whitwell
2005-05-23Support ARB_texture_env_crossbar. Changes the way programs areKeith Whitwell
generated somewhat, with all TEX instructions now emitted at the head of the program.
2005-05-23Restore the negate() function.Keith Whitwell
Add Ben Skegg's ATI_texture_env_combine3 support.