From 265d0fddb5d23a41e52a4b5ddd9704153317fee6 Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Fri, 3 Oct 2025 15:04:17 +0200 Subject: [PATCH] tests: Introduce get_mesa_driver_version(). --- tests/d3d12_crosstest.h | 8 ++++++-- tests/vulkan_utils.h | 12 ++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/tests/d3d12_crosstest.h b/tests/d3d12_crosstest.h index 4ac3d0ef2..7916b2c15 100644 --- a/tests/d3d12_crosstest.h +++ b/tests/d3d12_crosstest.h @@ -799,11 +799,15 @@ static inline bool is_mesa_device(ID3D12Device *device) static inline bool is_mesa_device_lt(ID3D12Device *device, uint32_t major, uint32_t minor, uint32_t patch) { VkPhysicalDeviceDriverPropertiesKHR driver_properties; + uint32_t driver_major, driver_minor, driver_patch; VkPhysicalDeviceProperties device_properties; get_driver_properties(device, &device_properties, &driver_properties); - return is_mesa_vulkan_driver(&driver_properties) - && !is_vulkan_driver_version_ge(&device_properties, &driver_properties, major, minor, patch); + + if (!get_mesa_driver_version(&device_properties, &driver_properties, &driver_major, &driver_minor, &driver_patch)) + return false; + + return compare_versions(driver_major, driver_minor, driver_patch, major, minor, patch) < 0; } static inline bool is_llvmpipe_device(ID3D12Device *device) diff --git a/tests/vulkan_utils.h b/tests/vulkan_utils.h index ae5ffb887..9c42099d4 100644 --- a/tests/vulkan_utils.h +++ b/tests/vulkan_utils.h @@ -479,4 +479,16 @@ static inline bool is_mesa_vulkan_driver(const VkPhysicalDeviceDriverPropertiesK } } +static inline bool get_mesa_driver_version(const VkPhysicalDeviceProperties *device_properties, + const VkPhysicalDeviceDriverPropertiesKHR *driver_properties, + uint32_t *major, uint32_t *minor, uint32_t *patch) +{ + if (!is_mesa_vulkan_driver(driver_properties)) + return false; + + get_vulkan_driver_version(device_properties, driver_properties, major, minor, patch); + + return true; +} + #endif /* __VKD3D_VULKAN_UTILS_H */