summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl
Commit message (Collapse)AuthorAgeFilesLines
* minor fog calc cleanupRoland Scheidegger2007-10-031-12/+8
|
* fix VBO-split infinite loop (bug 12164)Brian2007-09-291-4/+3
|
* revert a956184f70733bd22e2bbee515386da12302963fMatthieu Castet2007-09-161-1/+1
|
* Disable an assert for hw that do not emit POS as first vertex attrib, like nv1xPatrice Mandin2007-09-061-1/+1
|
* Fix problem introduced in previous commit in which a state variable ↵Brian2007-08-311-8/+23
| | | | | | | (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.
* i965: Calculate the positional light in homogeneous coordinates.Xiang, Haihao2007-08-311-0/+5
| | | | fix bug#11009
* Remove ctx->Point._Size and ctx->Line._Width.Brian2007-07-211-1/+1
| | | | | | The clamping for these values depends on whether we're drawing AA or non-AA points, lines. Defer clamping until drawing time. Drivers could compute and keep clamped AA and clamped non-AA values if desired.
* Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-046-24/+24
| | | | of -I flags.
* remove obsolete t_save_api.cBrian2007-06-281-1834/+0
|
* Fix point attentuation problem (bug 11042)Brian2007-05-231-4/+6
| | | | | ctx->Point._Attentuation was computed in wrong place and the VB->Eye coord Z array wasn't indexed correctly in run_point_stage().
* fog: fix potential issues with generated vp using fogRoland Scheidegger2007-05-221-8/+15
| | | | | 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).
* fog: fix issues with negative fog coords (may fix #10529)Roland Scheidegger2007-05-221-7/+22
| | | | | | | Rework tnl fog a bit. Make sure we always use ABS(eyez) when fog coord source is depth, OTOH it does not seem to be necessary to use it (as was done before in some cases) if fog coord source is fogcoord (just to save some work). This fixes tests/fog (the first 2 cases) with i915/i915tex.
* changes to get DDX/DDY working againBrian2007-05-021-0/+2
|
* Document a deficiency in the _swrast_Translate() function with regard to ↵Brian2007-05-021-1/+9
| | | | point size.
* Enable texture sampling for vertex programs/shaders.Brian2007-04-171-11/+47
| | | | | | | This is a bit of a hack for now because the tnl module is using the swrast module to fetch texels. The texture fetch/filter code should probably be moved into the main/ module since it doesn't really depend upon other swrast code.
* In bind_inputs() set VB->EdgeFlag to NULL if it's not needed.Brian2007-04-171-1/+4
| | | | | | Otherwise, the clip/interp code was finding VB->EdgeFlag to be non-null and reading/writing it when the memory may have been freed earlier in free_space(). This fixes several VTK segfaults/failures reported by Brad King @ Kitware.
* cleanups for t_vb_program.cRoland Scheidegger2007-04-171-13/+19
| | | | | | use VertexProgram._Current instead of VertexProgram.Current in a few more places. Only fixup fogc and psiz in case this is really a nv program (others are fine if undefined), and fix this case up so the values actually get written.
* removed unused t_vb_arbprogram stageBrian2007-04-163-3153/+0
|
* unhook t_vb_arbprogram.c code - it's going awayBrian2007-04-163-14/+19
|
* Use generic program limits instead of NV-specific ones to init program ↵Brian2007-04-161-1/+4
| | | | | | | | | constants. Previously, this limited us to 12 temp regs for vertex programs. Many vertex shaders could exceed that. This forces us to stop using t_vb_arbprogram.c for now because of its particular register indexing scheme. Need to increase bits allocated for register indexing, etc.
* Fix in t_vp_build: Missed necessary updates sometimesNicolai Haehnle2007-04-021-1/+2
| | | | | | | | | _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.
* Get rid of BRK0, BRK1, CONT0, CONT1 instructions.Brian2007-03-281-4/+0
|
* fix a fragment fog regressionBrian2007-03-271-1/+1
|
* init machine->StackDepth=0Brian2007-03-271-0/+3
|
* more parenthesisBrian2007-03-271-1/+1
|
* recommit e731d8aafa98bbf9d30f83e65f28b7718be55834.Roland Scheidegger2007-03-271-1/+1
| | | | | | This got lost with glsl-compiler-1 merge, it fixes segfaults when using ATI_fragment_shader, which uses the ProgramStringNotify mechanism but doesn't have a valid program pointer.
* add parenthesis around a bit-wise AND term in _tnl_InvalidateState()Brian2007-03-271-1/+1
|
* Restore the UseTexEnvProgram logic.Brian2007-03-271-1/+1
| | | | | Was removed during glsl-compiler work. Still need to go back and revisit this because of the interaction with fragment shaders...
* merge of glsl-compiler-1 branchBrian2007-03-2619-501/+2237
|\
| * When computing render_inputs_bitset, omit primary color if we have a ↵Brian2007-03-241-10/+11
| | | | | | | | fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings.
| * Add the ability to generate programs that doesn't use condition codes.Brian2007-03-231-0/+4
| | | | | | | | | | | | | | ctx->Shader.EmitCondCodes determines if we use condition codes. If not, IF statement uses first operand's X component as the condition. Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle the common cases of conditional break/continue.
| * merge from masterBrian2007-03-211-7/+16
| |\
| * | Properly compute render_inputs_bitset when using a vertex program/shader.Brian2007-03-191-7/+13
| | | | | | | | | | | | This fixes a performance regression introduced early in glsl-compiler-1 work.
| * | remove 'maxInst' parameter from _mesa_execute_program()Brian2007-02-251-2/+1
| | |
| * | remove unused 'element' parameter from _mesa_execute_program()Brian2007-02-251-1/+1
| | |
| * | s/attribs/results/Brian2007-02-251-17/+17
| | |
| * | remove unused VaryingPtrBrian2007-02-251-1/+0
| | |
| * | Optimize the loop for copying output results.Brian2007-02-251-5/+12
| | |
| * | only copy used outputsBrian2007-02-251-3/+4
| | |
| * | Use prog_execute.c to run vertex programs until t_vb_arbprogram.c is updated toBrian2007-02-242-12/+6
| | | | | | | | | | | | handle branch instructions, etc.
| * | expose _mesa_load_tracked_matrices()Brian2007-02-232-6/+11
| | |
| * | s/GLint/gl_state_index/, length is now 5 not 6Brian2007-02-231-32/+29
| | |
| * | use new _mesa_execute_program() functionBrian2007-02-221-26/+153
| | |
| * | FORCE_PROG_EXECUTE_C cpp flag, misc changesBrian2007-02-221-4/+17
| | |
| * | Undo some STATE_POINT/FOG changes. Max length of state token array is now 5.Brian2007-02-221-2/+2
| | |
| * | Merge branch 'origin' into glsl-compiler-1Brian2007-02-2223-5218/+556
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | more minor changes to STATE_ indexingBrian2007-02-211-3/+3
| | | |
| * | | adjustments to STATE_ token layout/format so token[1] is always the array indexBrian2007-02-211-15/+15
| | | |
| * | | Lots of changes to prog_print.c code.Brian2007-02-171-1/+1
| | | | | | | | | | | | | | | | Mainly, allow printing programs in either ARB, NV or "debug" formats.
| * | | Initial implementation of high-level flow-control instructions.Brian2007-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.