softpipe: remove some old polygon stipple stuff and do some clean-ups

This commit is contained in:
Brian Paul
2009-02-11 21:51:00 -07:00
parent 460b62336d
commit f908421e64
2 changed files with 8 additions and 21 deletions
@@ -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;
+8 -15
View File
@@ -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);