? DONE ? Makefile ? r200.patch Index: r200_span.c =================================================================== RCS file: /cvs/xc/lib/GL/mesa/src/drv/r200/r200_span.c,v retrieving revision 1.1 diff -u -u -r1.1 r200_span.c --- r200_span.c 2002/10/30 12:51:52 1.1 +++ r200_span.c 2003/03/01 09:16:56 @@ -50,11 +50,11 @@ GLuint pitch = r200Screen->frontPitch * r200Screen->cpp; \ GLuint height = dPriv->h; \ char *buf = (char *)(sPriv->pFB + \ - rmesa->state.color.drawOffset + \ + rmesa->state.color.drawOffset - rmesa->r200Screen->frontOffset+ \ (dPriv->x * r200Screen->cpp) + \ (dPriv->y * pitch)); \ char *read_buf = (char *)(sPriv->pFB + \ - rmesa->state.pixel.readOffset + \ + rmesa->state.pixel.readOffset - rmesa->r200Screen->frontOffset + \ (dPriv->x * r200Screen->cpp) + \ (dPriv->y * pitch)); \ GLuint p; \ @@ -68,7 +68,7 @@ GLuint height = dPriv->h; \ GLuint xo = dPriv->x; \ GLuint yo = dPriv->y; \ - char *buf = (char *)(sPriv->pFB + r200Screen->depthOffset); \ + char *buf = (char *)(sPriv->pFB + r200Screen->depthOffset - rmesa->r200Screen->frontOffset); \ (void) buf #define LOCAL_STENCIL_VARS LOCAL_DEPTH_VARS @@ -291,6 +291,7 @@ { r200ContextPtr rmesa = R200_CONTEXT(ctx); + switch ( mode ) { case GL_FRONT_LEFT: if ( rmesa->doPageFlip && rmesa->sarea->pfCurrentPage == 1 ) { @@ -314,6 +315,7 @@ assert(0); break; } + } /* Move locking out to get reasonable span performance (10x better @@ -341,7 +343,7 @@ { int p; volatile int *read_buf = (volatile int *)(rmesa->dri.screen->pFB + - rmesa->state.pixel.readOffset); + rmesa->state.pixel.readOffset-rmesa->r200Screen->frontOffset); p = *read_buf; *read_buf = p; }