summaryrefslogtreecommitdiff
path: root/src/mesa/shader/program.c
AgeCommit message (Collapse)Author
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-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-12Improve _mesa_print_program().Brian Paul
Added make_state_string() to produce a string from a GL state vector.
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-08minor work in _mesa_print_program()Brian Paul
2005-11-05consolidate vertex/fragment program printing into _mesa_print_program()Brian Paul
2005-11-05added _mesa_program_file_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-05Replace parameter_type enum in program.[ch], use register_file enums instead.Brian Paul
2005-11-03added a const, clean-upBrian Paul
2005-11-02Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul
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-09-16use mesa import wrappers, bug 4468Brian Paul
2005-09-02add error checking to the GL_ATI_FRAGMENT_SHADER entrypoints. Fix bug with ↵Roland Scheidegger
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)
2005-06-08Use ALIGN_MALLOC for parameter lists.Keith Whitwell
2005-05-10Fix some valgrind complaintsKeith Whitwell
2005-05-10Fix some valgrind complaintsKeith Whitwell
2005-05-10reduce the use of malloc and strdup for parameter listsKeith Whitwell
2005-04-21Reduce the size of mesa's internal fragment and vertex programKeith Whitwell
representations by switching to packed structures for registers and instructions.
2005-04-20fix state.light[n].spot.direction.w value (bug 3083)Brian Paul
2005-04-18 Updates for OpenVMS : New makefilesJouk Jansen
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 ----------------------------------------------------------------------
2005-04-15Fix alpha value of STATE_LIGHTMODEL_SCENECOLOR. From the spec:Keith Whitwell
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.
2005-02-14ProgramCallbackMesa must match the prototypeDaniel Borca
2005-01-20Update glDeletePrograms/Buffers() so that the ID is freed immediately, likeBrian Paul
texture objects.
2005-01-11prototype _mesa_init_ati_fragment_shader()Brian Paul
2004-12-19Implement software ATI_fragment_shaderDave Airlie
no error detection, slow, may not be 100% correct but a good start
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-12-02Fix some warningsAlan Hourihane
2004-10-02fix LoadProgramNV regression when I had fixed the RefCount bugBrian Paul
2004-09-14also fix possible delete bugs with buffer objects and vertex/fragment programsBrian Paul
2004-08-25Silence gcc 3.4 warnings on ReactOS. Mostly unused var warnings. (patch ↵Brian Paul
1015696)
2004-08-14fix some memory leaks (bug #1002030)Brian Paul
2004-06-29remove trailing whitespace and misc clean-upsBrian Paul
2004-06-25remove program from hash table when deleted (bug 979514)Brian Paul
2004-06-20remove redundant program field initializers in BindProgram(); ↵Brian Paul
ctx->Driver.NewProgram() does the inits
2004-05-04remove unneeded lineBrian Paul
2004-04-23Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragmentBrian Paul
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.
2004-03-29Moved from src/mesa/mainMichal Krol