|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
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 | |
| VKInstance & | operator= (const VKInstance &)=delete |
| VKInstance (VKInstance &&) noexcept | |
| VKInstance & | operator= (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. | |
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.