Respect minImageCount from surface capabilities

This commit is contained in:
baldurk
2020-07-17 17:09:58 +01:00
parent 05e2761fb8
commit fb313a0f54
+6 -1
View File
@@ -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},