summaryrefslogtreecommitdiff
path: root/src/mesa/main/texenvprogram.c
AgeCommit message (Collapse)Author
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.
2005-05-17don't include strings.hBrian Paul
2005-05-16Deal better with indirection and indirection accounting, developedKeith Whitwell
with Ben Skeggs.
2005-05-12new MESA_DEBUG option: disassemKeith Whitwell
2005-05-11Fix glean/conform problems. Don't generate so much output whenKeith Whitwell
disassembling.
2005-05-11Fix logic for allocating texture temporaries (Ben Skeggs).Keith Whitwell
Rename temp_flag, tex_temp_flag to make this clearer. Respect ctx->Const.MaxFragmentProgramTemps limit.
2005-05-10Double-buffer generated instructions and only notify driver when theKeith Whitwell
generated program differs from the previous one.
2005-05-10Double-buffer generated instructions and only notify driver when theKeith Whitwell
generated program differs from the previous one.
2005-05-10Better driver notification on changes.Keith Whitwell
2005-05-10Temporary fix - delete and recreate texenvprogram so that driversKeith Whitwell
notice when it changes.
2005-05-10Fix texenv segfault. Reported by Ben Skeggs.Keith Whitwell