[PATCH 7/8] winevulkan: Implement vkEnumerateInstanceLayerProperties() in ICD.
Józef Kucia
jkucia at codeweavers.com
Fri Jul 13 03:55:40 CDT 2018
Other Vulkan ICDs implement this function.
Signed-off-by: Józef Kucia <jkucia at 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)
--
2.16.4
More information about the wine-devel
mailing list