summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
Commit message (Collapse)AuthorAgeFilesLines
* Add fragment shader execute entry.Michal Krol2006-02-151-8/+109
|
* Update OpenVMS compile supportJouk Jansen2006-02-131-3/+9
|
* More glsl code.Michal Krol2006-02-132-1763/+1952
|
* REVISION 3.Michal Krol2006-02-132-62/+50
| | | | Remove illegal operators for overloading.
* Cosmetic changes.Michal Krol2006-02-134-633/+301
|
* Delete most of the comments.Michal Krol2006-02-132-1150/+1923
| | | | | Minor tweaks with the functions. Add experimental print functions.
* Get it running for ARB_vertex_shader.Michal Krol2006-02-1327-1346/+2060
| | | | | | | | | | | Add experimental print functions to builtin library. Some functionality missing: - automatic arrays; - general constructors; - local variable initialization; - texture sampling and noise; - semantic error checking; - function prototypes.
* Rename current_program to CurrentProgram.Michal Krol2006-02-132-32/+140
| | | | Temporary vertex_shader execution code.
* Split slang_compile.c into several smaller files - it was just too big.Michal Krol2006-01-3016-1066/+1639
| | | | Minor fixes and cosmetic changes.
* remove some test code;Michal Krol2006-01-165-197/+158
| | | | | | rewrite the intermediate code executor to address 64-bit platforms and global memory; store built-in library code in a precompiled form only;
* remove slang_*_gc.h files;Michal Krol2006-01-1610-5265/+1321
| | | | | rename slang_*_gc_bin.h files to slang_*_gc.h ones; store built-in library code in a precompiled form only;
* C++ fixes, mostly casts (Stephane Conversy)Brian Paul2005-12-064-21/+21
|
* track state flags which might invalidate parameter listsKeith Whitwell2005-11-222-0/+80
|
* move _mesa_init_instruction() to program.cBrian Paul2005-11-202-23/+25
|
* Make Saturate a 2-bit field again, renamed to SaturateMode with threeBrian Paul2005-11-204-41/+53
| | | | possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
* remove incorrect castBrian Paul2005-11-191-1/+1
|
* Saturate is a 1-bit boolean fieldBrian Paul2005-11-191-1/+1
|
* No longer derive 'ati_fragment_shader' from 'program' class. Only theBrian Paul2005-11-194-79/+84
| | | | | 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.
* Remove the _mesa_parse_arb_vertex/fragment_program() functions intoBrian Paul2005-11-198-441/+263
| | | | | | | 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.
* update comments, remove ^M charsBrian Paul2005-11-191-12/+7
|
* move a bunch of gl2/shading language structs from mtypes.h to shaderobjects.hBrian Paul2005-11-191-0/+82
|
* Improve _mesa_print_program().Brian Paul2005-11-121-31/+354
| | | | Added make_state_string() to produce a string from a GL state vector.
* fix comment for TexSrcTargetBrian Paul2005-11-121-2/+1
|
* update some assertionsBrian Paul2005-11-122-2/+2
|
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-1210-150/+198
| | | | | | Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
* This patch adds the missing NV_vertex_program2 and NV_vertex_program3Ian Romanick2005-11-082-37/+29
| | | | | | | | | | | | | | | | 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).
* remove _mesa_debug_fp_inst()Brian Paul2005-11-081-6/+2
|
* minor work in _mesa_print_program()Brian Paul2005-11-081-1/+10
|
* remove unneeded #includesBrian Paul2005-11-081-8/+2
|
* remove unneeded #includesBrian Paul2005-11-072-17/+6
|
* consolidate vertex/fragment program printing into _mesa_print_program()Brian Paul2005-11-056-182/+131
|
* use _mesa_program_file_string() and _mesa_opcode_string()Brian Paul2005-11-052-135/+50
|
* added _mesa_program_file_string()Brian Paul2005-11-052-0/+34
|
* Use _mesa_opcode_string()Brian Paul2005-11-051-32/+9
|
* added _mesa_num_inst_src_regs() and _mesa_opcode_string()Brian Paul2005-11-052-0/+116
|
* Unify vertex/fragment program instuctions.Brian Paul2005-11-0516-631/+675
| | | | Based on patch by Ian (#4967) but also unify instruction opcodes.
* don't need MAKE_SWIZZLE() macroBrian Paul2005-11-052-7/+6
|
* Replace parameter_type enum in program.[ch], use register_file enums instead.Brian Paul2005-11-053-23/+14
|
* use VERT_RESULT_HPOS, VERT_BIT_POS tokensBrian Paul2005-11-041-5/+5
|
* Streamline code generation by using a fixed size instruction buffer inBrian Paul2005-11-034-79/+54
| | | | arb_program struct.
* use WRITEMASK_* tokensBrian Paul2005-11-032-12/+12
|
* added a const, clean-upBrian Paul2005-11-032-12/+16
|
* fix typo, minor clean-upsBrian Paul2005-11-031-5/+5
|
* Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul2005-11-024-10/+10
|
* Several fp and vp tweaks:Keith Whitwell2005-11-014-11/+8
| | | | | | | | | | | | | | | | | | | | | | - 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.
* Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul2005-11-013-168/+148
| | | | | | | 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.
* Simplify parse_attrib_binding().Brian Paul2005-10-301-98/+49
| | | | | | Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of hard-coded numbers. Note: previous check-in did similarly for output register parsing.
* Lots of clean-up in arb program parser.Brian Paul2005-10-305-231/+250
| | | | Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
* Use MAKE_SWIZZLE4() macro in a few more places.Brian Paul2005-10-291-119/+98
| | | | Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
* Free old parameter list before assigning new one. FIxes memory leak.Brian Paul2005-10-292-3/+13
|