From 4608fa5e3aa0902586e43923b75f1f0ecc111812 Mon Sep 17 00:00:00 2001 From: jackun Date: Tue, 15 Feb 2022 00:35:24 +0200 Subject: [PATCH] vkGetInstanceProcAddr(instance, "vkGetInstanceProcAddr") should return our vkGetInstanceProcAddr not the next in the chain. --- src/vulkan.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/vulkan.cpp b/src/vulkan.cpp index 1cc82a7..a9835d8 100644 --- a/src/vulkan.cpp +++ b/src/vulkan.cpp @@ -1932,10 +1932,14 @@ static void overlay_DestroyInstance( extern "C" VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL overlay_GetDeviceProcAddr(VkDevice dev, const char *funcName); +extern "C" VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL overlay_GetInstanceProcAddr(VkInstance instance, + const char *funcName); + static const struct { const char *name; void *ptr; } name_to_funcptr_map[] = { + { "vkGetInstanceProcAddr", (void *) overlay_GetInstanceProcAddr }, { "vkGetDeviceProcAddr", (void *) overlay_GetDeviceProcAddr }, #define ADD_HOOK(fn) { "vk" # fn, (void *) overlay_ ## fn } #define ADD_ALIAS_HOOK(alias, fn) { "vk" # alias, (void *) overlay_ ## fn }