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

◆ register_windows_for_processing()

void MayaFlux::Core::GraphicsSubsystem::register_windows_for_processing ( )

Register markend windows from window manager for swapchain processing.

Creates surfaces and swapchains for each window. Called during initialization and whenever new windows are created.

Definition at line 310 of file GraphicsSubsystem.cpp.

311{
312 for (auto& window : m_handle->windows.get_processing_windows()) {
313
314 if (window->is_graphics_registered()) {
315 continue;
316 }
317
318 if (m_backend->is_window_registered(window)) {
319 window->set_graphics_registered(true);
320 if (std::ranges::find(m_registered_windows, window) == m_registered_windows.end()) {
321 m_registered_windows.push_back(window);
322 }
323 continue;
324 }
325
326 if (m_backend->register_window(window)) {
327 m_registered_windows.push_back(window);
328 } else {
330 "Failed to register window '{}' for graphics processing",
331 window->get_create_info().title);
332 continue;
333 }
334 }
335}
#define MF_WARN(comp, ctx,...)
std::weak_ptr< Core::Window > window
Definition Picker.cpp:23
std::vector< std::shared_ptr< Window > > m_registered_windows
SubsystemProcessingHandle * m_handle
Reference to processing handle.
std::unique_ptr< IGraphicsBackend > m_backend
@ GraphicsSubsystem
Graphics subsystem operations (Vulkan, rendering pipeline)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Journal::Core, MayaFlux::Core::WindowManagerHandle::get_processing_windows(), MayaFlux::Journal::GraphicsSubsystem, m_backend, m_handle, m_registered_windows, MF_WARN, window, and MayaFlux::Core::SubsystemProcessingHandle::windows.

Referenced by process().

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