[PATCH 2/2] winevulkan: Implement vkEnumerateDeviceLayerProperties

Victor Hermann Chiletto v at hnn.net.br
Sat Mar 6 14:46:30 CST 2021


This is generally implemented by the system's Vulkan ICD, and passing it
through results in applications (namely, Unreal Engine) attempting to
query for layer extensions in vkEnumerateDeviceExtensionProperties.

Signed-off-by: Victor Hermann Chiletto <v at hnn.net.br>
---
 dlls/winevulkan/make_vulkan | 1 +
 dlls/winevulkan/vulkan.c    | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan
index 1243f211b5e..228b4eae878 100755
--- a/dlls/winevulkan/make_vulkan
+++ b/dlls/winevulkan/make_vulkan
@@ -153,6 +153,7 @@ FUNCTION_OVERRIDES = {
     "vkCreateDevice" : {"dispatch" : True, "driver" : False, "thunk" : False},
     "vkDestroyInstance" : {"dispatch" : False, "driver" : True, "thunk" : False },
     "vkEnumerateDeviceExtensionProperties" : {"dispatch" : True, "driver" : False, "thunk" : False},
+    "vkEnumerateDeviceLayerProperties": {"dispatch": True, "driver": False, "thunk": False},
     "vkEnumeratePhysicalDeviceGroups" : {"dispatch" : True, "driver" : False, "thunk" : False},
     "vkEnumeratePhysicalDevices" : {"dispatch" : True, "driver" : False, "thunk" : False},
     "vkGetPhysicalDeviceExternalBufferProperties" : {"dispatch" : False, "driver" : False, "thunk" : False},
diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c
index 971394eb9dd..23087c9df2e 100644
--- a/dlls/winevulkan/vulkan.c
+++ b/dlls/winevulkan/vulkan.c
@@ -1061,6 +1061,14 @@ VkResult WINAPI wine_vkEnumerateInstanceExtensionProperties(const char *layer_na
     return *count < num_properties ? VK_INCOMPLETE : VK_SUCCESS;
 }
 
+VkResult WINAPI wine_vkEnumerateDeviceLayerProperties(VkPhysicalDevice phys_dev, uint32_t *count, VkLayerProperties *properties)
+{
+    TRACE("%p, %p, %p\n", phys_dev, count, properties);
+
+    *count = 0;
+    return VK_SUCCESS;
+}
+
 VkResult WINAPI wine_vkEnumerateInstanceLayerProperties(uint32_t *count, VkLayerProperties *properties)
 {
     TRACE("%p, %p\n", count, properties);
-- 
2.30.1




More information about the wine-devel mailing list