Mesa (master): ac: add ac_gpu_info::has_image_load_dcc_bug

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 5 09:08:42 UTC 2021


Module: Mesa
Branch: master
Commit: ec611beae2447f26d962b03d468df644cce656f4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec611beae2447f26d962b03d468df644cce656f4

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Mar 24 17:56:27 2021 +0100

ac: add ac_gpu_info::has_image_load_dcc_bug

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9919>

---

 src/amd/common/ac_gpu_info.c                  | 6 ++++++
 src/amd/common/ac_gpu_info.h                  | 1 +
 src/amd/vulkan/winsys/null/radv_null_winsys.c | 3 +++
 3 files changed, 10 insertions(+)

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)



More information about the mesa-commit mailing list