From acca690c259824636ef1ff684a10bd1caca4751f Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Fri, 10 Feb 2012 10:49:13 -0500 Subject: r600g: fix tex tile_type offset for cayman Noticed by taiu on IRC. Signed-off-by: Alex Deucher Note: this is a candidate for the stable branches. --- src/gallium/drivers/r600/evergreen_state.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/gallium/drivers/r600/evergreen_state.c') 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)); -- cgit v1.2.3