summaryrefslogtreecommitdiff
path: root/src/mesa/shader/nvvertparse.c
AgeCommit message (Collapse)Author
2009-09-25mesa: move declaration before codeVinson Lee
2009-09-24i965: Emit zero initialization for NV VP temporaries as required.Eric Anholt
This is similar to what r300 does inside the driver, but I've added it as a generic option since it seems most hardware will want it. Fixes piglit nv-init-zero-reg.vpfp and nv-init-zero-addr.vpfp.
2009-09-24mesa: Initialize NV_vertex_program fields for the parameter lists and such.Eric Anholt
This helps let drivers treat NV_vp like ARB_vp.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-04-14mesa: remove NV vertex/fragment program print/debug codeBrian Paul
The code in prog_print.c can be used instead.
2009-03-07mesa: remove GL_MESA_program_debug extensionBrian Paul
This was never fully fleshed out and hasn't been used.
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...
2007-03-22use _mesa_copy_instructions()Brian
2007-03-21merge from masterBrian
2007-03-15added SWIZZLE_XXXX, YYYY, etc. macrosBrian
2006-12-14remove unneeded includesBrian
2006-12-14Updated includes.Brian
2006-10-29Change _mesa_init_instruction() to initialize an array of instructions.Brian Paul
2006-10-10s/GLuint/GLbitfield/Brian Paul
2006-10-10If program is position invariant, set VERT_BIT_POS in InputsRead field.Brian Paul
Fixes broken "OPTION NV_position_invariant".
2006-08-30s/0/VERT_RESULT_HPOS/Brian Paul
2006-08-25use _mesa_alloc_instructions()Brian Paul
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2006-05-30Define new NEGATE_* tokens for setting the src register's NegateBase field.Brian Paul
Before, we were using GL_TRUE/GL_FALSE in a few places. Note: only the SWZ instruction can negate individual components.
2006-04-19SrcReg->Swizzle is always initialized to SWIZZLE_NOOP, and if the programDave Airlie
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
2006-03-24Make ARB_vp backends happy with nv arlAapo Tahkola
2006-02-15Set NumInstructions (bug 5864)Brian Paul
2005-12-06C++ fixes, mostly casts (Stephane Conversy)Brian Paul
2005-11-20move _mesa_init_instruction() to program.cBrian Paul
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().
2005-11-05Use _mesa_opcode_string()Brian Paul
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-03use WRITEMASK_* tokensBrian Paul
2005-11-01Several fp and vp tweaks:Keith Whitwell
- 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.
2005-10-30Lots of clean-up in arb program parser.Brian Paul
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
2005-07-22Make the vertex program source register Index field a signed int sinceBrian Paul
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.
2005-05-05Port Mesa to build on a P64 platform (e.g., Win64). P64 platformsKarl Schultz
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.
2005-04-21Reduce the size of mesa's internal fragment and vertex programKeith Whitwell
representations by switching to packed structures for registers and instructions.
2004-12-18Added PRINT instruction for GL_NV_fragment_program.Brian Paul
2004-12-16Experimental PRINT instruction for NV_vertex_program.Brian Paul
Basically, this lets you put a "PRINT 'mesage', register;" statement in a vertex program to aid in debugging.
2004-08-25Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul
1015696)
2004-06-29disable some debug codeBrian Paul
2004-04-21Fix up some assorted issues with initialization of vertex program registers.Brian Paul
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.
2004-03-29Moved from src/mesa/mainMichal Krol