Age | Commit message (Collapse) | Author |
|
This reduces the emit overhead, which is significant since we're
emiting one vertex at a time.
|
|
|
|
|
|
|
|
Emit disabled for now. Tested with softpipe. Only one vertex at a time for now (slow).
|
|
|
|
|
|
vbuf_flush_indices()
|
|
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.
|
|
as-is in vbuf code
|
|
Now based on the draw_vbuf code, instead being a custom one-off.
Disabled by default, enable with SP_VBUF env var.
|
|
The vertex size may depend on whether we're drawing points, lines or triangles.
|
|
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.
|
|
post-xform vertex attribs to hw vertex attribs
|
|
Plus, update i915 and Cell drivers for latest vbuf->draw() params.
|
|
|
|
|
|
Pass complete information about vertex/index buffer location, size, etc.
|
|
|
|
|