From 51886d7c9729f38344ad33490cc22be28bd9696b Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 6 Feb 2024 10:16:27 +0100 Subject: [PATCH] rhi: d3d11: Flush() when destroying a swapchain MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-120276 Change-Id: Iaf79c4dcf60d9a52bd562fd94976402cf570147d Reviewed-by: Tor Arne Vestbø (cherry picked from commit cff5a49cc20c3c9d98a5f97cd702a378ae29611b) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit eb3529ea3554642c65402b89e39416bf657170d8) (cherry picked from commit 87d075f7be7abdf56e622f2b5b20cdb6f6e418de) --- src/gui/rhi/qrhid3d11.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/gui/rhi/qrhid3d11.cpp b/src/gui/rhi/qrhid3d11.cpp index 20ceeaf254a..ddd843667a3 100644 --- a/src/gui/rhi/qrhid3d11.cpp +++ b/src/gui/rhi/qrhid3d11.cpp @@ -4736,8 +4736,12 @@ void QD3D11SwapChain::destroy() } QRHI_RES_RHI(QRhiD3D11); - if (rhiD) + if (rhiD) { rhiD->unregisterResource(this); + // See Deferred Destruction Issues with Flip Presentation Swap Chains in + // https://learn.microsoft.com/en-us/windows/win32/api/d3d11/nf-d3d11-id3d11devicecontext-flush + rhiD->context->Flush(); + } } QRhiCommandBuffer *QD3D11SwapChain::currentFrameCommandBuffer()