Age | Commit message (Collapse) | Author |
|
There's only 16 evaluator maps. Define new _TNL_NUM_EVAL constant for
those loops.
Also, fix priority of GL_NV_vertex_program generic maps - they override the
conventional maps.
See bug 7564.
|
|
|
|
Make attr_type into a top-level type: tnl_attr_type
See bug 7340.
|
|
just aliases for members of the VB->AttribPtr[] array.
Begin replacing FogCoordPtr with VB->AttribPtr[_TNL_ATTRIB_FOG], and similarly
for NormalPtr, TexCoordPtr, PointSizePtr, etc.
|
|
|
|
Update a lot of loops, conditionals to use the _TNL_FIRST/LAST_* values
instead of specific vertex attributes.
Remove the EdgeFlagv function from the GLvertexformat struct.
|
|
GL_ARB_vertex_program.
|
|
- use macros to access and modify render inputs bit-field;
- un-alias generic vertex attributes for ARB vertex calls;
- use MAX_VERTEX_PROGRAM_ATTRIBS (NV code) or MAX_VERTEX_ATTRIBS
(ARB code) in place of VERT_ATTRIB_MAX;
- define VERT_ATTRIB_GENERIC0..15 for un-aliased vertex
attributes for ARB_vertex_shader;
- fix generic attribute index range check in arbprogparse.c;
- interface GLSL varyings between vertex and fragment shader;
- use 64-bit optimised bitset (bitset.h) for render inputs;
|
|
|
|
- no need to update ClipMask on generated vertices
- remove the VB->LastClipped value
Line clipping algorithm changed and simplified somewhat. The old one
was based on the triangle routine and probably wouldn't have recognized
lines that were clipped down to nothing (ie culled, but not by a single
plane).
|
|
Set new tnl->DiscardPrimitive field to true when such error is
detected to discard the glBegin/End primitive when flushing.
Added some new comments.
|
|
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.
|
|
|
|
|
|
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.
|
|
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".
|
|
Currently disabled, can enable with MESA_EXPERIMENTAL=t.
|
|
display lists. These mainly arise from edgeflag being the only
attribute no longer stored internally as a float and requiring
various special case paths to accomodate it.
|
|
- remove input/output fields, input tracking removed.
- remove state fields, the validate function now called
on every statechange.
- add an explicit 'create' function.
Add in code to build vertex program to implement current t&l state. Still
disabled, but turn on with a #define in t_vp_build.h.
|
|
|
|
which have to be processed in the 'loopback' path. If so, send
all vertices that way as the transition from playback->loopback has
several problems.
|
|
|
|
|
|
|
|
for this which spits out C code for the generated functions.
|
|
|
|
|
|
|
|
Enable with env var: MESA_CODEGEN=t.
|
|
slightly easier for codegen.
|
|
|
|
|
|
glFogCoord didn't always work reliably.
ARB fragment program fog options work now.
Per-fragment fog computations are now perspective corrected.
|
|
- cope with input vectors with size less than that of the emitted
attribute.
- cope with vertices with 'holes' inside and between vertices.
Fix calculation of tnl->render_inputs to work with fp programs.
Mirror VB->PointSizePtr in VB->AttribPtr so that it can work with t_vertex.c.
Transition swrast_setup/ to use t_vertex.c to build swrast vertices.
|
|
|
|
|
|
|
|
|
|
first step to reviving/rescuing the 'vtx' rework from the old mesa
tree.
|
|
|
|
|
|
|
|
|
|
Re-org of some GL_NV_vertex_program code.
Replace MAX_TEXTURE_UNITS with MAX_TEXTURE_COORD_UNITS and MAX_TEXTURE_IMAGE_UNITS.
|
|
|
|
|
|
|
|
|
|
|
|
Fix GLuint compare bugs
Fix RESET_STIPPLE calls
|