r300g: take hiz/zmask offsets into a/c when clearing.
authorDave Airlie <airlied@redhat.com>
Sun, 8 Aug 2010 09:12:14 +0000 (19:12 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 8 Aug 2010 09:12:14 +0000 (19:12 +1000)
Need to add a test for multi-hiz/zmask db in a single context.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r300/r300_emit.c

index 17e180a79ac6e724fe2c81d8793d788f09d6c879..0c40e2db93ebfd6691e944aa326e90880bce56e7 100644 (file)
@@ -1008,6 +1008,8 @@ void r300_emit_hiz_clear(struct r300_context *r300, unsigned size, void *state)
     int i;
 
     tex = r300_texture(fb->zsbuf->texture);
+
+    offset = tex->hiz_mem[fb->zsbuf->level]->ofs;
     stride = tex->desc.stride_in_pixels[fb->zsbuf->level];
 
     /* convert from pixels to 4x4 blocks */
@@ -1043,6 +1045,8 @@ void r300_emit_zmask_clear(struct r300_context *r300, unsigned size, void *state
     tex = r300_texture(fb->zsbuf->texture);
     stride = tex->desc.stride_in_pixels[fb->zsbuf->level];
 
+    offset = tex->zmask_mem[fb->zsbuf->level]->ofs;
+
     if (r300->z_compression == RV350_Z_COMPRESS_88)
         mult = 8;
     else