summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* s/lenght/length/Brian Paul2005-10-291-2/+2
|
* fix a few bugs in SWZ executionBrian Paul2005-10-291-5/+5
|
* If parsing a program fails, don't change the vertex/fragment program object.Brian Paul2005-10-294-54/+52
| | | | | | 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.
* add newline at end of fileBrian Paul2005-10-283-3/+3
|
* fix broken SWZ instructionBrian Paul2005-10-211-8/+9
|
* Committing in .Jouk Jansen2005-09-233-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 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 ----------------------------------------------------------------------
* additional wrapper updates, bug 4468Brian Paul2005-09-194-20/+37
|
* remove unused ctx varBrian Paul2005-09-161-1/+0
|
* use mesa import wrappers, bug 4468Brian Paul2005-09-165-7/+7
|
* remove unnecessary Swizzle parameter from struct (forgotten when the code ↵Roland Scheidegger2005-09-121-1/+0
| | | | was refactored)
* be consistent in populating NegateBase fieldKeith Whitwell2005-09-083-30/+28
|
* fix incorrect swizzling handling. fix code so it can potentially handle ↵Roland Scheidegger2005-09-081-13/+18
| | | | implementations with less than 6 texture units correctly.
* add a bunch of FLUSH_VERTICES to some of the ATI_fs functions, most notably ↵Roland Scheidegger2005-09-081-0/+4
| | | | when changing the global ati fragment shader constants.
* fix var declaration so that a C compiler can build it.Karl Schultz2005-09-051-1/+2
|
* replace -1 with PROGRAM_UNDEFINED when initializing instructionsBrian Paul2005-09-021-6/+5
|
* add error checking to the GL_ATI_FRAGMENT_SHADER entrypoints. Fix bug with ↵Roland Scheidegger2005-09-023-63/+357
| | | | 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)
* fix static assertion problem for gcc (bug 4022)Brian Paul2005-08-101-1/+4
|
* disable the pointer size assertions (bug 4021)Brian Paul2005-08-101-2/+5
|
* fix indentationBrian Paul2005-08-101-14/+14
|
* Fix SPARC assembly for 64-bitIan Romanick2005-07-281-12/+12
| | | | | | | | | | | | | | - The test for whether or not we're building for 64-bit is '#ifdef __arch64__'. This appears to be correct on both Linux and Solaris. - The test for Solaris is now '#if defined(SVR4) || defined(__SVR4) || defined(__svr4__)'. GCC 3.4.0 has all three defined on Solaris 9. - Enables assembly language clip routines. - Fixes to make GLSL code build on Solaris. - Update gl_SPARC_asm.py.
* Make the vertex program source register Index field a signed int sinceBrian Paul2005-07-222-10/+10
| | | | | | | 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.
* Wrap every place that accesses a dispatch table with a macro. A new script-Ian Romanick2005-07-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generated file, called src/mesa/glapi/dispatch.h, is added. This file contains three macros for each API function. It contains a GET, a SET, and a CALL. Each of the macros take a pointer to the context and a pointer to the dispatch table. In several threads on mesa3d-dev we discussed replacing _glapi_add_entrypoint with a new function called _glapi_add_dispatch. For this discussion, the important difference between the two is that the caller of _glapi_add_dispatch does *not* know what the dispatch offset will be at compile time. Because of this callers need to track the dispatch offset returned by _glapi_add_dispatch. http://marc.theaimsgroup.com/?t=111947074700001&r=1&w=2 The downside is that driver code then has to access the dispatch table two different ways. It accesses it using structure tags (e.g., exec->Begin) for functions with fixed offsets and via a remap table (e.g., exec[ remap->NewExtensionFunction ]) for functions without fixed offsets. Yuck! Using the macros allows both types of functions to be accessed identically. If a driver needs to set a pointer for Begin, it does 'SET_Begin(ctx, exec, my_begin_function)'. If it needs to set a pointer for NewExtensionFunction, it does 'SET_NewExtensionFunction(ctx, exec, my_NewExtensionFunction_function)'. Furthermore, if at some point in the future a static offset is assigned for NewExtensionFunction, only the macros need to change (instead of every single place that accesses a table for that function). This code differs slightly from the originally posted patches in that the CALL, GET, and SET marcos no longer take a context pointer as a parameter. Brian Paul had suggested that the remap table could be stored as a global since it would be set at CreateScreen time and would be constant for all contexts. This change reflects that feedback. http://marc.theaimsgroup.com/?t=112087194700001&r=1&w=2
* Set fp->Opcode for OP_TEX_KILL case, fix from Ben Skeggs.Keith Whitwell2005-07-011-0/+1
|
* comment-out some unused code to silence warningsBrian Paul2005-07-012-2/+3
|
* fix typo in assertionsBrian Paul2005-07-011-2/+2
|
* added newline at end of fileBrian Paul2005-06-302-2/+2
|
* Add a set of predicate functions for testing matrices instead of directlyBrian Paul2005-06-301-3/+3
| | | | | | testing the flags field. Move definition of all the MAT_FLAGs into the m_matrix.c file since they're now private.
* Use ALIGN_MALLOC for parameter lists.Keith Whitwell2005-06-081-6/+13
|
* Add a VP_MAX_OPCODE entry to allow engines with internal opcodes toKeith Whitwell2005-06-071-1/+3
| | | | place them sensibly.
* Committing in .Jouk Jansen2005-06-011-0/+41
| | | | | | | | OpenVMS makefile added Added Files: Mesa/src/mesa/shader/grammar/descrip.mms ----------------------------------------------------------------------
* Committing in .Jouk Jansen2005-06-015-382/+382
| | | | | | | | | | | | Update OpneVMS compilesupport Modified Files: Mesa/src/mesa/shader/descrip.mms Mesa/src/mesa/shader/slang/descrip.mms Mesa/src/mesa/shader/slang/slang_compile.c Mesa/src/mesa/shader/slang/slang_storage.c Mesa/src/mesa/shader/slang/slang_storage.h ----------------------------------------------------------------------
* change local var names from "asm" to "assem" - I guess it causedMichal Krol2005-05-251-22/+22
| | | | gcc 3.3.5 to break, but not tested it
* a small utility to convert .syn files to its binary forms;Michal Krol2005-05-251-0/+79
| | | | does not require any command line params;
* silencium gcc warningsMichal Krol2005-05-251-0/+2
|
* more slang codeMichal Krol2005-05-256-255/+312
|
* ncrease stack sizeMichal Krol2005-05-252-1/+2
|
* moved from mesa/shader to mesa/shader/grammarMichal Krol2005-05-256-0/+0
|
* remove the GLSL spec wording;Michal Krol2005-05-253-3020/+2267
| | | | | | | reorder some elementary operators; disable assignment "=" and equality "==" "!=" operators - they are handled internally by the assembly generator; fix minor typos
* stand-alone vertsions of grammar_mesa - used by utilities;Michal Krol2005-05-252-0/+84
| | | | DO NOT BUILD UNDER MESA
* change the behaviour of enter and local_addr instructionsMichal Krol2005-05-251-5/+5
|
* moved to windows build dirKarl Schultz2005-05-241-493/+0
|