Other Vulkan ICDs implement this function.
Signed-off-by: Józef Kucia jkucia@codeweavers.com --- dlls/winevulkan/make_vulkan | 4 ---- dlls/winevulkan/vulkan.c | 14 ++++++++++++++ dlls/winevulkan/winevulkan.spec | 1 + 3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 76ea95f719e4..83c9507917c7 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -2258,10 +2258,6 @@ class VkGenerator(object): if not func.is_core_func(): continue
- # Not an ICD level function. - if func.name == "vkEnumerateInstanceLayerProperties": - continue - # We support all Core functions except for VK_KHR_display* APIs. # Create stubs for unsupported Core functions. if func.is_required(): diff --git a/dlls/winevulkan/vulkan.c b/dlls/winevulkan/vulkan.c index 4e11c72b26e5..a06cfa185f56 100644 --- a/dlls/winevulkan/vulkan.c +++ b/dlls/winevulkan/vulkan.c @@ -828,6 +828,19 @@ VkResult WINAPI wine_vkEnumerateInstanceExtensionProperties(const char *layer_na return *count < num_properties ? VK_INCOMPLETE : VK_SUCCESS; }
+VkResult WINAPI wine_vkEnumerateInstanceLayerProperties(uint32_t *count, VkLayerProperties *properties) +{ + TRACE("%p, %p\n", count, properties); + + if (!properties) + { + *count = 0; + return VK_SUCCESS; + } + + return VK_ERROR_LAYER_NOT_PRESENT; +} + VkResult WINAPI wine_vkEnumerateInstanceVersion(uint32_t *version) { VkResult res; @@ -1096,6 +1109,7 @@ static const struct vulkan_func vk_global_dispatch_table[] = { {"vkCreateInstance", &wine_vkCreateInstance}, {"vkEnumerateInstanceExtensionProperties", &wine_vkEnumerateInstanceExtensionProperties}, + {"vkEnumerateInstanceLayerProperties", &wine_vkEnumerateInstanceLayerProperties}, {"vkEnumerateInstanceVersion", &wine_vkEnumerateInstanceVersion}, {"vkGetInstanceProcAddr", &wine_vkGetInstanceProcAddr}, }; diff --git a/dlls/winevulkan/winevulkan.spec b/dlls/winevulkan/winevulkan.spec index ee34a99acf46..91f7333fe365 100644 --- a/dlls/winevulkan/winevulkan.spec +++ b/dlls/winevulkan/winevulkan.spec @@ -149,6 +149,7 @@ @ stdcall wine_vkEnumerateDeviceExtensionProperties(ptr str ptr ptr) @ stdcall wine_vkEnumerateDeviceLayerProperties(ptr ptr ptr) @ stdcall wine_vkEnumerateInstanceExtensionProperties(str ptr ptr) +@ stdcall wine_vkEnumerateInstanceLayerProperties(ptr ptr) @ stdcall wine_vkEnumerateInstanceVersion(ptr) @ stdcall wine_vkEnumeratePhysicalDeviceGroups(ptr ptr ptr) @ stdcall wine_vkEnumeratePhysicalDevices(ptr ptr ptr)