From b75a1178221213a9d315e086862e4cabf69d62ac Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=B3zef=20Kucia?= Date: Fri, 13 Jul 2018 10:55:40 +0200 Subject: [PATCH] winevulkan: Implement vkEnumerateInstanceLayerProperties() in ICD. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Other Vulkan ICDs implement this function. Signed-off-by: Józef Kucia Signed-off-by: Alexandre Julliard --- 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 76ea95f719e..83c9507917c 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 4e11c72b26e..a06cfa185f5 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 ee34a99acf4..91f7333fe36 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) -- 2.11.4.GIT