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

High-level wrapper for Vulkan instance and device. More...

#include <VKContext.hpp>

+ Collaboration diagram for MayaFlux::Core::VKContext:

Public Member Functions

 VKContext ()=default
 
 ~VKContext ()=default
 
bool initialize (const GlobalGraphicsConfig &graphics_config, bool enable_validation=true, const std::vector< const char * > &required_extensions={})
 Initialize Vulkan context.
 
void cleanup ()
 Cleanup all Vulkan resources.
 
vk::Instance get_instance () const
 Get Vulkan instance.
 
vk::PhysicalDevice get_physical_device () const
 Get physical device.
 
vk::Device get_device () const
 Get logical device.
 
vk::Queue get_graphics_queue () const
 Get graphics queue.
 
vk::Queue get_compute_queue () const
 Get compute queue.
 
vk::Queue get_transfer_queue () const
 Get transfer queue.
 
const QueueFamilyIndicesget_queue_families () const
 Get queue family indices.
 
bool update_present_family (vk::SurfaceKHR surface)
 Update presentation support for a surface.
 
vk::SurfaceKHR create_surface (std::shared_ptr< Window > window)
 Create surface from window's native handles.
 
void destroy_surface (vk::SurfaceKHR surface)
 Destroy a specific surface Called when window is unregistered.
 
void wait_idle () const
 Wait for device idle.
 
const GraphicsSurfaceInfoget_surface_info () const
 Get graphics surface info.
 

Private Attributes

VKInstance m_instance
 
VKDevice m_device
 
GlobalGraphicsConfig m_graphics_config
 
std::vector< vk::SurfaceKHR > m_surfaces
 

Detailed Description

High-level wrapper for Vulkan instance and device.

Manages the complete Vulkan context lifecycle.

Definition at line 16 of file VKContext.hpp.


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