From 0f827b51c0b7e6120df1fedadf34b578b5bcff53 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 16 Jun 2017 22:54:26 +0200 Subject: [PATCH] radeonsi/gfx9: fix TC-compatible stencil compression MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle --- src/amd/common/gfx9d.h | 4 ++-- src/gallium/drivers/radeonsi/si_state.c | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/amd/common/gfx9d.h b/src/amd/common/gfx9d.h index 787d0a9..8c61645 100644 --- a/src/amd/common/gfx9d.h +++ b/src/amd/common/gfx9d.h @@ -1345,8 +1345,8 @@ #define V_008F14_IMG_DATA_FORMAT_RESERVED_56 0x38 #define V_008F14_IMG_DATA_FORMAT_4_4 0x39 #define V_008F14_IMG_DATA_FORMAT_6_5_5 0x3A -#define V_008F14_IMG_DATA_S8_16 0x3B -#define V_008F14_IMG_DATA_S8_32 0x3C +#define V_008F14_IMG_DATA_FORMAT_S8_16 0x3B +#define V_008F14_IMG_DATA_FORMAT_S8_32 0x3C #define V_008F14_IMG_DATA_FORMAT_8_AS_32 0x3D #define V_008F14_IMG_DATA_FORMAT_8_AS_32_32 0x3E #define V_008F14_IMG_DATA_FORMAT_32_AS_32_32_32_32 0x3F diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 1cd1f91..831c6b8 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3227,6 +3227,12 @@ si_make_texture_descriptor(struct si_screen *screen, data_format = V_008F14_IMG_DATA_FORMAT_24_8; } + /* S8 with Z32 HTILE needs a special format. */ + if (screen->b.chip_class >= GFX9 && + pipe_format == PIPE_FORMAT_S8_UINT && + tex->tc_compatible_htile) + data_format = V_008F14_IMG_DATA_FORMAT_S8_32; + if (!sampler && (res->target == PIPE_TEXTURE_CUBE || res->target == PIPE_TEXTURE_CUBE_ARRAY || -- 2.7.4