MayaFlux 0.5.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 350 of file VKSwapchain.cpp.

353{
354 vk::PresentModeKHR vk_mode = to_vk_present_mode(desired_mode);
355
356 for (const auto& mode : available_modes) {
357 if (mode == vk_mode) {
358 return mode;
359 }
360 }
361
363 for (const auto& mode : available_modes) {
364 if (mode == vk::PresentModeKHR::eMailbox) {
366 "Desired present mode not available, using MAILBOX");
367 return mode;
368 }
369 }
370 for (const auto& mode : available_modes) {
371 if (mode == vk::PresentModeKHR::eImmediate) {
373 "Desired present mode not available, using IMMEDIATE");
374 return mode;
375 }
376 }
377 }
378
380 "Desired present mode not available, falling back to FIFO (VSync)");
381 return vk::PresentModeKHR::eFifo;
382}
#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.
std::vector< double > mode(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Mode per window via tolerance-bucketed frequency count.
Definition Analysis.cpp:559

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: