| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Vertex flags are a contract between vcache and the pipeline. They are
set only for the first vertex of a primitive.
|
|
|
|
| |
Use draw_decompose_tmp.h to replace pipeline primitive decomposer.
|
|
|
|
|
|
|
|
|
| |
Make sure that all the element indexes actually lie inside the vertex
buffer.
Also, rename pipe_run() to pipe_run_elts() to be more specific.
And assert/check the vertex count for the non-indexed case.
|
| |
|
|
|
|
|
|
|
|
| |
Any elt may potentially have flags bits set so mask off those bits
everywhere.
Fixes crashes with demos/gamma.c, redbook/polys.c, etc. but polygon
stippling is still broken.
|
|
|
|
| |
verts per primitive, not total count
|
|
|
|
| |
spotted by Keith
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Builds on commit ddb0e18f6c5582d4d2cc59ffd16ad9c4639ed059 and fixes
regressions in glean clipFlat test.
We assume that Gallium drivers observe flatshade_first for all triangles
and that all the assorted per-triangle calls in the 'draw' module also
follow flatshade_first. Everything else builds on those rules.
Gallium does not use follow flatshade_first for GL quads, quad strips
and polygons; the "last" vertex is always the provoking vertex for those
prims. So now there are separate QUAD_FIRST_PV and QUAD_LAST_PV macros
in the draw primitive decomposition code instead of one QUAD macro.
|
|
|
|
|
|
|
|
| |
New draw API function to indicate whether or not to convert points to
quads for sprite rasterization.
Fix point-to-quad conversion regression in the wide-point stage. We
need to check the pipe_rasterizer_state::point_quad_rasterization flag.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Depending on first/last provoking vertex either the first or last
element/index may have the extra DRAW_PIPE_x flags. Mask off those
bits for all vertex elements to be safe (esp. for the quad case).
This may be overly cautious, but it's a cheap operation.
Fixes a segfault caused by large/bogus vertex indexes otherwise.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This previously was used only for decomposed (POINT/LINE/TRI) primitives,
but for some time a full range of primitives could end up in here.
Fixes trivial/lineloop-clip on softpipe, among others.
(cherry picked from commit 87cd8a3b8a2407b30916be418ff2f95dfea5d2ad)
|
|/ |
|
|
|
|
| |
Also, rename p_tile.[ch] to u_tile.[ch]
|
|
|
|
|
| |
We were sometimes referencing an invalid vertex.
Fixes progs/trivial/line-clip.c test among others.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is now the drawing interface to the pipeline. No more
calling into pipeline.first->tri(), etc.
|
|
|