Module: wine Branch: master Commit: b75a1178221213a9d315e086862e4cabf69d62ac URL: https://source.winehq.org/git/wine.git/?a=commit;h=b75a1178221213a9d315e0868...
Author: Józef Kucia jkucia@codeweavers.com Date: Fri Jul 13 10:55:40 2018 +0200
winevulkan: Implement vkEnumerateInstanceLayerProperties() in ICD.
Other Vulkan ICDs implement this function.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 76ea95f..83c9507 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 4e11c72..a06cfa1 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 ee34a99..91f7333 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)