Hopefully fix handling of physical device functions in vkGet*ProcAddr

This commit is contained in:
baldurk
2020-01-23 12:32:04 +00:00
parent 4c9bb5d844
commit 0f8c9073b7
+5 -3
View File
@@ -400,6 +400,8 @@ VK_LAYER_RENDERDOC_CaptureGetInstanceProcAddr(VkInstance instance, const char *p
HookInitVulkanDeviceExts();
HookInitVulkanInstanceExts_PhysDev();
if(GetInstanceDispatchTable(instance)->GetInstanceProcAddr == NULL)
return NULL;
return GetInstanceDispatchTable(instance)->GetInstanceProcAddr(Unwrap(instance), pName);
@@ -456,9 +458,6 @@ VK_LAYER_RENDERDOC_Capture_layerGetPhysicalDeviceProcAddr(VkInstance instance, c
CheckInstanceExts();
CheckDeviceExts();
// any extensions that are known to be physical device functions, return here
HookInitVulkanInstanceExts_PhysDev();
// any remaining functions that are known, we must return NULL for
#undef HookInitExtension
#define HookInitExtension(cond, function) \
@@ -471,6 +470,9 @@ VK_LAYER_RENDERDOC_Capture_layerGetPhysicalDeviceProcAddr(VkInstance instance, c
!strcmp(pName, STRINGIZE(CONCAT(vk, CONCAT(function, suffix))))) \
return NULL;
// any extensions that are known to be physical device functions, return here
HookInitVulkanInstanceExts_PhysDev();
HookInitVulkanInstanceExts();
HookInitVulkanDeviceExts();