Age | Commit message (Collapse) | Author |
|
This is the other half of Keith's draw/flush patch.
There are now 5 flush flags to control what's flushed (post-xform vertex
cache, prim cache, vbuf, etc).
The gears slow-down in this part of the patch was due to the cull stage not
getting invoked. It was unconditional before, but is now gated by 'need_det'.
But it also needs to be gated by draw->rasterizer->cull_mode. Gears uses
back-face culling.
|
|
This is basically half of Keith's draw/flush patch.
The stage->point/line/tri() functions are now self-validating, the validator
functions are installed by the flush() function.
There were excessive calls to validate_pipeline(), however. This was caused
by draw_prim_queue_flush() keeping a local 'first' variable that always pointed
to the validate functions. Replaced 'first' with 'draw->pipeline.first'.
Performance in gears is up just slightly with this patch.
|
|
|
|
This sub-struct collects the incoming user-provided data/pointers in one place.
Ex: draw->mapped_vbuffer becomes draw->user.vbuffer, etc.
|
|
was still room in the prim queue.
|
|
|
|
|
|
|
|
|
|
Build a buffer of contigous vertices and indices at the backend of our
software transformation/clipping path. This will become the mechanism
for emitting buffers of vertices to rasterization hardware.
This is similar to but not the same as the post-transform vertex cache.
In particular, these vertices are subject to clipping, culling, poly offset,
etc. The vertices emitted will all be used by hardware.
TODOs include the actual transformation to hardware vertex formats, moving
this out of softpipe to somewhere more useful and allowing >1 primitive to
share the generated VB.
|
|
|
|
This will be used for:
GL_NV_transform_feedback, or similar GL3 functionality
glRasterPos
GL selection/feedback modes
|
|
|
|
|
|
The bits for the N user-defined planes are now set in the vertex_header->clipmask.
See some detailed comments about this in the clip_line() function.
CLIP_USER_BIT no longer exists.
|
|
|
|
|
|
|
|
Fix softpipe vertex attribute setup.
Also, update vs constants when the projection matrix changes (fixes samples/prim.c)
|
|
|
|
|
|
|
|
|
|
Basic i915 2D texturing seems to work now.
The vertex format is determined from the current fragment shader.
|
|
|
|
They're now totally independent of the actual shaders.
Also, implemented in terms of pipe_buffer_handles/objects.
|
|
Fix alignment issues.
Silence compiler warnings.
More debugging code.
|
|
vs_flush() function pointer.
|
|
|
|
|
|
|
|
|
|
To build with mesa, need -DMESA in makefile/config file.
|
|
|
|
|