MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::VKInstance Class Reference

Manages Vulkan instance creation and validation layers. More...

#include <VKInstance.hpp>

+ Collaboration diagram for MayaFlux::Core::VKInstance:

Public Member Functions

void cleanup ()
 Cleanup Vulkan instance.
 
vk::Instance get_instance () const
 Get the Vulkan instance handle.
 
bool initialize (bool enable_validation=true, const std::vector< const char * > &required_extensions={})
 Initialize Vulkan instance.
 
VKInstanceoperator= (const VKInstance &)=delete
 
VKInstanceoperator= (VKInstance &&) noexcept
 
 VKInstance ()=default
 
 VKInstance (const VKInstance &)=delete
 
 VKInstance (VKInstance &&) noexcept
 
 ~VKInstance ()
 Destructor to clean up Vulkan instance and debug messenger.
 

Private Member Functions

bool check_validation_layer_support (const std::vector< const char * > &layers)
 Check if requested validation layers are available.
 
bool setup_debug_messenger ()
 Setup debug messenger for validation layer output.
 

Static Private Member Functions

static vk::Bool32 debug_callback (vk::DebugUtilsMessageSeverityFlagBitsEXT message_severity, vk::DebugUtilsMessageTypeFlagsEXT message_types, const vk::DebugUtilsMessengerCallbackDataEXT *p_callback_data, void *p_user_data)
 Validation layer callback.
 

Private Attributes

vk::DebugUtilsMessengerEXT m_debug_messenger
 Debug messenger for validation layers.
 
vk::detail::DispatchLoaderDynamic m_dynamic_dispatcher
 Dynamic dispatcher for extension functions.
 
vk::Instance m_instance
 Vulkan instance handle.
 
bool m_validation_enabled = false
 Flag to indicate if validation layers are enabled.
 

Detailed Description

Manages Vulkan instance creation and validation layers.

The instance is the connection between your application and Vulkan. It handles global Vulkan state and validation layers for debugging.

Definition at line 14 of file VKInstance.hpp.


The documentation for this class was generated from the following files: