diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 8b98ebc0..9b1331ca 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -6469,6 +6469,11 @@ namespace dxvk { } } + if (auto* implicitSwapchain = GetInternalSwapchain(0)) + implicitSwapchain->Reset(pPresentationParameters, pFullscreenDisplayMode); + else + m_swapchains.emplace_back(new D3D9SwapChainEx(this, pPresentationParameters, pFullscreenDisplayMode)); + if (pPresentationParameters->EnableAutoDepthStencil) { D3D9_COMMON_TEXTURE_DESC desc; desc.Width = pPresentationParameters->BackBufferWidth; @@ -6492,11 +6497,6 @@ namespace dxvk { SetDepthStencilSurface(m_autoDepthStencil.ptr()); } - if (auto* implicitSwapchain = GetInternalSwapchain(0)) - implicitSwapchain->Reset(pPresentationParameters, pFullscreenDisplayMode); - else - m_swapchains.emplace_back(new D3D9SwapChainEx(this, pPresentationParameters, pFullscreenDisplayMode)); - SetRenderTarget(0, GetInternalSwapchain(0)->GetBackBuffer(0)); // Force this if we end up binding the same RT to make scissor change go into effect.