summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vbuf.c
AgeCommit message (Collapse)Author
2008-01-25gallium: better flush logic in draw moduleBrian
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.
2008-01-25gallium: replace prim pipeline begin/end() functions with flush()Brian
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.
2008-01-23gallium: rename FORMAT_x to EMIT_x and use EMIT_ALL to emit whole vertex ↵Brian
as-is in vbuf code
2008-01-23gallium: restore/rewrite vbuf code for softpipeBrian
Now based on the draw_vbuf code, instead being a custom one-off. Disabled by default, enable with SP_VBUF env var.
2008-01-22gallium: Don't allocate a vertex buffer until after setting the prim type.Brian
The vertex size may depend on whether we're drawing points, lines or triangles.
2008-01-22gallium: Added FORMAT_1F_PSIZE to insert constant point size into verticesBrian
Also, added draw_convert_wide_points/lines() so a driver can tell the draw module whether to convert wide points/lines into triangles, or just pass them through.
2008-01-21gallium: add a src_index[] array to draw's vertex_info for mapping ↵Brian
post-xform vertex attribs to hw vertex attribs
2008-01-16vbuf updates/fixes (KeithW)Brian
Plus, update i915 and Cell drivers for latest vbuf->draw() params.
2008-01-11vbuf_flush_vertices() instead of vbuf_flush_indices() in vbuf_end()Brian
2008-01-11Fix malloc size buf, silence signed/unsigned comparision warningBrian
2008-01-10Additional parameters to vbuf_render->draw()Brian
Pass complete information about vertex/index buffer location, size, etc.
2007-12-09gallium: add draw_stage::destroy().Michal
2007-11-22New vertex buffer stage.José Fonseca