MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ choose_present_mode()

vk::PresentModeKHR MayaFlux::Core::VKSwapchain::choose_present_mode ( const std::vector< vk::PresentModeKHR > &  available_modes,
GraphicsSurfaceInfo::PresentMode  desired_mode 
) const
private

Choose best present mode from available modes based on config.

Definition at line 342 of file VKSwapchain.cpp.

345{
346 vk::PresentModeKHR vk_mode = to_vk_present_mode(desired_mode);
347
348 for (const auto& mode : available_modes) {
349 if (mode == vk_mode) {
350 return mode;
351 }
352 }
353
355 for (const auto& mode : available_modes) {
356 if (mode == vk::PresentModeKHR::eMailbox) {
358 "Desired present mode not available, using MAILBOX");
359 return mode;
360 }
361 }
362 for (const auto& mode : available_modes) {
363 if (mode == vk::PresentModeKHR::eImmediate) {
365 "Desired present mode not available, using IMMEDIATE");
366 return mode;
367 }
368 }
369 }
370
372 "Desired present mode not available, falling back to FIFO (VSync)");
373 return vk::PresentModeKHR::eFifo;
374}
#define MF_WARN(comp, ctx,...)
vk::PresentModeKHR to_vk_present_mode(GraphicsSurfaceInfo::PresentMode mode)
@ GraphicsBackend
Graphics/visual rendering backend (Vulkan, OpenGL)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, MayaFlux::Journal::GraphicsBackend, MayaFlux::Core::GraphicsSurfaceInfo::IMMEDIATE, MayaFlux::Core::GraphicsSurfaceInfo::MAILBOX, MF_WARN, and MayaFlux::Core::to_vk_present_mode().

Referenced by create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: