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

◆ cleanup()

void MayaFlux::Core::VulkanBackend::cleanup ( )
overridevirtual

Cleanup the graphics backend and release all resources.

Implements MayaFlux::Core::IGraphicsBackend.

Definition at line 86 of file VulkanBackend.cpp.

87{
88 if (!m_is_initialized) {
89 return;
90 }
91 m_context->wait_idle();
92
94 m_resource_manager->cleanup();
95 m_resource_manager.reset();
96 }
97
99 m_pipeline_manager->cleanup();
100 m_pipeline_manager.reset();
101 }
102
103 m_window_handler->cleanup();
104
105 if (m_command_manager) {
106 m_command_manager->cleanup();
107 }
108
109 m_context->cleanup();
110
111 auto& registry = Registry::BackendRegistry::instance();
112 registry.unregister_service<Registry::Service::BufferService>();
113 registry.unregister_service<Registry::Service::ComputeService>();
114 registry.unregister_service<Registry::Service::DisplayService>();
115
116 m_display_service.reset();
117 m_compute_service.reset();
118 m_buffer_service.reset();
119 m_is_initialized = false;
120}
std::shared_ptr< Registry::Service::ComputeService > m_compute_service
std::shared_ptr< Registry::Service::BufferService > m_buffer_service
std::unique_ptr< BackendWindowHandler > m_window_handler
std::unique_ptr< VKContext > m_context
std::shared_ptr< Registry::Service::DisplayService > m_display_service
std::unique_ptr< BackendPipelineManager > m_pipeline_manager
std::unique_ptr< VKCommandManager > m_command_manager
std::unique_ptr< BackendResourceManager > m_resource_manager
static BackendRegistry & instance()
Get the global registry instance.

References MayaFlux::Registry::BackendRegistry::instance(), m_buffer_service, m_command_manager, m_compute_service, m_context, m_display_service, m_is_initialized, m_pipeline_manager, m_resource_manager, m_window_handler, and MayaFlux::Registry::Service::DisplayService::wait_idle.

Referenced by ~VulkanBackend().

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