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

Classes

struct  InFlightCommandBuffer
struct  ThreadPool
struct  AutoCommandBuffer

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.
xiiUInt32 ReclaimCompleted ()
void ResetPools ()

Friends

class xiiMemoryUtils
class xiiGALDeviceVulkan
class xiiGALCommandQueueVulkan

Member Function Documentation

◆ ReclaimCompleted()

xiiUInt32 xiiGALCommandBufferPoolVulkan::ReclaimCompleted ( )

Poll fences and reclaim any completed buffers. Call at the start of each frame or from a dedicated thread.

◆ ResetPools()

void xiiGALCommandBufferPoolVulkan::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).


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsVulkan/Pools/CommandBufferPoolVulkan.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsVulkan/Pools/Implementation/CommandBufferPoolVulkan.cpp