Age | Commit message (Collapse) | Author |
|
Added make_state_string() to produce a string from a GL state vector.
|
|
|
|
|
|
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Based on patch by Ian (#4967) but also unify instruction opcodes.
|
|
|
|
|
|
|
|
arb_program struct.
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
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.
|
|
Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of
hard-coded numbers.
Note: previous check-in did similarly for output register parsing.
|
|
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.
|
|
Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
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
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
was refactored)
|
|
|
|
implementations with less than 6 texture units correctly.
|
|
when changing the global ati fragment shader constants.
|
|
|
|
|
|
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)
|
|
|
|
|
|
|
|
- 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.
|
|
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.
|