summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_vp_build.c
AgeCommit message (Collapse)Author
2007-10-31remove dead program cache codeBrian
2007-10-31Use ffvertex_prog.c code instead of t_vp_build.c code.Brian
2007-10-29refactoring to begin removing dependency on tnl contextBrian
2007-10-29simplify getting of current frag progBrian
2007-10-29Refactor _tnl_UpdateFixedFunctionProgram().Brian
New _mesa_get_fixed_func_vertex_program() function...
2007-10-23properly init dst reg's CondMask/Swizzle fieldsBrian
2007-10-17When in GL_FEEDBACK mode, make sure we emit color and texcoord registers.Brian
2007-10-15fix incorrect register in get_eye_normal() for rescale_normals caseBrian
2007-10-15Fix useabs logic in build_fog().Brian
We always need to compute the absolute value of the fogcoord if we're passing it through for per-fragment fog.
2007-10-15remove feedback hackBrian
2007-10-15Undo prev changes.Brian
2007-10-09Use linked fragment shader inputs (if present) to determine which outputs ↵Brian
are needed.
2007-08-30Sketch out per-vertex point size.Brian
The code is all in place, but mostly disabled for now: In t_vp_build.c, write the VERT_RESULT_PSIZE register In sp_state_derived.c, need to emit vertex point size if drawing points. In setup_point() use the point size from the vertex.
2007-08-17added null VB->AttribPtr[i] checkBrian
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
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-18Fix typo causing secondary color not to work properly.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().