XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALCommandBufferPoolVulkan Class Reference

Classes

struct  AutoCommandBuffer
 RAII handle for a VkCommandBuffer allocated from this pool. On destruction: if not submitted, returns it immediately to free-list. If submitted via xiiGALCommandBufferPoolVulkan::RecycleAfterSubmit, the command buffer is moved out and not auto-recycled. More...
 
struct  InFlightCommandBuffer
 
struct  ThreadPool
 

Public Member Functions

AutoCommandBuffer AllocatePrimaryCommandBuffer ()
 Allocate a primary-level command buffer for the current thread.
 
AutoCommandBuffer AllocateSecondaryCommandBuffer ()
 Allocate a secondary-level command buffer for the current thread.
 
void RecycleAfterSubmit (AutoCommandBuffer &&commandBuffer, xiiGALCommandListDataVulkan &&commandListData, xiiUInt64 uiFenceValue)
 Submit wrapper: after vkQueueSubmit(..., fence), call this to defer recycling.
 
void ReclaimCompleted ()
 Poll fences and reclaim any completed buffers. Call at the start of each frame or from a dedicated thread.
 
void ResetPools ()
 Resets all underlying VkCommandPools, invalidating prerecorded buffers. Freelist is cleared; next allocate will re‐create new buffers. Hard reset all pools (invalidates all buffers, in-flight or free).
 

Friends

class xiiMemoryUtils
 
class xiiGALDeviceVulkan
 
class xiiGALCommandQueueVulkan
 

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