Implement vkGetPhysicalDeviceXlibPresentationSupportKHR
Add support for function as dictated by the Vulkan spec
for Xlib WSI (32.4.5)
Bug: b/124265819
Change-Id: I61e9ca4b34c7b57102d32ff24cecde2b9e513a5f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32228
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Hernan Liatis <hliatis@google.com>
diff --git a/src/Vulkan/VkGetProcAddress.cpp b/src/Vulkan/VkGetProcAddress.cpp
index 9ef61b5..d7878ec 100644
--- a/src/Vulkan/VkGetProcAddress.cpp
+++ b/src/Vulkan/VkGetProcAddress.cpp
@@ -91,6 +91,7 @@
#ifdef VK_USE_PLATFORM_XLIB_KHR
// VK_KHR_xlib_surface
MAKE_VULKAN_INSTANCE_ENTRY(vkCreateXlibSurfaceKHR),
+ MAKE_VULKAN_INSTANCE_ENTRY(vkGetPhysicalDeviceXlibPresentationSupportKHR),
#endif
};
#undef MAKE_VULKAN_INSTANCE_ENTRY
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp
index dbba77b..5b0690f 100644
--- a/src/Vulkan/libVulkan.cpp
+++ b/src/Vulkan/libVulkan.cpp
@@ -322,7 +322,7 @@
}
}
- // "Images created with a format from one of those listed in Formats requiring sampler YCBCR conversion for VK_IMAGE_ASPECT_COLOR_BIT image views
+ // "Images created with a format from one of those listed in Formats requiring sampler Y'CBCR conversion for VK_IMAGE_ASPECT_COLOR_BIT image views
// have further restrictions on their limits and capabilities compared to images created with other formats."
if(vk::Format(format).isYcbcrFormat())
{
@@ -432,7 +432,7 @@
// YCbCr conversion is supported.
// samplerYcbcrConversionFeatures->samplerYcbcrConversion can be VK_TRUE or VK_FALSE.
// No action needs to be taken on our end in either case; it's the apps responsibility that
- // "To create a sampler YCbCr conversion, the samplerYcbcrConversion feature must be enabled."
+ // "To create a sampler Y'CbCr conversion, the samplerYcbcrConversion feature must be enabled."
(void)samplerYcbcrConversionFeatures->samplerYcbcrConversion;
}
break;
@@ -2584,6 +2584,14 @@
return vk::XlibSurfaceKHR::Create(pAllocator, pCreateInfo, pSurface);
}
+
+VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID)
+{
+ TRACE("(VkPhysicalDevice physicalDevice = %p, uint32_t queueFamilyIndex = %d, Display* dpy = %p, VisualID visualID = %lu)",
+ physicalDevice, int(queueFamilyIndex), dpy, visualID);
+
+ return VK_TRUE;
+}
#endif
#ifndef __ANDROID__
@@ -2604,7 +2612,6 @@
return VK_SUCCESS;
}
-
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities)
{
TRACE("(VkPhysicalDevice physicalDevice = %p, VkSurfaceKHR surface = %p, VkSurfaceCapabilitiesKHR* pSurfaceCapabilities = %p)",