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

void cleanup ()
 Cleanup all Vulkan resources.
 
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.
 
vk::Queue get_compute_queue () const
 Get compute queue.
 
vk::Device get_device () const
 Get logical device.
 
vk::Queue get_graphics_queue () const
 Get graphics queue.
 
vk::Instance get_instance () const
 Get Vulkan instance.
 
vk::PhysicalDevice get_physical_device () const
 Get physical device.
 
const QueueFamilyIndicesget_queue_families () const
 Get queue family indices.
 
const GraphicsSurfaceInfoget_surface_info () const
 Get graphics surface info.
 
vk::Queue get_transfer_queue () const
 Get transfer queue.
 
bool initialize (const GlobalGraphicsConfig &graphics_config, bool enable_validation=true, const std::vector< const char * > &required_extensions={})
 Initialize Vulkan context.
 
bool update_present_family (vk::SurfaceKHR surface)
 Update presentation support for a surface.
 
 VKContext ()=default
 
void wait_idle () const
 Wait for device idle.
 
 ~VKContext ()=default
 

Private Attributes

VKDevice m_device
 
GlobalGraphicsConfig m_graphics_config
 
VKInstance m_instance
 
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: