diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2021-03-24 17:56:27 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-04-05 08:54:55 +0000 |
commit | ec611beae2447f26d962b03d468df644cce656f4 (patch) | |
tree | 88afba607cd009b969e5b0377e9be494e9aa5daf | |
parent | e4ef5f043315e9f06bfb082b867dc08efe310d55 (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.c | 6 | ||||
-rw-r--r-- | src/amd/common/ac_gpu_info.h | 1 | ||||
-rw-r--r-- | src/amd/vulkan/winsys/null/radv_null_winsys.c | 3 |
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) |