summaryrefslogtreecommitdiff
path: root/src/mesa/shader
AgeCommit message (Collapse)Author
2005-12-06C++ fixes, mostly casts (Stephane Conversy)Brian Paul
2005-11-22track state flags which might invalidate parameter listsKeith Whitwell
2005-11-20move _mesa_init_instruction() to program.cBrian Paul
2005-11-20Make Saturate a 2-bit field again, renamed to SaturateMode with threeBrian Paul
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
2005-11-19remove incorrect castBrian Paul
2005-11-19Saturate is a 1-bit boolean fieldBrian Paul
2005-11-19No longer derive 'ati_fragment_shader' from 'program' class. Only theBrian Paul
program->Id and program->RefCount fields were used and ATI fragment shaders didn't have too much in common with ARB/NV vertex/fragment programs anyway.
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-19update comments, remove ^M charsBrian Paul
2005-11-19move a bunch of gl2/shading language structs from mtypes.h to shaderobjects.hBrian Paul
2005-11-12Improve _mesa_print_program().Brian Paul
Added make_state_string() to produce a string from a GL state vector.
2005-11-12fix comment for TexSrcTargetBrian Paul
2005-11-12update some assertionsBrian 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-08This patch adds the missing NV_vertex_program2 and NV_vertex_program3Ian Romanick
instructions to the various internal tables. It does not add support for them to the parser nor does it add support for them to the program interpreter. It also corrects some errors in the comments in program_instruction.h. This patch breaks the instruction union in t_vb_arbprogram.h. The opcode field in that union was only 6 bits. When there were only 59+3 instructions that worked fine. However, this patch increases the base instruction count to 69. This requires 7 bits. The problem is that increasing the opcode width to 7 bits increases the size of instruction::rsw to 33 bits. I've increased the size of the union to 64-bit, but this is just a temporary hack (and probably breaks the build on some systems).
2005-11-08remove _mesa_debug_fp_inst()Brian Paul
2005-11-08minor work in _mesa_print_program()Brian Paul
2005-11-08remove unneeded #includesBrian Paul
2005-11-07remove unneeded #includesBrian Paul
2005-11-05consolidate vertex/fragment program printing into _mesa_print_program()Brian Paul
2005-11-05use _mesa_program_file_string() and _mesa_opcode_string()Brian Paul
2005-11-05added _mesa_program_file_string()Brian Paul
2005-11-05Use _mesa_opcode_string()Brian Paul
2005-11-05added _mesa_num_inst_src_regs() and _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-05don't need MAKE_SWIZZLE() macroBrian Paul
2005-11-05Replace parameter_type enum in program.[ch], use register_file enums instead.Brian Paul
2005-11-04use VERT_RESULT_HPOS, VERT_BIT_POS tokensBrian Paul
2005-11-03Streamline code generation by using a fixed size instruction buffer inBrian Paul
arb_program struct.
2005-11-03use WRITEMASK_* tokensBrian Paul
2005-11-03added a const, clean-upBrian Paul
2005-11-03fix typo, minor clean-upsBrian Paul
2005-11-02Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian 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-11-01Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul
temporaries, parameters, etc). glGetProgramivARB() now returns all the right things. Updated i915 and r300 code to initialize program native limits and current program's native instruction/temporary/etc counts.
2005-10-30Simplify parse_attrib_binding().Brian Paul
Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of hard-coded numbers. Note: previous check-in did similarly for output register parsing.
2005-10-30Lots of clean-up in arb program parser.Brian Paul
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
2005-10-29Use MAKE_SWIZZLE4() macro in a few more places.Brian Paul
Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
2005-10-29Free old parameter list before assigning new one. FIxes memory leak.Brian Paul
2005-10-29s/lenght/length/Brian Paul
2005-10-29fix a few bugs in SWZ executionBrian Paul
2005-10-29If parsing a program fails, don't change the vertex/fragment program object.Brian Paul
Specifically, don't attach a dummy program. This change also fixes an occasional segfault. Some code clean-ups. Use GLboolean instead of GLuint to return pass/fail.
2005-10-28add newline at end of fileBrian Paul
2005-10-21fix broken SWZ instructionBrian Paul
2005-09-23 Committing in .Jouk Jansen
1) change compilation on VMS to use IEEE floating points 2) one more problem with _mesa_sprintf solved Modified Files: Mesa/docs/README.VMS Mesa/progs/demos/descrip.mms Mesa/progs/tests/descrip.mms Mesa/progs/util/descrip.mms Mesa/progs/xdemos/descrip.mms Mesa/src/glu/mesa/descrip.mms Mesa/src/glu/sgi/descrip.mms Mesa/src/glut/glx/descrip.mms Mesa/src/mesa/array_cache/descrip.mms Mesa/src/mesa/drivers/common/descrip.mms Mesa/src/mesa/drivers/osmesa/descrip.mms Mesa/src/mesa/drivers/x11/descrip.mms Mesa/src/mesa/glapi/descrip.mms Mesa/src/mesa/main/descrip.mms Mesa/src/mesa/main/texobj.c Mesa/src/mesa/math/descrip.mms Mesa/src/mesa/shader/descrip.mms Mesa/src/mesa/shader/grammar/descrip.mms Mesa/src/mesa/shader/slang/descrip.mms Mesa/src/mesa/swrast/descrip.mms Mesa/src/mesa/swrast_setup/descrip.mms Mesa/src/mesa/tnl/descrip.mms ----------------------------------------------------------------------
2005-09-19additional wrapper updates, bug 4468Brian Paul
2005-09-16remove unused ctx varBrian Paul
2005-09-16use mesa import wrappers, bug 4468Brian Paul
2005-09-12remove unnecessary Swizzle parameter from struct (forgotten when the code ↵Roland Scheidegger
was refactored)
2005-09-08be consistent in populating NegateBase fieldKeith Whitwell