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