diff --git a/renderdoc/driver/vulkan/vk_outputwindow.cpp b/renderdoc/driver/vulkan/vk_outputwindow.cpp index 66e09ccb5..df9286f02 100644 --- a/renderdoc/driver/vulkan/vk_outputwindow.cpp +++ b/renderdoc/driver/vulkan/vk_outputwindow.cpp @@ -201,6 +201,8 @@ void VulkanReplay::OutputWindow::Create(WrappedVulkan *driver, VkDevice device, VkResult vkr = VK_SUCCESS; + uint32_t numImages = 2; + if(m_WindowSystem != WindowingSystem::Headless) { VkSurfaceCapabilitiesKHR capabilities; @@ -208,6 +210,9 @@ void VulkanReplay::OutputWindow::Create(WrappedVulkan *driver, VkDevice device, ObjDisp(inst)->GetPhysicalDeviceSurfaceCapabilitiesKHR(Unwrap(phys), Unwrap(surface), &capabilities); + if(capabilities.minImageCount < 8) + numImages = RDCMAX(numImages, capabilities.minImageCount); + RDCASSERT(capabilities.supportedUsageFlags & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT); // AMD didn't report this capability for a while. If the assert fires for you, update // your drivers! @@ -308,7 +313,7 @@ void VulkanReplay::OutputWindow::Create(WrappedVulkan *driver, VkDevice device, NULL, 0, Unwrap(surface), - 2, + numImages, imformat, imcolspace, {width, height},