diff options
author | Dave Airlie <[email protected]> | 2010-08-08 19:12:14 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-08-08 19:12:14 +1000 |
commit | b55f6279370333574aa11c289f2ad9715cdca24d (patch) | |
tree | e4374fe8fbd52338229b726fa3af2ed29ad12d5a /src/gallium/drivers | |
parent | ef3b17f5f37cc5b1e81ecce4713cb1f9617afc0e (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/r300/r300_emit.c | 4 |
1 files changed, 4 insertions, 0 deletions
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 |