MayaFlux 0.1.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

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

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

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: