radeon: this code forgot to add dPriv x/y back to spans
authorDave Airlie <airlied@redhat.com>
Mon, 2 Feb 2009 02:26:22 +0000 (12:26 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 2 Feb 2009 02:26:22 +0000 (12:26 +1000)
src/mesa/drivers/dri/radeon/common_misc.c

index 9044967ac05b28830fa1501bc9275af55d573e78..bc84b67f001899b4808da1c8d8c4afebe25ba138 100644 (file)
@@ -199,7 +199,7 @@ void radeonUpdateScissor( GLcontext *ctx )
 
    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;
@@ -2118,11 +2118,15 @@ GLubyte *radeon_ptr32(const struct radeon_renderbuffer * rrb,
                      GLint x, GLint y)
 {
     GLubyte *ptr = rrb->bo->ptr;
+    const __DRIdrawablePrivate *dPriv = rrb->dPriv;
     uint32_t mask = RADEON_BO_FLAGS_MACRO_TILE | RADEON_BO_FLAGS_MICRO_TILE;
     GLint offset;
     GLint nmacroblkpl;
     GLint nmicroblkpl;
 
+    x += dPriv->x;
+    y += dPriv->y;
+
     if (rrb->has_surface || !(rrb->bo->flags & mask)) {
         offset = x * rrb->cpp + y * rrb->pitch;
     } else {
@@ -2158,11 +2162,15 @@ GLubyte *radeon_ptr16(const struct radeon_renderbuffer * rrb,
                      GLint x, GLint y)
 {
     GLubyte *ptr = rrb->bo->ptr;
+    const __DRIdrawablePrivate *dPriv = rrb->dPriv;
     uint32_t mask = RADEON_BO_FLAGS_MACRO_TILE | RADEON_BO_FLAGS_MICRO_TILE;
     GLint offset;
     GLint nmacroblkpl;
     GLint nmicroblkpl;
 
+    x += dPriv->x;
+    y += dPriv->y;
+
     if (rrb->has_surface || !(rrb->bo->flags & mask)) {
         offset = x * rrb->cpp + y * rrb->pitch;
     } else {
@@ -2198,6 +2206,7 @@ GLubyte *radeon_ptr(const struct radeon_renderbuffer * rrb,
                    GLint x, GLint y)
 {
     GLubyte *ptr = rrb->bo->ptr;
+    const __DRIdrawablePrivate *dPriv = rrb->dPriv;
     uint32_t mask = RADEON_BO_FLAGS_MACRO_TILE | RADEON_BO_FLAGS_MICRO_TILE;
     GLint offset;
     GLint microblkxs;
@@ -2205,6 +2214,9 @@ GLubyte *radeon_ptr(const struct radeon_renderbuffer * rrb,
     GLint nmacroblkpl;
     GLint nmicroblkpl;
 
+    x += dPriv->x;
+    y += dPriv->y;
+
     if (rrb->has_surface || !(rrb->bo->flags & mask)) {
         offset = x * rrb->cpp + y * rrb->pitch;
     } else {