summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_vbuf.c
AgeCommit message (Collapse)Author
2008-01-30gallium: Teach draw_vf about draw vertices.José Fonseca
This reduces the emit overhead, which is significant since we're emiting one vertex at a time.
2008-01-29gallium: Emit point size as a constant.José Fonseca
2008-01-29gallium: Allow draw_vf usage to be controlled at runtime.José Fonseca
2008-01-28gallium: remove dead code from draw_vf*Keith Whitwell
2008-01-28First stab at hooking draw_vbuf & vf.José Fonseca
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
2008-01-28Simplify prototypes of draw_vbuf's internal functions.José Fonseca
2008-01-28Cache the vinfo in vbuf_stage.José Fonseca
2008-01-26gallium: disable unnecessary point/line/tri re-validation in ↵Brian
vbuf_flush_indices()
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