=?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