diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index 613f35bea..7dcb0ffdf 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -704,8 +704,8 @@ public: void SetDrawcallCB(DrawcallCallback *cb) { m_DrawcallCallback = cb; } VkResult FilterDeviceExtensionProperties(VkPhysicalDevice physDev, uint32_t *pPropertyCount, VkExtensionProperties *pProperties); - VkResult GetProvidedExtensionProperties(uint32_t *pPropertyCount, - VkExtensionProperties *pProperties); + static VkResult GetProvidedExtensionProperties(uint32_t *pPropertyCount, + VkExtensionProperties *pProperties); // Device initialization diff --git a/renderdoc/driver/vulkan/vk_tracelayer.cpp b/renderdoc/driver/vulkan/vk_tracelayer.cpp index d7423b542..0992c9a78 100644 --- a/renderdoc/driver/vulkan/vk_tracelayer.cpp +++ b/renderdoc/driver/vulkan/vk_tracelayer.cpp @@ -233,13 +233,13 @@ VK_LAYER_EXPORT VkResult VKAPI_CALL VK_LAYER_RENDERDOC_CaptureEnumerateDeviceExt VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties) { - // if pLayerName is NULL we're calling down through the layer chain to the ICD. + // if pLayerName is NULL or not ours we're calling down through the layer chain to the ICD. // This is our chance to filter out any reported extensions that we don't support - if(pLayerName == NULL) + if(physicalDevice != NULL && (pLayerName == NULL || strcmp(pLayerName, RENDERDOC_LAYER_NAME))) return CoreDisp(physicalDevice) ->FilterDeviceExtensionProperties(physicalDevice, pPropertyCount, pProperties); - return CoreDisp(physicalDevice)->GetProvidedExtensionProperties(pPropertyCount, pProperties); + return WrappedVulkan::GetProvidedExtensionProperties(pPropertyCount, pProperties); } #undef HookInit