summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vertex_cache.c
AgeCommit message (Collapse)Author
2007-11-08Reorganize user-space vertex fields in draw_context into 'user' group.Brian
This sub-struct collects the incoming user-provided data/pointers in one place. Ex: draw->mapped_vbuffer becomes draw->user.vbuffer, etc.
2007-11-07Use a consistent number to identify undefined vertices.José Fonseca
2007-10-25set vcache.referenced bit alwayskeithw
2007-10-23Fix vertex cache bug that allows multiple vertices to fall into the same slot.Brian
Need to set the slot's bit in draw->vcache.referenced even when there was a cache hit since flushing the primitive buffer will have cleared the bitfield but not the cache's vertex indexes. Fixes a bug found when drawing long triangle fans but could be hit by other prim types as well. An alternate fix would be to call draw_vertex_cache_invalidate() from draw_vertex_cache_unreference().
2007-10-23In get_vertex(), slot was computed using & 31. Replace with % VCACHE_SIZE.Brian
Also, assert that index is not too large before indexing array.
2007-09-27Make flushing more lazy in the draw module.Keith Whitwell
2007-09-25First attempt at building vertex buffers post-clip.Keith Whitwell
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.
2007-08-27Split out vertex shader/cache/fetch functionality from draw_prim.cKeith Whitwell