Age | Commit message (Collapse) | Author |
|
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.
|
|
Remove all dependencies on vertex_info, except for draw_vbuf.
Drawing stages now strictly operate on post-transformed vertices and don't
know anything about hw vertices.
Use vertex program output info for two-side/flat/etc stages.
Temporarily disable vbuf module in softpipe driver.
|
|
|
|
No longer store the vertex header and clip pos info in the draw module's
vertex_info. The vertex_info just describes the data[] elements.
This simplifies the code in several places.
|
|
|
|
location.
|
|
the clipping code.
(really done by Keith)
|
|
|
|
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.
|
|
Remove/disable the attrib/slot mapping arrays in a few places.
Work in progress...
|
|
In emit_poly() we need to compute header.edgeflags from the vertex
edge flags. Also need to set header.det so later stages can determine
front/back orientation.
|
|
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.
|
|
Replace VF_ATTRIB_x with TGSI_ATTRIB_x
When converting mesa programs to TGSI programs, also convert the InputsRead
and OutputsWritten to a mask of TGSI_ATTRIB_ bits.
Still need to do conversion for vertex programs...
|
|
Basic i915 2D texturing seems to work now.
The vertex format is determined from the current fragment shader.
|
|
|
|
|
|
To build with mesa, need -DMESA in makefile/config file.
|
|
Also added draw_stage::reset_line_stipple(). There may be a better way
of doing that though.
|
|
Improved comments for that loop.
Added some sanity check assertions regarding vertex layout.
|
|
|
|
|
|
Need to use a new prim_header for the post-clipped line. Otherwise,
we were changing the header passed to us from the vb code. That messed
up the vertex pointers for the next line primitive.
|
|
|
|
|