Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Rebohle <philip.rebohle@tu-dortmund.de>2022-09-02 15:20:50 +0300
committerPhilip Rebohle <philip.rebohle@tu-dortmund.de>2022-09-02 15:20:50 +0300
commitad65889a7bc5b4dad53742aa1af5af07c7f0f0f3 (patch)
tree996121ebae7cd382bf1a52d2af551615583398a2
parent9c9f3ac165ddd65a2c2f22c4c40f5f2f917e6676 (diff)
[dxvk] Don't implicitly stall in Present for waitable swap chainsduplicate-handle
Seems to match Windows behaviour.
-rw-r--r--src/d3d11/d3d11_swapchain.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/d3d11/d3d11_swapchain.cpp b/src/d3d11/d3d11_swapchain.cpp
index 21772d53..2590c8eb 100644
--- a/src/d3d11/d3d11_swapchain.cpp
+++ b/src/d3d11/d3d11_swapchain.cpp
@@ -560,13 +560,12 @@ namespace dxvk {
void D3D11SwapChain::SyncFrameLatency() {
- // Wait for the sync event so that we respect the maximum frame latency
- m_frameLatencySignal->wait(m_frameId - GetActualFrameLatency());
-
if (m_frameLatencyEvent) {
m_frameLatencySignal->setCallback(m_frameId, [cFrameLatencyEvent = m_frameLatencyEvent] () {
ReleaseSemaphore(cFrameLatencyEvent, 1, nullptr);
});
+ } else {
+ m_frameLatencySignal->wait(m_frameId - GetActualFrameLatency());
}
}