aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/nvvertparse.c
Commit message (Collapse)AuthorAgeFilesLines
* s/GLuint/GLbitfield/Brian Paul2006-10-101-2/+2
|
* If program is position invariant, set VERT_BIT_POS in InputsRead field.Brian Paul2006-10-101-2/+4
| | | | Fixes broken "OPTION NV_position_invariant".
* s/0/VERT_RESULT_HPOS/Brian Paul2006-08-301-1/+1
|
* use _mesa_alloc_instructions()Brian Paul2006-08-251-2/+1
|
* Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul2006-07-201-2/+2
| | | | "gl_" to match other structs.
* Define new NEGATE_* tokens for setting the src register's NegateBase field.Brian Paul2006-05-301-5/+5
| | | | | Before, we were using GL_TRUE/GL_FALSE in a few places. Note: only the SWZ instruction can negate individual components.
* SrcReg->Swizzle is always initialized to SWIZZLE_NOOP, and if the programDave Airlie2006-04-191-0/+3
| | | | | | | | | specifies a 2/3/4-compontent swizzle suffix, SrcReg->Swizzles is just ORed against the new component values, without resetting it first. Attached patch makes tests/vptest2 pass. From Tilam Sauerbeck bug 6673
* Make ARB_vp backends happy with nv arlAapo Tahkola2006-03-241-0/+5
|
* Set NumInstructions (bug 5864)Brian Paul2006-02-151-0/+1
|
* C++ fixes, mostly casts (Stephane Conversy)Brian Paul2005-12-061-1/+1
|
* move _mesa_init_instruction() to program.cBrian Paul2005-11-201-23/+0
|
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-121-12/+12
| | | | | | Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
* Use _mesa_opcode_string()Brian Paul2005-11-051-32/+9
|
* Unify vertex/fragment program instuctions.Brian Paul2005-11-051-91/+100
| | | | Based on patch by Ian (#4967) but also unify instruction opcodes.
* use WRITEMASK_* tokensBrian Paul2005-11-031-6/+6
|
* Several fp and vp tweaks:Keith Whitwell2005-11-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | - 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.
* Lots of clean-up in arb program parser.Brian Paul2005-10-301-5/+20
| | | | Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
* Make the vertex program source register Index field a signed int sinceBrian Paul2005-07-221-4/+4
| | | | | | | relative addressing can be negative. Change some GLuint indexes to GLint in the t_vp_build.c file. Added PROGRAM_UNDEFINED token for initializing the register File field to avoid a gcc 4.0 warning.
* Port Mesa to build on a P64 platform (e.g., Win64). P64 platformsKarl Schultz2005-05-051-1/+1
| | | | | | | | use 64-bit pointers and 32-bit longs. So, operations like casting pointers to unsigned long and back to pointer won't work. glheader.h now includes files to define uintptr_t, which should instead be used for this sort of operation. It is an integer type that is the same size as a pointer.
* Reduce the size of mesa's internal fragment and vertex programKeith Whitwell2005-04-211-63/+58
| | | | | representations by switching to packed structures for registers and instructions.
* Added PRINT instruction for GL_NV_fragment_program.Brian Paul2004-12-181-1/+1
|
* Experimental PRINT instruction for NV_vertex_program.Brian Paul2004-12-161-2/+112
| | | | | Basically, this lets you put a "PRINT 'mesage', register;" statement in a vertex program to aid in debugging.
* Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul2004-08-251-0/+1
| | | | 1015696)
* disable some debug codeBrian Paul2004-06-291-2/+2
|
* Fix up some assorted issues with initialization of vertex program registers.Brian Paul2004-04-211-0/+1
| | | | | Some need to be set per-vertex, other per-primitive. Cleared that up. Only need to init temp/result registers if executing an NV vertex program.
* Moved from src/mesa/mainMichal Krol2004-03-291-0/+1496