=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: dxgi: Avoid recreating swapchain when we don't have user images.

Alexandre Julliard julliard at winehq.org
Wed Mar 6 15:29:41 CST 2019


Module: wine
Branch: master
Commit: 715a52a61cf8b21f658bc31aa8bde56c5a44af08
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=715a52a61cf8b21f658bc31aa8bde56c5a44af08

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Wed Mar  6 14:19:50 2019 +0100

dxgi: Avoid recreating swapchain when we don't have user images.

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dxgi/swapchain.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 991a505..cf084f7 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -2138,7 +2138,14 @@ static HRESULT STDMETHODCALLTYPE d3d12_swapchain_Present1(IDXGISwapChain3 *iface
     vr = d3d12_swapchain_acquire_next_image(swapchain);
     if (vr == VK_ERROR_OUT_OF_DATE_KHR)
     {
+        if (!d3d12_swapchain_have_user_images(swapchain))
+        {
+            FIXME("Cannot recreate swapchain without user images.\n");
+            return DXGI_STATUS_MODE_CHANGED;
+        }
+
         TRACE("Recreating Vulkan swapchain.\n");
+
         d3d12_swapchain_destroy_buffers(swapchain, FALSE);
         return d3d12_swapchain_recreate_vulkan_swapchain(swapchain);
     }




More information about the wine-cvs mailing list