summaryrefslogtreecommitdiffstats
path: root/src/amd/common/ac_surface.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-08-01 00:12:30 +0200
committerMarek Olšák <[email protected]>2017-08-04 02:10:04 +0200
commit0141beadd8da5c857fe76f42a49ce379f0c700af (patch)
treec9cf7e7087616d805f9edc8b03f2e14725485eb8 /src/amd/common/ac_surface.c
parent2b7e85562ae4f700d60d9a7bbcfbf65d194f02d3 (diff)
ac/surface: limit tile swizzle to non-mipmaps on SI
Mipmapping with tile swizzle doesn't work. Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/amd/common/ac_surface.c')
-rw-r--r--src/amd/common/ac_surface.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 87a89936e1c..3716d3ddb04 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -435,7 +435,9 @@ static int gfx6_surface_settings(ADDR_HANDLE addrlib,
}
/* Compute tile swizzle. */
- if (config->info.surf_index &&
+ /* TODO: fix tile swizzle with mipmapping for SI */
+ if ((info->chip_class >= CIK || config->info.levels == 1) &&
+ config->info.surf_index &&
surf->u.legacy.level[0].mode == RADEON_SURF_MODE_2D &&
!(surf->flags & (RADEON_SURF_Z_OR_SBUFFER | RADEON_SURF_SHAREABLE)) &&
(config->info.samples > 1 || !(surf->flags & RADEON_SURF_SCANOUT))) {