intel: added region draw_x/y offsets in x/y_tile_swizzle() funcs
authorBrian Paul <brianp@vmware.com>
Tue, 27 Oct 2009 23:34:29 +0000 (17:34 -0600)
committerBrian Paul <brianp@vmware.com>
Tue, 27 Oct 2009 23:35:30 +0000 (17:35 -0600)
This fixes the second part of bug 23552.

src/mesa/drivers/dri/intel/intel_span.c

index 8df49908806e0d60ded6c7fc07488b87cc3919d1..e71366a182334da56c9a9e3b20e0e8f7963ca2e6 100644 (file)
@@ -163,6 +163,9 @@ static uint32_t x_tile_swizzle(struct intel_renderbuffer *irb,
        int     x_tile_number, y_tile_number;
        int     tile_off, tile_base;
        
+        x += irb->region->draw_x;
+        y += irb->region->draw_y;
+
        tile_stride = (irb->region->pitch * irb->region->cpp) << 3;
 
        xbyte = x * irb->region->cpp;
@@ -218,6 +221,9 @@ static uint32_t y_tile_swizzle(struct intel_renderbuffer *irb,
        int     x_tile_number, y_tile_number;
        int     tile_off, tile_base;
        
+        x += irb->region->draw_x;
+        y += irb->region->draw_y;
+
        tile_stride = (irb->region->pitch * irb->region->cpp) << 5;
 
        xbyte = x * irb->region->cpp;