From: Dave Airlie Date: Sun, 8 Aug 2010 09:12:14 +0000 (+1000) Subject: r300g: take hiz/zmask offsets into a/c when clearing. X-Git-Tag: android-x86-2.2~2495 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b55f6279370333574aa11c289f2ad9715cdca24d;p=android-x86%2Fexternal-mesa.git r300g: take hiz/zmask offsets into a/c when clearing. Need to add a test for multi-hiz/zmask db in a single context. Signed-off-by: Dave Airlie --- diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 17e180a79ac..0c40e2db93e 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -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