libvulkan: correctly expose VK_KHR_shared_presentable_image
The current libvulkan still make VK_KHR_shared_presentable_image depends
on VK_KHR_get_physical_device_properties2 even with proper VK1.1. This
change makes a change in code-generator.tmpl which results in adding
vkGetPhysicalDeviceProperties2 into the driver table.
Test: dEQP-VK.wsi.android.shared_presentable_image*
Bug: b/74605332
Change-Id: I5925dbc438decdc841ed4131c4f3df2a9dd1805a
diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp
index dec39e0..8b8b280 100644
--- a/vulkan/libvulkan/driver.cpp
+++ b/vulkan/libvulkan/driver.cpp
@@ -801,7 +801,8 @@
const InstanceData& data = GetData(physicalDevice);
// GPDP2 must be present and enabled on the instance.
- if (!data.driver.GetPhysicalDeviceProperties2KHR)
+ if (!data.driver.GetPhysicalDeviceProperties2KHR &&
+ !data.driver.GetPhysicalDeviceProperties2)
return false;
// Request the android-specific presentation properties via GPDP2
@@ -819,8 +820,12 @@
presentation_properties->pNext = nullptr;
presentation_properties->sharedImage = VK_FALSE;
- data.driver.GetPhysicalDeviceProperties2KHR(physicalDevice,
- &properties);
+ if (data.driver.GetPhysicalDeviceProperties2KHR) {
+ data.driver.GetPhysicalDeviceProperties2KHR(physicalDevice,
+ &properties);
+ } else {
+ data.driver.GetPhysicalDeviceProperties2(physicalDevice, &properties);
+ }
return true;
}