fix depth/stencil readback if coordinates are larger than 1023 (https://bugs.freedesk...
authorRoland Scheidegger <rscheidegger@gmx.ch>
Wed, 8 Dec 2004 03:07:34 +0000 (03:07 +0000)
committerRoland Scheidegger <rscheidegger@gmx.ch>
Wed, 8 Dec 2004 03:07:34 +0000 (03:07 +0000)
src/mesa/drivers/dri/r200/r200_span.c

index efb5e6ea7c5f97e398d3327181439ee74d1dd977..3747948984fbee32608633f37dad7a640a9bb1dc 100644 (file)
@@ -161,7 +161,7 @@ static GLuint r200_mba_z32( r200ContextPtr rmesa,
                                       GLint x, GLint y )
 {
    GLuint pitch = rmesa->r200Screen->frontPitch;
-   GLuint b = ((y & 0x3FF) >> 4) * ((pitch & 0xFFF) >> 5) + ((x & 0x3FF) >> 5);
+   GLuint b = ((y & 0x7FF) >> 4) * ((pitch & 0xFFF) >> 5) + ((x & 0x7FF) >> 5);
    GLuint a = 
       (BIT(x,0) << 2) |
       (BIT(y,0) << 3) |
@@ -180,7 +180,7 @@ static GLuint r200_mba_z32( r200ContextPtr rmesa,
 static GLuint r200_mba_z16( r200ContextPtr rmesa, GLint x, GLint y )
 {
    GLuint pitch = rmesa->r200Screen->frontPitch;
-   GLuint b = ((y & 0x3FF) >> 4) * ((pitch & 0xFFF) >> 6) + ((x & 0x3FF) >> 6);
+   GLuint b = ((y & 0x7FF) >> 4) * ((pitch & 0xFFF) >> 6) + ((x & 0x7FF) >> 6);
    GLuint a = 
       (BIT(x,0) << 1) |
       (BIT(y,0) << 2) |