MayaFlux 0.4.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 205 of file GraphicsSubsystem.cpp.

206{
207 if (!m_running.load(std::memory_order_acquire)) {
208 return;
209 }
210
212 "Stopping Graphics Subsystem...");
213
214 m_running.store(false, std::memory_order_release);
215
216 if (m_graphics_thread.joinable()) {
217 m_graphics_thread.join();
218 }
219
220 m_backend->wait_idle();
221
224 }
225
226 for (auto& window : m_registered_windows) {
227 window->set_graphics_registered(false);
228 }
229
231 "Graphics Subsystem stopped.");
232}
#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: