Signed-off-by: Roderick Colenbrander thunderbird2k@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)