softpipe: remove some old polygon stipple stuff and do some clean-ups
This commit is contained in:
@@ -112,12 +112,6 @@ struct softpipe_context {
|
||||
|
||||
unsigned reduced_api_prim; /**< PIPE_PRIM_POINTS, _LINES or _TRIANGLES */
|
||||
|
||||
#if 0
|
||||
/* Stipple derived state:
|
||||
*/
|
||||
ubyte stipple_masks[16][16];
|
||||
#endif
|
||||
|
||||
/** Derived from scissor and surface bounds: */
|
||||
struct pipe_scissor_state cliprect;
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@ stipple_quad(struct quad_stage *qs, struct quad_header *quad)
|
||||
/* need to invert Y to index into OpenGL's stipple pattern */
|
||||
int y0, y1;
|
||||
uint stipple0, stipple1;
|
||||
const int col0 = quad->input.x0 % 32;
|
||||
|
||||
if (softpipe->rasterizer->origin_lower_left) {
|
||||
y0 = softpipe->framebuffer.height - 1 - quad->input.y0;
|
||||
y1 = y0 - 1;
|
||||
@@ -32,12 +34,11 @@ stipple_quad(struct quad_stage *qs, struct quad_header *quad)
|
||||
y0 = quad->input.y0;
|
||||
y1 = y0 + 1;
|
||||
}
|
||||
|
||||
stipple0 = softpipe->poly_stipple.stipple[y0 % 32];
|
||||
stipple1 = softpipe->poly_stipple.stipple[y1 % 32];
|
||||
|
||||
#if 1
|
||||
{
|
||||
const int col0 = quad->input.x0 % 32;
|
||||
/* turn off quad mask bits that fail the stipple test */
|
||||
if ((stipple0 & (bit31 >> col0)) == 0)
|
||||
quad->inout.mask &= ~MASK_TOP_LEFT;
|
||||
|
||||
@@ -49,19 +50,11 @@ stipple_quad(struct quad_stage *qs, struct quad_header *quad)
|
||||
|
||||
if ((stipple1 & (bit30 >> col0)) == 0)
|
||||
quad->inout.mask &= ~MASK_BOTTOM_RIGHT;
|
||||
}
|
||||
#else
|
||||
/* We'd like to use this code, but we'd need to redefine
|
||||
* MASK_TOP_LEFT to be (1 << 1) and MASK_TOP_RIGHT to be (1 << 0),
|
||||
* and similarly for the BOTTOM bits. But that may have undesirable
|
||||
* side effects elsewhere.
|
||||
*/
|
||||
const int col0 = 30 - (quad->input.x0 % 32);
|
||||
quad->inout.mask &= (((stipple0 >> col0) & 0x3) |
|
||||
(((stipple1 >> col0) & 0x3) << 2));
|
||||
#endif
|
||||
if (!quad->inout.mask)
|
||||
|
||||
if (!quad->inout.mask) {
|
||||
/* all fragments failed stipple test, end of quad pipeline */
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
qs->next->run(qs->next, quad);
|
||||
|
||||
Reference in New Issue
Block a user