diff options
Diffstat (limited to 'layers/core_validation.cpp')
| -rw-r--r-- | layers/core_validation.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 3ffec4c4..8b625bc8 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -9785,6 +9785,10 @@ VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetDeviceProcAddr(VkDevice dev, const c VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetInstanceProcAddr(VkInstance instance, const char *funcName) { PFN_vkVoidFunction proc = intercept_core_instance_command(funcName); + if (!proc) + proc = intercept_core_device_command(funcName); + if (!proc) + proc = intercept_khr_swapchain_command(funcName, VK_NULL_HANDLE); if (proc) return proc; @@ -9977,9 +9981,11 @@ intercept_khr_swapchain_command(const char *name, VkDevice dev) { { "vkQueuePresentKHR", reinterpret_cast<PFN_vkVoidFunction>(QueuePresentKHR) }, }; - layer_data *dev_data = get_my_data_ptr(get_dispatch_key(dev), layer_data_map); - if (!dev_data->device_extensions.wsi_enabled) - return nullptr; + if (dev) { + layer_data *dev_data = get_my_data_ptr(get_dispatch_key(dev), layer_data_map); + if (!dev_data->device_extensions.wsi_enabled) + return nullptr; + } for (size_t i = 0; i < ARRAY_SIZE(khr_swapchain_commands); i++) { if (!strcmp(khr_swapchain_commands[i].name, name)) |
