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

◆ stop()

void MayaFlux::Core::GraphicsSubsystem::stop ( )
overridevirtual

Stop the subsystem's processing/event loops.

Implements MayaFlux::Core::ISubsystem.

Definition at line 202 of file GraphicsSubsystem.cpp.

203{
204 if (!m_running.load(std::memory_order_acquire)) {
205 return;
206 }
207
209 "Stopping Graphics Subsystem...");
210
211 m_running.store(false, std::memory_order_release);
212
213 if (m_graphics_thread.joinable()) {
214 m_graphics_thread.join();
215 }
216
217 m_backend->wait_idle();
218
221 }
222
223 for (auto& window : m_registered_windows) {
224 window->set_graphics_registered(false);
225 }
226
228 "Graphics Subsystem stopped.");
229}
#define MF_INFO(comp, ctx,...)
std::vector< std::shared_ptr< Window > > m_registered_windows
std::unique_ptr< IGraphicsBackend > m_backend
@ GraphicsSubsystem
Graphics subsystem operations (Vulkan, rendering pipeline)
@ Core
Core engine, backend, subsystems.
void stop()
Stop all Portal::Graphics operations.
Definition Graphics.cpp:69
bool is_initialized()
Check if Portal::Graphics is initialized.
Definition Graphics.cpp:109

References MayaFlux::Journal::Core, MayaFlux::Journal::GraphicsSubsystem, MayaFlux::Portal::Graphics::is_initialized(), m_backend, m_graphics_thread, m_registered_windows, m_running, MF_INFO, and MayaFlux::Portal::Graphics::stop().

Referenced by shutdown(), and ~GraphicsSubsystem().

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