Attached patch fixes flag corruption at beginning of RTCW.
--
Michael.
Index: radeon_state.c
===================================================================
RCS file: /cvsroot/dri/xc/xc/lib/GL/mesa/src/drv/radeon/radeon_state.c,v
retrieving revision 1.9.6.7
diff -u -3 -p -r1.9.6.7 radeon_state.c
--- radeon_state.c 2001/11/21 13:34:03 1.9.6.7
+++ radeon_state.c 2002/01/28 18:22:10
@@ -309,15 +309,16 @@ static void radeonUpdateScissor( GLconte
if ( rmesa->dri.drawable ) {
__DRIdrawablePrivate *dPriv = rmesa->dri.drawable;
- int x = ctx->Scissor.X;
- int y = dPriv->h - ctx->Scissor.Y - ctx->Scissor.Height;
- int w = ctx->Scissor.X + ctx->Scissor.Width - 1;
- int h = dPriv->h - ctx->Scissor.Y - 1;
+ int x, y, w, h;
+ x = MAX2(ctx->Scissor.X, dPriv->x);
+ y = MAX2(dPriv->h - ctx->Scissor.Y - ctx->Scissor.Height, 0);
+ w = MIN2(ctx->Scissor.X + ctx->Scissor.Width, dPriv->w);
+ h = MIN2(dPriv->h - ctx->Scissor.Y, dPriv->h);
rmesa->state.scissor.rect.x1 = x + dPriv->x;
rmesa->state.scissor.rect.y1 = y + dPriv->y;
- rmesa->state.scissor.rect.x2 = w + dPriv->x + 1;
- rmesa->state.scissor.rect.y2 = h + dPriv->y + 1;
+ rmesa->state.scissor.rect.x2 = w + dPriv->x;
+ rmesa->state.scissor.rect.y2 = h + dPriv->y;
if ( ctx->Scissor.Enabled )
rmesa->upload_cliprects = 1;