summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/evergreen_state.c
diff options
context:
space:
mode:
authorAlex Deucher <[email protected]>2012-02-10 10:49:13 -0500
committerAlex Deucher <[email protected]>2012-02-10 11:31:23 -0500
commitacca690c259824636ef1ff684a10bd1caca4751f (patch)
tree12c745d4b5fe20a0dc5f0ff0b396e7b9a11bf952 /src/gallium/drivers/r600/evergreen_state.c
parentad9455314d9c5cb9b31af22116841ee3e642a55b (diff)
r600g: fix tex tile_type offset for cayman
Noticed by taiu on IRC. Signed-off-by: Alex Deucher <[email protected]> Note: this is a candidate for the stable branches.
Diffstat (limited to 'src/gallium/drivers/r600/evergreen_state.c')
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index dd67e4bf1d8..56a497b081b 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -1190,8 +1190,11 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte
rstate->val[0] = (S_030000_DIM(r600_tex_dim(texture->target)) |
S_030000_PITCH((pitch / 8) - 1) |
- S_030000_NON_DISP_TILING_ORDER(tile_type) |
S_030000_TEX_WIDTH(width - 1));
+ if (rscreen->chip_class == CAYMAN)
+ rstate->val[0] |= CM_S_030000_NON_DISP_TILING_ORDER(tile_type);
+ else
+ rstate->val[0] |= S_030000_NON_DISP_TILING_ORDER(tile_type);
rstate->val[1] = (S_030004_TEX_HEIGHT(height - 1) |
S_030004_TEX_DEPTH(depth - 1) |
S_030004_ARRAY_MODE(array_mode));