diff options
| -rw-r--r-- | vulkan/libvulkan/api_gen.cpp | 1 | ||||
| -rw-r--r-- | vulkan/scripts/api_generator.py | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/vulkan/libvulkan/api_gen.cpp b/vulkan/libvulkan/api_gen.cpp index 37b5368452..d9a94274a4 100644 --- a/vulkan/libvulkan/api_gen.cpp +++ b/vulkan/libvulkan/api_gen.cpp @@ -621,6 +621,7 @@ VKAPI_ATTR PFN_vkVoidFunction GetInstanceProcAddr(VkInstance instance, const cha // global functions if (instance == VK_NULL_HANDLE) { if (strcmp(pName, "vkCreateInstance") == 0) return reinterpret_cast<PFN_vkVoidFunction>(CreateInstance); + if (strcmp(pName, "vkGetInstanceProcAddr") == 0) return reinterpret_cast<PFN_vkVoidFunction>(GetInstanceProcAddr); if (strcmp(pName, "vkEnumerateInstanceVersion") == 0) return reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceVersion); if (strcmp(pName, "vkEnumerateInstanceLayerProperties") == 0) return reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceLayerProperties); if (strcmp(pName, "vkEnumerateInstanceExtensionProperties") == 0) return reinterpret_cast<PFN_vkVoidFunction>(EnumerateInstanceExtensionProperties); diff --git a/vulkan/scripts/api_generator.py b/vulkan/scripts/api_generator.py index 7c390755e1..be24172eed 100644 --- a/vulkan/scripts/api_generator.py +++ b/vulkan/scripts/api_generator.py @@ -152,7 +152,9 @@ def _intercept_instance_proc_addr(f): if (instance == VK_NULL_HANDLE) {\n""") for cmd in gencom.command_list: - if gencom.is_globally_dispatched(cmd): + # vkGetInstanceProcAddr(nullptr, "vkGetInstanceProcAddr") is effectively + # globally dispatched + if gencom.is_globally_dispatched(cmd) or cmd == 'vkGetInstanceProcAddr': f.write(gencom.indent(2) + 'if (strcmp(pName, \"' + cmd + '\") == 0) return reinterpret_cast<PFN_vkVoidFunction>(' + |