Age | Commit message (Collapse) | Author |
|
context destroy. Fixes memory leak.
|
|
to free the key when entry was already found (presumably a common case).
|
|
|
|
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.
|
|
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
|
|
GL_NV_vertex_program programs can't directly reference GL state so this
pointer is always NULL.
|
|
|
|
|
|
|
|
opcodes. When enabled via environment vars, gears runs and almost
looks right but other apps are still quite buggy.
|
|
|
|
|
|
testing the flags field.
Move definition of all the MAT_FLAGs into the m_matrix.c file since they're
now private.
|
|
|
|
|
|
|
|
|
|
|
|
using GCC or VMS.
|
|
OpenVMS updates
Modified Files:
Mesa/src/mesa/tnl/descrip.mms Mesa/src/mesa/tnl/t_vp_build.c
----------------------------------------------------------------------
|
|
|
|
|
|
|
|
DISSASEM changes.
|
|
Fix lighting alpha result.
|
|
Remove dead floating point twiddles.
Fix bug translating MAD->MUL,ADD.
|
|
|
|
|
|
it's a very poor approximation.
|
|
|
|
vertex_program struct.
Allow switching between regular and vertex_program implementations
of fixed function TNL with the MESA_TNL_PROG environment var
(previously this required recompilation).
Ensure program compilation only references program data, not the
wider context. This means that compiled programs only need to be
invalidated when the program string changes, not on other state
changes.
|
|
distilled from the current state.
Maintain a list of vertex programs for various different tnl states
indexed by these state keys.
This cuts down the number of vertex programs generated and means that
time spent optimizing vertex programs for execution isn't wasted each
time the state changes.
|
|
|
|
and only active when _TNL_FIXED_FUNCTION_PROGRAM is defined *and*
the MESA_EXPERIMENTAL environment variable is set...
Works for the arbfplight demo at least.
|
|
|
|
Revert SEL opcode to MSK.
Split out t_vb_arbprogram.h header file.
|
|
|
|
|
|
|
|
- Expand operand argument specifiers so that all registers and
parameters can be referenced directly. Remove old PAR/PRL
instructions.
- No 3 operand instructions, translate MAD -> MUL, ADD. (No room for
3 full operands in instruction struct).
- Translate SWZ instructions into 1 or 2 reduced swizzles at compile
time.
- Add hardwired code for moving input and output values to/from the
register file. Drop old INx, OUT instructions.
|
|
|
|
Update openVMS compile support
Modified Files:
Mesa/progs/demos/descrip.mms
Mesa/src/mesa/shader/slang/descrip.mms
Mesa/src/mesa/tnl/descrip.mms
----------------------------------------------------------------------
|
|
the vertex.
Use existing facilities to check for sse2 and enable when available.
Turn on SSE/SSE2 codegen for t_vertex.c by default when USE_SSE_ASM is
defined. Disable with "MESA_NO_CODEGEN=t".
|
|
Fix a few typos.
Note that sse_movss sets high dwords to zero when reading from memory.
Fix a few related bugs.
|
|
|
|
x86,sse,sse2,mmx). Add paths for sse+mmx vs. the initial version
which assumed sse2 was available everywhere.
|
|
Currently disabled, can enable with MESA_EXPERIMENTAL=t.
|
|
|
|
|
|
|