Mesa (main): ac/gpu_info: use the kernel-reported GFX IP version to set gfx_level

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 27 05:35:30 UTC 2022


Module: Mesa
Branch: main
Commit: 983223de5dc01f50227b1b1fe20149ae56f611f6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=983223de5dc01f50227b1b1fe20149ae56f611f6

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Jul  7 19:00:16 2022 -0400

ac/gpu_info: use the kernel-reported GFX IP version to set gfx_level

hopefully this won't break the world.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17411>

---

 src/amd/common/ac_gpu_info.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index d0705932c3e..0d4ce81d8a3 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -798,22 +798,23 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
    for (unsigned i = 0; info->name[i] && i < ARRAY_SIZE(info->lowercase_name) - 1; i++)
       info->lowercase_name[i] = tolower(info->name[i]);
 
-   if (info->family >= CHIP_GFX1100)
+   if (info->ip[AMD_IP_GFX].ver_major == 11)
       info->gfx_level = GFX11;
-   else if (info->family >= CHIP_NAVI21)
+   else if (info->ip[AMD_IP_GFX].ver_major == 10 && info->ip[AMD_IP_GFX].ver_minor == 3)
       info->gfx_level = GFX10_3;
-   else if (info->family >= CHIP_NAVI10)
+   else if (info->ip[AMD_IP_GFX].ver_major == 10 && info->ip[AMD_IP_GFX].ver_minor == 1)
       info->gfx_level = GFX10;
-   else if (info->family >= CHIP_VEGA10)
+   else if (info->ip[AMD_IP_GFX].ver_major == 9)
       info->gfx_level = GFX9;
-   else if (info->family >= CHIP_TONGA)
+   else if (info->ip[AMD_IP_GFX].ver_major == 8)
       info->gfx_level = GFX8;
-   else if (info->family >= CHIP_BONAIRE)
+   else if (info->ip[AMD_IP_GFX].ver_major == 7)
       info->gfx_level = GFX7;
-   else if (info->family >= CHIP_TAHITI)
+   else if (info->ip[AMD_IP_GFX].ver_major == 6)
       info->gfx_level = GFX6;
    else {
-      fprintf(stderr, "amdgpu: Unknown family.\n");
+      fprintf(stderr, "amdgpu: Unknown gfx version: %u.%u\n",
+              info->ip[AMD_IP_GFX].ver_major, info->ip[AMD_IP_GFX].ver_minor);
       return false;
    }
 



More information about the mesa-commit mailing list