Vulkan: Fix Turnip driver version string The version string handling was adding 512 to the major version for all Qualcomm devices to work around a quirk in the proprietary driver. This breaks the version string for Turnip (the open-source Mesa driver for Qualcomm GPUs), turning a version like 26.1.99 into 538.1.99. Bug: angleproject:42267006 Change-Id: Ia23bde5a799f29fa7d17be153d1f18cd00c2397d Signed-off-by: Valentine Burley <valentine.burley@collabora.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7885698 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
diff --git a/src/libANGLE/renderer/vulkan/vk_renderer.cpp b/src/libANGLE/renderer/vulkan/vk_renderer.cpp index 9fd124e..e7b0b11 100644 --- a/src/libANGLE/renderer/vulkan/vk_renderer.cpp +++ b/src/libANGLE/renderer/vulkan/vk_renderer.cpp
@@ -5032,7 +5032,10 @@ // The major version for the new QCOM drivers seems to be 512, which results in a major // version of 0 and a non-zero variant field when using the VK_API_VERSION_x macros. // Therefore, the version string is updated to show the correct major version. - else if (mPhysicalDeviceProperties.vendorID == VENDOR_ID_QUALCOMM) + else if (mPhysicalDeviceProperties.vendorID == VENDOR_ID_QUALCOMM && + !IsQualcommOpenSource(mPhysicalDeviceProperties.vendorID, + mDriverProperties.driverID, + mPhysicalDeviceProperties.deviceName)) { strstr << (512 | VK_API_VERSION_MAJOR(driverVersion)) << "."; strstr << VK_API_VERSION_MINOR(driverVersion) << ".";