From 97122daf3badc6fa3db3d24f4819eb3204bf8314 Mon Sep 17 00:00:00 2001 From: Dario Date: Thu, 19 Dec 2024 13:24:10 -0300 Subject: [PATCH] Default to triple buffering if presentWait is supported. --- UnleashedRecomp/gpu/video.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/UnleashedRecomp/gpu/video.cpp b/UnleashedRecomp/gpu/video.cpp index 2e9ebba2..5c085e2c 100644 --- a/UnleashedRecomp/gpu/video.cpp +++ b/UnleashedRecomp/gpu/video.cpp @@ -1350,7 +1350,13 @@ void Video::CreateHostDevice() switch (Config::TripleBuffering) { case ETripleBuffering::Auto: - bufferCount = g_vulkan ? 2 : 3; // Defaulting to 3 is fine on D3D12 thanks to flip discard model. + if (g_vulkan) + // Defaulting to 3 is fine if presentWait as supported, as the maximum frame latency allowed is only 1. + bufferCount = g_device->getCapabilities().presentWait ? 3 : 2; + else + // Defaulting to 3 is fine on D3D12 thanks to flip discard model. + bufferCount = 3; + break; case ETripleBuffering::On: bufferCount = 3;