r600g: set correct pitch/offset for depth textures in flushed state.
authorDave Airlie <airlied@redhat.com>
Thu, 3 Feb 2011 03:21:08 +0000 (13:21 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 3 Feb 2011 04:12:32 +0000 (14:12 +1000)
This fixes zreaddraw in tiling mode

src/gallium/drivers/r600/r600_texture.c

index dd2804919840c232be363176d1a9a3c69068e174..14422bbfe4169b38969535066ee880278423c3b5 100644 (file)
@@ -586,6 +586,9 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx,
                        FREE(trans);
                        return NULL;
                }
+               trans->transfer.stride = rtex->flushed_depth_texture->pitch_in_bytes[level];
+               trans->offset = r600_texture_get_offset(rtex->flushed_depth_texture, level, box->z);
+               return &trans->transfer;
        } else if (use_staging_texture) {
                resource.target = PIPE_TEXTURE_2D;
                resource.format = texture->format;