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

Manages Vulkan command pools and command buffers. More...

#include <VKCommandManager.hpp>

+ Collaboration diagram for MayaFlux::Core::VKCommandManager:

Public Member Functions

 VKCommandManager ()=default
 
 ~VKCommandManager ()
 
bool initialize (vk::Device device, uint32_t graphics_queue_family)
 Initialize command manager.
 
void cleanup ()
 Cleanup all command pools and buffers.
 
vk::CommandBuffer allocate_command_buffer ()
 Allocate a command buffer from the pool.
 
void free_command_buffer (vk::CommandBuffer command_buffer)
 Free a command buffer back to the pool.
 
vk::CommandBuffer begin_single_time_commands ()
 Begin single-time command (for transfers, etc.)
 
void end_single_time_commands (vk::CommandBuffer command_buffer, vk::Queue queue)
 End and submit single-time command.
 
void reset_pool ()
 Reset command pool (invalidates all allocated buffers)
 
vk::CommandPool get_pool () const
 Get the command pool.
 

Private Attributes

vk::Device m_device
 
vk::CommandPool m_command_pool
 
uint32_t m_graphics_queue_family = 0
 
std::vector< vk::CommandBuffer > m_allocated_buffers
 

Detailed Description

Manages Vulkan command pools and command buffers.

Handles command buffer allocation, recording, and submission. Creates per-thread command pools for thread safety.

Definition at line 14 of file VKCommandManager.hpp.


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