summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * | | Initial support of loop and subroutine instructions.Brian2007-02-051-0/+6
| | | | | | | | | | | | | | | | | | | | New high-level flow-control instructions, both at IR level and GPU instructions for looping and subroutines.
| * | | noise functionsBrian2007-01-281-0/+4
| | | |
| * | | remove some parenthesisBrian2007-01-241-1/+1
| | | |
| * | | use FRAG_BIT_TEX()Brian2007-01-241-1/+1
| | | |
| * | | Initial implementation of OPCODE_IF/ELSE/ENDIF instructions.Brian2007-01-201-1/+4
| | | |
| * | | Added OPCODE_INT to convert 4 floats to 4 ints.Brian2007-01-171-0/+17
| | | |
| * | | Update _save_VertexAttrib() functions for non-aliasing behaviour.Brian2007-01-101-36/+93
| | | |
| * | | add code for generic attributes 16..31Brian2007-01-091-1/+37
| | | |
| * | | handle PROGRAM_UNIFORM, fix a _mesa_problem() callBrian2006-12-201-1/+2
| | | |
| * | | cases for NOP, BRABrian2006-12-161-0/+7
| | | |
| * | | added assertion to catch use of too many temporariesBrian2006-12-151-0/+1
| | | |
| * | | varying changesBrian2006-12-152-2/+2
| | | |