Mesa (master): radeonsi/gfx9: fix TC-compatible stencil compression
Marek Olšák
mareko at kemper.freedesktop.org
Mon Jun 19 18:18:45 UTC 2017
Module: Mesa
Branch: master
Commit: 0f827b51c0b7e6120df1fedadf34b578b5bcff53
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f827b51c0b7e6120df1fedadf34b578b5bcff53
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Jun 16 22:54:26 2017 +0200
radeonsi/gfx9: fix TC-compatible stencil compression
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
---
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 787d0a94df..8c61645184 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 1cd1f9190e..831c6b8ea3 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 ||
More information about the mesa-commit
mailing list