From 72c0e57e7e23b258a5ec7d9c624bfef507ffdc9b Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Thu, 30 Sep 2021 16:03:51 +0100 Subject: [PATCH] ac/surface: Use 64 && 128 for GFX10_3 on non-modifier path DCC_IND_BLK is not hooked up for this to work in the kernel in any released version, and it's unsafe to do so even if it was because it doesn't check the modifiers. There's no reason to change the legacy non-modifier path to be more performant at the expense of breaking backwards compatibility with older versions of Mesa. Fixes: 0f6251b3 ("ac/surface: use DCC compatible with image stores for < 4K resolutions") Closes: #5422 Signed-off-by: Joshua Ashton Reviewed-by: Bas Nieuwenhuizen Acked-by: Dave Airlie Part-of: --- src/amd/common/ac_surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index f49f6d11e17..669c07c7ce5 100644 --- a/src/amd/common/ac_surface.c +++ b/src/amd/common/ac_surface.c @@ -2139,8 +2139,8 @@ static int gfx9_compute_surface(struct ac_addrlib *addrlib, const struct radeon_ surf->u.gfx9.color.dcc.max_compressed_block_size = V_028C78_MAX_BLOCK_SIZE_64B; } - if (info->chip_class >= GFX10_3 && - gfx10_DCN_requires_independent_64B_blocks(info, config)) { + /* Use 64 && 128 for the non-modifier path for compatibility. */ + if (info->chip_class >= GFX10_3) { surf->u.gfx9.color.dcc.independent_64B_blocks = 1; surf->u.gfx9.color.dcc.independent_128B_blocks = 1; surf->u.gfx9.color.dcc.max_compressed_block_size = V_028C78_MAX_BLOCK_SIZE_64B;