vulkan: Implement KHR_get_surface_capabilities2
Implemented by forwarding to the KHR_surface equivalents. This requires
a bit of rejigging in the case of GetPhysicalDeviceSurfaceFormats2KHR
to deal with the stride difference.
Change-Id: I0f1cc83cfc885955a39fc02d4a15609e83d36798
Test: dEQP-VK.wsi.android.surface.*2
diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp
index b62eec6..dbb217d 100644
--- a/vulkan/libvulkan/driver.cpp
+++ b/vulkan/libvulkan/driver.cpp
@@ -448,6 +448,7 @@
case ProcHook::KHR_android_surface:
case ProcHook::KHR_surface:
case ProcHook::EXT_swapchain_colorspace:
+ case ProcHook::KHR_get_surface_capabilities2:
hook_extensions_.set(ext_bit);
// return now as these extensions do not require HAL support
return;
@@ -674,13 +675,15 @@
const char* pLayerName,
uint32_t* pPropertyCount,
VkExtensionProperties* pProperties) {
- static const std::array<VkExtensionProperties, 3> loader_extensions = {{
+ static const std::array<VkExtensionProperties, 4> loader_extensions = {{
// WSI extensions
{VK_KHR_SURFACE_EXTENSION_NAME, VK_KHR_SURFACE_SPEC_VERSION},
{VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
VK_KHR_ANDROID_SURFACE_SPEC_VERSION},
{VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME,
VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION},
+ {VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME,
+ VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION},
}};
static const VkExtensionProperties loader_debug_report_extension = {
VK_EXT_DEBUG_REPORT_EXTENSION_NAME, VK_EXT_DEBUG_REPORT_SPEC_VERSION,