diff --git a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp index 7686173f3..d7e2bc56d 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_device_funcs.cpp @@ -413,7 +413,9 @@ VkResult WrappedVulkan::vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo { RDCERR("RenderDoc does not support instance extension '%s'.", modifiedCreateInfo.ppEnabledExtensionNames[i]); - RDCERR("File an issue on github to request support: https://github.com/baldurk/renderdoc"); + RDCERR( + "For KHR/EXT extensions file an issue on github to request support: " + "https://github.com/baldurk/renderdoc"); // see if any debug report callbacks were passed in the pNext chain VkDebugReportCallbackCreateInfoEXT *report = @@ -1935,6 +1937,20 @@ VkResult WrappedVulkan::vkCreateDevice(VkPhysicalDevice physicalDevice, { VkDeviceCreateInfo createInfo = *pCreateInfo; + for(uint32_t i = 0; i < createInfo.enabledExtensionCount; i++) + { + if(!IsSupportedExtension(createInfo.ppEnabledExtensionNames[i])) + { + RDCERR("RenderDoc does not support device extension '%s'.", + createInfo.ppEnabledExtensionNames[i]); + RDCERR( + "For KHR/EXT extensions file an issue on github to request support: " + "https://github.com/baldurk/renderdoc"); + + return VK_ERROR_EXTENSION_NOT_PRESENT; + } + } + uint32_t qCount = 0; VkResult vkr = VK_SUCCESS;