summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2021-03-24 17:56:27 +0100
committerMarge Bot <eric+marge@anholt.net>2021-04-05 08:54:55 +0000
commitec611beae2447f26d962b03d468df644cce656f4 (patch)
tree88afba607cd009b969e5b0377e9be494e9aa5daf
parente4ef5f043315e9f06bfb082b867dc08efe310d55 (diff)
ac: add ac_gpu_info::has_image_load_dcc_bug
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9919>
-rw-r--r--src/amd/common/ac_gpu_info.c6
-rw-r--r--src/amd/common/ac_gpu_info.h1
-rw-r--r--src/amd/vulkan/winsys/null/radv_null_winsys.c3
3 files changed, 10 insertions, 0 deletions
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index ba268acfe94..888c6778034 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -806,6 +806,12 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
/* Drawing from 0-sized index buffers causes hangs on Navi10/14. */
info->has_zero_index_buffer_bug = info->family == CHIP_NAVI10 || info->family == CHIP_NAVI14;
+ /* Whether chips are affected by the image load/sample/gather hw bug when
+ * DCC is enabled (ie. WRITE_COMPRESS_ENABLE should be 0).
+ */
+ info->has_image_load_dcc_bug = info->family == CHIP_DIMGREY_CAVEFISH ||
+ info->family == CHIP_VANGOGH;
+
/* Support for GFX10.3 was added with F32_ME_FEATURE_VERSION_31 but the
* firmware version wasn't bumped.
*/
diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
index e4f68f10b3d..b3456a35c70 100644
--- a/src/amd/common/ac_gpu_info.h
+++ b/src/amd/common/ac_gpu_info.h
@@ -76,6 +76,7 @@ struct radeon_info {
bool has_msaa_sample_loc_bug;
bool has_ls_vgpr_init_bug;
bool has_zero_index_buffer_bug;
+ bool has_image_load_dcc_bug;
bool has_32bit_predication;
bool has_3d_cube_border_color_mipmap;
diff --git a/src/amd/vulkan/winsys/null/radv_null_winsys.c b/src/amd/vulkan/winsys/null/radv_null_winsys.c
index e6cd51681c9..5df0b13f493 100644
--- a/src/amd/vulkan/winsys/null/radv_null_winsys.c
+++ b/src/amd/vulkan/winsys/null/radv_null_winsys.c
@@ -133,6 +133,9 @@ static void radv_null_winsys_query_info(struct radeon_winsys *rws,
info->has_dedicated_vram = gpu_info[info->family].has_dedicated_vram;
info->has_packed_math_16bit = info->chip_class >= GFX9;
+
+ info->has_image_load_dcc_bug = info->family == CHIP_DIMGREY_CAVEFISH ||
+ info->family == CHIP_VANGOGH;
}
static void radv_null_winsys_destroy(struct radeon_winsys *rws)