From f2972c130bb8d9065c4b19249ac76f7edb389032 Mon Sep 17 00:00:00 2001 From: Ishan09811 <156402647+Ishan09811@users.noreply.github.com> Date: Thu, 16 Jan 2025 16:42:02 +0530 Subject: [PATCH] presentation_engine: fallback to FIFO if selected mode isn't supported --- app/src/main/cpp/skyline/gpu/presentation_engine.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/cpp/skyline/gpu/presentation_engine.cpp b/app/src/main/cpp/skyline/gpu/presentation_engine.cpp index 5e582ac4..1b7f00cf 100644 --- a/app/src/main/cpp/skyline/gpu/presentation_engine.cpp +++ b/app/src/main/cpp/skyline/gpu/presentation_engine.cpp @@ -342,8 +342,10 @@ namespace skyline::gpu { break; } auto modes{gpu.vkPhysicalDevice.getSurfacePresentModesKHR(**vkSurface)}; - if (std::find(modes.begin(), modes.end(), requestedMode) == modes.end()) - throw exception("Swapchain doesn't support present mode: {}", vk::to_string(requestedMode)); + if (std::find(modes.begin(), modes.end(), requestedMode) == modes.end()) { + LOGW("Swapchain doesn't support present mode: {} fallbacking to fifo mode", vk::to_string(requestedMode)); + requestedMode = vk::PresentModeKHR::eFifo; + } vkSwapchain.emplace(gpu.vkDevice, vk::SwapchainCreateInfoKHR{ .surface = **vkSurface,