From fb313a0f543a2f73a642cfa7ef1dbaa5d6d0df8c Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 17 Jul 2020 17:09:58 +0100 Subject: [PATCH] Respect minImageCount from surface capabilities --- renderdoc/driver/vulkan/vk_outputwindow.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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},