summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/program.c
Commit message (Collapse)AuthorAgeFilesLines
* C++ fixes, mostly casts (Stephane Conversy)Brian Paul2005-12-061-14/+14
|
* track state flags which might invalidate parameter listsKeith Whitwell2005-11-221-0/+77
|
* move _mesa_init_instruction() to program.cBrian Paul2005-11-201-0/+25
|
* Make Saturate a 2-bit field again, renamed to SaturateMode with threeBrian Paul2005-11-201-3/+3
| | | | possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
* No longer derive 'ati_fragment_shader' from 'program' class. Only theBrian Paul2005-11-191-34/+7
| | | | | 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.
* Improve _mesa_print_program().Brian Paul2005-11-121-31/+354
| | | | Added make_state_string() to produce a string from a GL state vector.
* Move stuff common to vertex/fragment_program into the base class, including:Brian Paul2005-11-121-77/+117
| | | | | | 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-081-0/+10
| | | | | | | | | | | | | | | | 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).
* minor work in _mesa_print_program()Brian Paul2005-11-081-1/+10
|
* consolidate vertex/fragment program printing into _mesa_print_program()Brian Paul2005-11-051-2/+121
|
* added _mesa_program_file_string()Brian Paul2005-11-051-0/+32
|
* added _mesa_num_inst_src_regs() and _mesa_opcode_string()Brian Paul2005-11-051-0/+110
|
* Unify vertex/fragment program instuctions.Brian Paul2005-11-051-2/+1
| | | | Based on patch by Ian (#4967) but also unify instruction opcodes.
* Replace parameter_type enum in program.[ch], use register_file enums instead.Brian Paul2005-11-051-6/+6
|
* added a const, clean-upBrian Paul2005-11-031-11/+15
|
* Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul2005-11-021-3/+3
|
* Re-org and clean-up of vertx/fragment program limits (instructions,Brian Paul2005-11-011-4/+4
| | | | | | | 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.
* use mesa import wrappers, bug 4468Brian Paul2005-09-161-1/+1
|
* add error checking to the GL_ATI_FRAGMENT_SHADER entrypoints. Fix bug with ↵Roland Scheidegger2005-09-021-2/+8
| | | | scope of ati fragment shader constants. Fix issues with specifying color/alpha instructions not pair-wise. Change internal representation of the shader (to better fit how the extension works, should make driver implementations simpler, and saves some memory). (still doesn't work correctly with doom3 and swrast, but not worse than before)
* Use ALIGN_MALLOC for parameter lists.Keith Whitwell2005-06-081-6/+13
|
* Fix some valgrind complaintsKeith Whitwell2005-05-101-0/+4
|
* Fix some valgrind complaintsKeith Whitwell2005-05-101-2/+0
|
* reduce the use of malloc and strdup for parameter listsKeith Whitwell2005-05-101-25/+32
|
* Reduce the size of mesa's internal fragment and vertex programKeith Whitwell2005-04-211-11/+37
| | | | | representations by switching to packed structures for registers and instructions.
* fix state.light[n].spot.direction.w value (bug 3083)Brian Paul2005-04-201-1/+2
|
* Updates for OpenVMS : New makefilesJouk Jansen2005-04-181-1/+1
| | | | | | | | | | | | | added some type-casts Modified Files: Mesa/src/mesa/shader/descrip.mms Mesa/src/mesa/shader/program.c Mesa/src/mesa/shader/slang/slang_compile.c Mesa/src/mesa/shader/slang/slang_preprocess.c Added Files: Mesa/src/mesa/shader/slang/descrip.mms ----------------------------------------------------------------------
* Fix alpha value of STATE_LIGHTMODEL_SCENECOLOR. From the spec:Keith Whitwell2005-04-151-3/+7
| | | | | | | The "w" component of the program parameter variable is filled with the alpha component of the front diffuse material color. Make sure matrix inverses are uptodate also.
* ProgramCallbackMesa must match the prototypeDaniel Borca2005-02-141-2/+2
|
* Update glDeletePrograms/Buffers() so that the ID is freed immediately, likeBrian Paul2005-01-201-10/+5
| | | | texture objects.
* prototype _mesa_init_ati_fragment_shader()Brian Paul2005-01-111-2/+3
|
* Implement software ATI_fragment_shaderDave Airlie2004-12-191-0/+38
| | | | no error detection, slow, may not be 100% correct but a good start
* Added PRINT instruction for GL_NV_fragment_program.Brian Paul2004-12-181-1/+7
|
* Experimental PRINT instruction for NV_vertex_program.Brian Paul2004-12-161-1/+8
| | | | | Basically, this lets you put a "PRINT 'mesage', register;" statement in a vertex program to aid in debugging.
* Fix some warningsAlan Hourihane2004-12-021-5/+1
|
* fix LoadProgramNV regression when I had fixed the RefCount bugBrian Paul2004-10-021-4/+4
|
* also fix possible delete bugs with buffer objects and vertex/fragment programsBrian Paul2004-09-141-50/+75
|
* Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul2004-08-251-0/+2
| | | | 1015696)
* fix some memory leaks (bug #1002030)Brian Paul2004-08-141-3/+30
|
* remove trailing whitespace and misc clean-upsBrian Paul2004-06-291-20/+16
|
* remove program from hash table when deleted (bug 979514)Brian Paul2004-06-251-8/+7
|
* remove redundant program field initializers in BindProgram(); ↵Brian Paul2004-06-201-4/+0
| | | | ctx->Driver.NewProgram() does the inits
* remove unneeded lineBrian Paul2004-05-041-1/+0
|
* Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragmentBrian Paul2004-04-231-4/+4
| | | | | | | program is enabled AND the currently bound program is valid. Check _Enable instead of Enable to prevent things from blowing up when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually defining a program.
* Moved from src/mesa/mainMichal Krol2004-03-291-0/+1271