From 1fa8887c47772dc69f4cb3852050115336be32a9 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sun, 22 Sep 2019 19:20:53 +0200 Subject: [PATCH] [d3d11] Return device lost errors in Present if necessary --- src/d3d11/d3d11_swapchain.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/d3d11/d3d11_swapchain.cpp b/src/d3d11/d3d11_swapchain.cpp index 35e5d5cec..bf6295b33 100644 --- a/src/d3d11/d3d11_swapchain.cpp +++ b/src/d3d11/d3d11_swapchain.cpp @@ -183,13 +183,19 @@ namespace dxvk { FlushImmediateContext(); + HRESULT hr = S_OK; + try { PresentImage(SyncInterval); - return S_OK; } catch (const DxvkError& e) { Logger::err(e.message()); - return E_FAIL; + hr = E_FAIL; } + + if (m_device->getDeviceStatus() != VK_SUCCESS) + hr = DXGI_ERROR_DEVICE_RESET; + + return hr; }