summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
diff options
context:
space:
mode:
authorConnor McLaughlin <stenzek@gmail.com>2019-10-31 23:42:38 +1000
committerGitHub <noreply@github.com>2019-10-31 23:42:38 +1000
commitc6841a027a1c34a35b94e436e909cfdbfbbdbfc7 (patch)
treef09efa7bee413d3f2e03c0391c73ebfed93923de /Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
parentd3ee0a4535cb34b2d7c27219d43a82cb1094e7f6 (diff)
parent16f103ab42c6faca0cb2c4ce6e93546d22feb1a4 (diff)
Merge pull request #8372 from stenzek/vulkan-exclusive-fullscreen
Vulkan: Exclusive fullscreen support via VK_EXT_full_screen_exclusive
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp13
1 files changed, 8 insertions, 5 deletions
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();
}
}