From 439043ddb4db3b03a4f0b3448b1c9b682f978dbf Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 2 Sep 2022 14:29:38 +0200 Subject: [PATCH] [d3d11] Do not implicitly stall waitable swap chains --- src/d3d11/d3d11_swapchain.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/d3d11/d3d11_swapchain.cpp b/src/d3d11/d3d11_swapchain.cpp index 21772d539..7b2ce118d 100644 --- a/src/d3d11/d3d11_swapchain.cpp +++ b/src/d3d11/d3d11_swapchain.cpp @@ -572,7 +572,10 @@ namespace dxvk { uint32_t D3D11SwapChain::GetActualFrameLatency() { - uint32_t maxFrameLatency = m_frameLatency; + // DXGI does not seem to implicitly synchronize waitable swap chains, + // so in that case we should just respect the user config. For regular + // swap chains, pick the latency from the DXGI device. + uint32_t maxFrameLatency = DXGI_MAX_SWAP_CHAIN_BUFFERS; if (!(m_desc.Flags & DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT)) m_dxgiDevice->GetMaximumFrameLatency(&maxFrameLatency);