diff --git a/renderdoc/driver/vulkan/vk_layer.cpp b/renderdoc/driver/vulkan/vk_layer.cpp index 7b4149261..442111d33 100644 --- a/renderdoc/driver/vulkan/vk_layer.cpp +++ b/renderdoc/driver/vulkan/vk_layer.cpp @@ -411,14 +411,20 @@ VK_LAYER_RENDERDOC_CaptureGetInstanceProcAddr(VkInstance instance, const char *p { if(!strcmp("vkGetInstanceProcAddr", pName)) return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_CaptureGetInstanceProcAddr; + if(!strcmp("vkEnumerateInstanceExtensionProperties", pName)) + return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_CaptureEnumerateInstanceExtensionProperties; if(!strcmp("vk_layerGetPhysicalDeviceProcAddr", pName)) return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_Capture_layerGetPhysicalDeviceProcAddr; + + HookInit(CreateInstance); + + if(instance == VK_NULL_HANDLE) + return NULL; + if(!strcmp("vkEnumerateDeviceLayerProperties", pName)) return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_CaptureEnumerateDeviceLayerProperties; if(!strcmp("vkEnumerateDeviceExtensionProperties", pName)) return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_CaptureEnumerateDeviceExtensionProperties; - if(!strcmp("vkEnumerateInstanceExtensionProperties", pName)) - return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_CaptureEnumerateInstanceExtensionProperties; if(!strcmp("vkGetDeviceProcAddr", pName)) return (PFN_vkVoidFunction)&VK_LAYER_RENDERDOC_CaptureGetDeviceProcAddr; if(!strcmp("vkCreateDevice", pName)) @@ -428,9 +434,6 @@ VK_LAYER_RENDERDOC_CaptureGetInstanceProcAddr(VkInstance instance, const char *p HookInitVulkanInstance(); - if(instance == VK_NULL_HANDLE) - return NULL; - InstanceDeviceInfo *instDevInfo = NULL; if(WrappedVkInstance::IsAlloc(instance))