tests: Introduce get_mesa_driver_version().

This commit is contained in:
Giovanni Mascellani
2025-10-03 15:04:17 +02:00
committed by Henri Verbeet
parent 92837899cd
commit 265d0fddb5
Notes: Henri Verbeet 2025-10-06 19:48:45 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1768
2 changed files with 18 additions and 2 deletions

View File

@@ -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)

View File

@@ -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 */