0
0
mirror of https://github.com/Ishan09811/pine.git synced 2025-04-28 09:35:08 +00:00

presentation_engine: fallback to FIFO if selected mode isn't supported

This commit is contained in:
Ishan09811 2025-01-16 16:42:02 +05:30 committed by GitHub
parent dfa6aab36a
commit f2972c130b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -342,8 +342,10 @@ namespace skyline::gpu {
break; break;
} }
auto modes{gpu.vkPhysicalDevice.getSurfacePresentModesKHR(**vkSurface)}; auto modes{gpu.vkPhysicalDevice.getSurfacePresentModesKHR(**vkSurface)};
if (std::find(modes.begin(), modes.end(), requestedMode) == modes.end()) if (std::find(modes.begin(), modes.end(), requestedMode) == modes.end()) {
throw exception("Swapchain doesn't support present mode: {}", vk::to_string(requestedMode)); 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{ vkSwapchain.emplace(gpu.vkDevice, vk::SwapchainCreateInfoKHR{
.surface = **vkSurface, .surface = **vkSurface,