Mesa (master): ac: add gpu_info::has_32bit_predication

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 25 08:35:28 UTC 2020


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Nov 23 11:51:25 2020 +0100

ac: add gpu_info::has_32bit_predication

32-bit predication is now supported with GFX10.3.

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/7732>

---

 src/amd/common/ac_gpu_info.c | 7 +++++++
 src/amd/common/ac_gpu_info.h | 1 +
 2 files changed, 8 insertions(+)

diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index dd52f38b573..622be2ed039 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -654,6 +654,12 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
 
    info->has_ls_vgpr_init_bug = info->family == CHIP_VEGA10 || info->family == CHIP_RAVEN;
 
+   /* Support for GFX10.3 was added with F32_ME_FEATURE_VERSION_31 but the
+    * firmware version wasn't bumped.
+    */
+   info->has_32bit_predication = info->chip_class >= GFX10_3 &&
+                                 info->me_fw_version >= 32;
+
    /* Get the number of good compute units. */
    info->num_good_compute_units = 0;
    for (i = 0; i < info->max_se; i++) {
@@ -890,6 +896,7 @@ void ac_print_gpu_info(struct radeon_info *info, FILE *f)
    fprintf(f, "    has_tc_compat_zrange_bug = %i\n", info->has_tc_compat_zrange_bug);
    fprintf(f, "    has_msaa_sample_loc_bug = %i\n", info->has_msaa_sample_loc_bug);
    fprintf(f, "    has_ls_vgpr_init_bug = %i\n", info->has_ls_vgpr_init_bug);
+   fprintf(f, "    has_32bit_predication = %i\n", info->has_32bit_predication);
 
    fprintf(f, "Display features:\n");
    fprintf(f, "    use_display_dcc_unaligned = %u\n", info->use_display_dcc_unaligned);
diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
index 40b6f1b6bdb..adc961ad32c 100644
--- a/src/amd/common/ac_gpu_info.h
+++ b/src/amd/common/ac_gpu_info.h
@@ -75,6 +75,7 @@ struct radeon_info {
    bool has_tc_compat_zrange_bug;
    bool has_msaa_sample_loc_bug;
    bool has_ls_vgpr_init_bug;
+   bool has_32bit_predication;
 
    /* Display features. */
    /* There are 2 display DCC codepaths, because display expects unaligned DCC. */



More information about the mesa-commit mailing list