summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_vp_build.c
AgeCommit message (Collapse)Author
2010-12-30tnl: Clean up header file inclusion in t_vp_build.h.Vinson Lee
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
2009-03-03mesa: include main/dd.h in t_vb_points.c and t_vp_build.cBrian Paul
For some reason makedepend doesn't seem to find the dependency on this header in these two files. Directly including the header is a work-around.
2008-09-21mesa: move fixed function vertex program builder from tnl to core mesaKeith Whitwell
Also unify caching of fragment and vertex programs in shader/prog_cache.c` Brought across from gallium-0.2
2008-09-18mesa: prefix a bunch of #include lines with "main/".Brian Paul
This is another step toward removing a whole bunch of -I flags from the cc commands. Still need to address driver code...
2008-08-28mesa: bump MAX_INSN to 350Brian Paul
2008-06-02[t_vp_build] Fix refcounting-related memory leakNicolai Haehnle
This memory leak is identical to the earlier one in texenvprogram. Fixed by not creating an additional reference to new programs in cache_item. On top of that, remove some duplicated state setting.
2008-05-16fix merge collisionBrian Paul
2008-05-16free(key) in _tnl_UpdateFixedFunctionProgram()Shunichi Fuji
2008-05-16Fix memory leak in _tnl_UpdateFixedFunctionProgramShunichi Fuji
2008-05-07fix refcounting bugs in tnl/tex program cachesBrian Paul
2008-05-06implement full reference counting for vertex/fragment programsBrian
Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test.
2008-01-02t_vp_build: fix temporary register allocation to minimise the allocationsHans de Goede
2007-10-23properly init dst reg's CondMask/Swizzle fieldsBrian
2007-10-15fix fog, rescale_normals bugs (from gallium branch)Brian
2007-08-31Fix problem introduced in previous commit in which a state variable ↵Brian
(uniform) is written to. (see bug 12239) Also, added some assertions to the emit_arg() and emit_dst() functions to catch this kind of error in the future.
2007-08-31i965: Calculate the positional light in homogeneous coordinates.Xiang, Haihao
fix bug#11009
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-05-22fog: fix potential issues with generated vp using fogRoland Scheidegger
Change the generated vertex programs (tnl/brw) to follow the same logic as the tnl fog wrt using absolute value, and sync them up a bit (untested).
2007-04-02Fix in t_vp_build: Missed necessary updates sometimesNicolai Haehnle
_mesa_update_state doesn't always reset VertexProgram._Current to NULL. This caused us to skip a necessary update of the fixed function vertex program sometimes. Change the logic such that we check for updates whenever the _Current program is either NULL or the program generated by t_vp_build.
2007-03-26merge of glsl-compiler-1 branchBrian
2007-03-22use _mesa_alloc_instructions()Brian
2007-03-21merge from masterBrian
2007-03-13sync up t_vp_build.c brw_vs_tnl.c a bitRoland Scheidegger
Bring over the optimizations for fog and normalized spot dir from t_vp_build.c to brw_vs_tnl.c. Likewise, port a fix for point size calc from brw_vs_tnl.c to t_vp_build.c (use ABS(eyez) instead of -eyez). Leave the now differing point size calcs alone though, not sure what's better (it's basically MOV, ABS, MUL, DP3 vs. ABS, MAD, MAD).
2007-03-11fix for bug#10196Xiang, Haihao
Compute half if LOCAL_VIEWER is enabled and the light is a directional source.
2007-02-23s/GLint/gl_state_index/, length is now 5 not 6Brian
2007-02-22Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.Brian
2007-02-22Merge branch 'origin' into glsl-compiler-1Brian
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-21more minor changes to STATE_ indexingBrian
2007-02-21adjustments to STATE_ token layout/format so token[1] is always the array indexBrian
2007-02-17Lots of changes to prog_print.c code.Brian
Mainly, allow printing programs in either ARB, NV or "debug" formats.
2007-02-14fix stupid bug in the optimized per-vertex fog generation codeRoland Scheidegger
2007-02-09optimize generated vertex programs a bitRoland Scheidegger
Use new internal state to avoid per-vertex normalization of static spot direction vector. Use internal state for simpler per-vertex fog computations (MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog). Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while there fix it up (RSQ instead of RCP). All untested...
2007-02-05Initial implementation of high-level flow-control instructions.Brian
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work. Disabled by default though until better tested. Implemented IR_NOT, but needs optimization.
2007-01-24remove some parenthesisBrian
2007-01-24use FRAG_BIT_TEX()Brian
2006-12-15updated includesBrian
2006-12-13Checkpoint work for new GLSL compiler back-end.Brian
Among changes: Remove ctx->FragmentProgram._Active Remove _UseTexEnvProgram Move _MaintainTnlProgram, _MaintainTexEnvProgram, _TexEnvProgram and _TnlProgram fields. Remove/disable old GLSL interpreter code.
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-08-10Fixup more PROGRAM_UNDEFINED problems.Alan Hourihane
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-06-18fix broken negateAapo Tahkola
2006-06-06prevent run_arb_vertex_program from running tnl programs unless ↵Aapo Tahkola
ctx->_MaintainTnlProgram is set
2006-05-23Add const qualifiers in a number of places.Brian Paul
2006-05-05Release temporaryKeith Whitwell
2006-04-25Put color index attribute into the 6th attribute slot.Brian Paul
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values instead of specific vertex attributes. Remove the EdgeFlagv function from the GLvertexformat struct.
2006-04-13silence minor warningsBrian Paul
2005-12-06C++ fixes, mostly casts (Stephane Conversy)Brian Paul
2005-12-05Add guard before calling ctx->Driver.BindProgramKeith Whitwell
2005-12-01Call ProgramStringNotify after creating tnl programs.Keith Whitwell