[PATCH 5/5] vulkan-1: Implement vkGetInstanceProcAddr.
Roderick Colenbrander
thunderbird2k at gmail.com
Tue Mar 27 02:00:06 CDT 2018
Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
---
dlls/vulkan-1/vulkan.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c
index 879504f6ee..a4c91087d0 100644
--- a/dlls/vulkan-1/vulkan.c
+++ b/dlls/vulkan-1/vulkan.c
@@ -108,8 +108,25 @@ VkResult WINAPI vkEnumerateInstanceLayerProperties(uint32_t *count, VkLayerPrope
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, "vkCreateInstance"))
+ return (PFN_vkVoidFunction)vkCreateInstance;
+
+ if (!strcmp(name, "vkEnumerateInstanceExtensionProperties"))
+ return (PFN_vkVoidFunction)vkEnumerateInstanceExtensionProperties;
+
+ if (!strcmp(name, "vkEnumerateInstanceLayerProperties"))
+ return (PFN_vkVoidFunction)vkEnumerateInstanceLayerProperties;
+
+ if (!strcmp(name, "vkGetInstanceProcAddr"))
+ return (PFN_vkVoidFunction)vkGetInstanceProcAddr;
+
+ if (!instance)
+ return NULL;
+
+ /* Go straight to ICD, no need to incur loader thunk overhead. */
+ return vk_funcs.p_vkGetInstanceProcAddr(instance, name);
}
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved)
--
2.14.3
More information about the wine-devel
mailing list