summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_state.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-03-03 19:22:56 +0100
committerMarek Olšák <[email protected]>2014-03-07 18:07:05 +0100
commit472ac0db08011af21174bb35e45858480b866346 (patch)
treeeb680448e5c74f48833616d2ae04282fc3d44927 /src/gallium/drivers/radeonsi/si_state.c
parentfcdf6fa86cb4dc530b8ab6881faa1da1aafa2b81 (diff)
radeonsi: fix blit compressed texture workaround to support 2D arrays
We don't have a piglit test for this, but I think it's correct. Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_state.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 225753db9e6..8f90000eea0 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2588,7 +2588,8 @@ static struct pipe_sampler_view *si_create_sampler_view(struct pipe_context *ctx
va = r600_resource_va(ctx->screen, texture);
va += surflevel[0].offset;
- va += tmp->mipmap_shift * surflevel[texture->last_level].slice_size;
+ va += tmp->mipmap_shift * surflevel[texture->last_level].slice_size * tmp->surface.array_size;
+
view->state[0] = va >> 8;
view->state[1] = (S_008F14_BASE_ADDRESS_HI(va >> 40) |
S_008F14_DATA_FORMAT(format) |