Age | Commit message (Collapse) | Author |
|
|
|
- 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
|
|
VERT_BIT_* flags are new and used in many places (esp in T&L code).
Updated some comments for doxygen.
Various code clean-ups.
|
|
in vertex_buffer. Improved vertex program pipeline stage such that
output registers can be processed in a loop. Getting closer to where
we need to be in order to implement performance optimizations...
|
|
normal, texcoords, fogcoord, secondary color, etc) to GLfloat[4] datatype.
Aliasing of glVertex, glNormal, glColor, glFogCoord, etc. to glVertexAttrib
now complete.
|
|
Moved vertex program hash table into shared context state.
Implemented reference counting for vertex programs.
Replaced tnl "ProjectedClip" with "Ndc" (normalized device coordinates).
|
|
|
|
|
|
|
|
clear that these are owned by t_vb_render.c.
Make swrast_setup opaque - it now hooks itself directly into
tnl->Driver.Render.*. Add a _swsetup_Wakeup() call that does this.
Update X11 (tested), osmesa and FX drivers for this change.
FX compiles but is probably broken as the changes there are large. It was the
only remaining driver that used the internal _swsetup_ functions for
interp and copy_pv. This usage has been replaced with code from the DRI
tdfx driver.
|