From bb3e5f6cad493747c8061a32ae973d520b4461ea Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Fri, 19 Feb 2021 03:29:20 +0000 Subject: [PATCH] vkd3d: Account for front buffer in swapchain image count Signed-off-by: Joshua Ashton --- libs/vkd3d/swapchain.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d/swapchain.c b/libs/vkd3d/swapchain.c index b489eacc..86919c25 100644 --- a/libs/vkd3d/swapchain.c +++ b/libs/vkd3d/swapchain.c @@ -1358,12 +1358,13 @@ static HRESULT d3d12_swapchain_create_vulkan_swapchain(struct d3d12_swapchain *s return hresult_from_vk_result(vr); } - image_count = swapchain->desc.BufferCount; + /* Need to account for the front buffer, so + 1 */ + image_count = swapchain->desc.BufferCount + 1; image_count = max(image_count, surface_caps.minImageCount); if (surface_caps.maxImageCount) image_count = min(image_count, surface_caps.maxImageCount); - if (image_count != swapchain->desc.BufferCount) + if (image_count != (swapchain->desc.BufferCount + 1)) { WARN("Buffer count %u is not supported (%u-%u).\n", swapchain->desc.BufferCount, surface_caps.minImageCount, surface_caps.maxImageCount);