[PATCH 4/4] vulkan-1: Implement vkGetInstanceProcAddr.

Roderick Colenbrander thunderbird2k at gmail.com
Wed Mar 28 02:20:52 CDT 2018


Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
---
 dlls/vulkan-1/vulkan.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c
index fbc3d1c45f..6f7ab43c4f 100644
--- a/dlls/vulkan-1/vulkan.c
+++ b/dlls/vulkan-1/vulkan.c
@@ -28,6 +28,7 @@
 WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
 
 VkResult WINAPI wine_vkEnumerateInstanceExtensionProperties(const char *, uint32_t *, VkExtensionProperties *);
+PFN_vkVoidFunction WINAPI wine_vkGetInstanceProcAddr(VkInstance, const char *);
 
 VkResult WINAPI vkEnumerateInstanceExtensionProperties(const char *layer_name,
         uint32_t *count, VkExtensionProperties *properties)
@@ -52,8 +53,18 @@ VkResult WINAPI vkEnumerateInstanceLayerProperties(uint32_t *count,
 
 PFN_vkVoidFunction WINAPI vkGetInstanceProcAddr(VkInstance instance, const char *name)
 {
-    FIXME("stub: %p %s\n", instance, debugstr_a(name));
-    return NULL;
+    TRACE("%p %s\n", instance, debugstr_a(name));
+
+    if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
+        return (PFN_vkVoidFunction)vkEnumerateInstanceExtensionProperties;
+
+    if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
+        return (PFN_vkVoidFunction)vkEnumerateInstanceLayerProperties;
+
+    if (!strcmp(name, "vkGetInstanceProcAddr"))
+        return (PFN_vkVoidFunction)vkGetInstanceProcAddr;
+
+    return wine_vkGetInstanceProcAddr(instance, name);
 }
 
 BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved)
-- 
2.14.3




More information about the wine-devel mailing list