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

◆ initialize()

bool MayaFlux::Core::VulkanBackend::initialize ( const GlobalGraphicsConfig &  config)
overridevirtual

Initialize the graphics backend with global configuration.

Parameters
configGlobal graphics configuration
Returns
True if initialization was successful, false otherwise

Implements MayaFlux::Core::IGraphicsBackend.

Definition at line 33 of file VulkanBackend.cpp.

34{
35 if (m_is_initialized) {
36 return true;
37 }
38 if (!m_context->initialize(config, config.backend_info.enable_validation)) {
40 "Failed to initialize Vulkan context!");
41 return false;
42 }
43
44 if (!m_command_manager->initialize(
45 m_context->get_device(),
46 m_context->get_queue_families().graphics_family.value(),
47 m_context->get_queue_families().compute_family.value())) {
48
50 "Failed to initialize command manager!");
51 m_command_manager->cleanup();
52 m_context->cleanup();
53 return false;
54 }
55
57
58 m_is_initialized = true;
59 return true;
60}
#define MF_RT_ERROR(comp, ctx,...)
std::unique_ptr< VKContext > m_context
std::unique_ptr< VKCommandManager > m_command_manager
@ GraphicsBackend
Graphics/visual rendering backend (Vulkan, OpenGL)
@ Core
Core engine, backend, subsystems.

References MayaFlux::Core::GlobalGraphicsConfig::backend_info, MayaFlux::Journal::Core, MayaFlux::Core::GraphicsBackendInfo::enable_validation, MayaFlux::Journal::GraphicsBackend, m_command_manager, m_context, m_is_initialized, MF_RT_ERROR, and register_backend_services().

+ Here is the call graph for this function: