From 3332bb284492cd74d262848a71e01686699aace7 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Thu, 27 Feb 2020 22:55:20 +0000 Subject: [PATCH] [d3d9] Add some missing synchronization when completely remaking a presenter --- src/d3d9/d3d9_swapchain.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/d3d9/d3d9_swapchain.cpp b/src/d3d9/d3d9_swapchain.cpp index 4dd768e27..9f3952c23 100644 --- a/src/d3d9/d3d9_swapchain.cpp +++ b/src/d3d9/d3d9_swapchain.cpp @@ -808,6 +808,12 @@ namespace dxvk { void D3D9SwapChainEx::CreatePresenter() { + // Ensure that we can safely destroy the swap chain + m_device->waitForSubmission(&m_presentStatus); + m_device->waitForIdle(); + + m_presentStatus.result = VK_SUCCESS; + DxvkDeviceQueue graphicsQueue = m_device->queues().graphics; vk::PresenterDevice presenterDevice;