From 16f103ab42c6faca0cb2c4ce6e93546d22feb1a4 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Tue, 1 Oct 2019 01:10:08 +1000 Subject: Vulkan: Exclusive fullscreen support via VK_EXT_full_screen_exclusive --- Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp') diff --git a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp index 22f97b8888..59382166a9 100644 --- a/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp +++ b/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp @@ -371,13 +371,16 @@ void CommandBufferManager::SubmitCommandBuffer(u32 command_buffer_index, &present_image_index, nullptr}; - res = vkQueuePresentKHR(g_vulkan_context->GetPresentQueue(), &present_info); - if (res != VK_SUCCESS) + m_last_present_result = vkQueuePresentKHR(g_vulkan_context->GetPresentQueue(), &present_info); + if (m_last_present_result != VK_SUCCESS) { // VK_ERROR_OUT_OF_DATE_KHR is not fatal, just means we need to recreate our swap chain. - if (res != VK_ERROR_OUT_OF_DATE_KHR && res != VK_SUBOPTIMAL_KHR) - LOG_VULKAN_ERROR(res, "vkQueuePresentKHR failed: "); - m_present_failed_flag.Set(); + if (m_last_present_result != VK_ERROR_OUT_OF_DATE_KHR && res != VK_SUBOPTIMAL_KHR && + m_last_present_result != VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT) + { + LOG_VULKAN_ERROR(m_last_present_result, "vkQueuePresentKHR failed: "); + } + m_last_present_failed.Set(); } } -- cgit v1.2.3