Mesa (main): radv: mark GFX10.3 (aka RDNA2) as conformant products with CTS 1.2.7.1

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Dec 8 09:48:51 UTC 2021


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Dec  6 13:48:25 2021 +0100

radv: mark GFX10.3 (aka RDNA2) as conformant products with CTS 1.2.7.1

https://www.khronos.org/conformance/adopters/conformant-products#submission_599

Also bump the CTS version for GFX8, GFX9 and GFX10 because they also
pass 1.2.7.1.

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

---

 src/amd/vulkan/radv_device.c | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index c2dc58532c7..359721ea48f 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -572,6 +572,12 @@ radv_physical_device_get_supported_extensions(const struct radv_physical_device
    };
 }
 
+static bool
+radv_is_conformant(const struct radv_physical_device *pdevice)
+{
+   return pdevice->rad_info.chip_class >= GFX8;
+}
+
 static VkResult
 radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm_device,
                                 struct radv_physical_device **device_out)
@@ -702,7 +708,7 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm
    device->disk_cache = disk_cache_create(device->name, buf, 0);
 #endif
 
-   if (device->rad_info.chip_class < GFX8 || device->rad_info.chip_class > GFX10)
+   if (!radv_is_conformant(device))
       vk_warn_non_conformant_implementation("radv");
 
    radv_get_driver_uuid(&device->driver_uuid);
@@ -1884,12 +1890,22 @@ radv_get_physical_device_properties_1_2(struct radv_physical_device *pdevice,
    snprintf(p->driverName, VK_MAX_DRIVER_NAME_SIZE, "radv");
    snprintf(p->driverInfo, VK_MAX_DRIVER_INFO_SIZE, "Mesa " PACKAGE_VERSION MESA_GIT_SHA1 "%s",
             radv_get_compiler_string(pdevice));
-   p->conformanceVersion = (VkConformanceVersion){
-      .major = 1,
-      .minor = 2,
-      .subminor = 3,
-      .patch = 0,
-   };
+
+   if (radv_is_conformant(pdevice)) {
+      p->conformanceVersion = (VkConformanceVersion){
+         .major = 1,
+         .minor = 2,
+         .subminor = 7,
+         .patch = 1,
+      };
+   } else {
+      p->conformanceVersion = (VkConformanceVersion){
+         .major = 0,
+         .minor = 0,
+         .subminor = 0,
+         .patch = 0,
+      };
+   }
 
    /* On AMD hardware, denormals and rounding modes for fp16/fp64 are
     * controlled by the same config register.



More information about the mesa-commit mailing list