23 : _poolSizeFactor( poolSizeFactor )
63 buf->
clear( name, reservedCmdCount );
83 _pool.resize( newSize,
nullptr );
93 if ( handle != INVALID_HANDLE<CommandBuffer>)
108 handle = INVALID_HANDLE<CommandBuffer>;
114 if ( handle != INVALID_HANDLE<CommandBuffer> )
#define PROFILE_SCOPE_AUTO(CATEGORY)
vector< CommandBuffer * > _pool
MemoryPool< CommandBuffer, prevPOW2(sizeof(CommandBuffer)) *(1u<< 3u)> _memPool
Handle< CommandBuffer > allocateBuffer(const char *name, size_t reservedCmdCount)
CommandBufferPool(size_t poolSizeFactor)
void deallocateBuffer(Handle< CommandBuffer > &handle)
Handle< CommandBuffer > allocateBufferLocked(const char *name, size_t reservedCmdCount, bool retry=false)
const size_t _poolSizeFactor
CommandBuffer * get(Handle< CommandBuffer > handle)
vector< std::pair< bool, U8 > > _freeList
void DestroyPools() noexcept
CommandBuffer * Get(Handle< CommandBuffer > handle)
static CommandBufferPool * g_sCommandBufferPool
void DeallocateCommandBuffer(Handle< CommandBuffer > &buffer)
Handle< CommandBuffer > AllocateCommandBuffer(const char *name, const size_t reservedCmdCount)
void InitPools(const size_t poolSizeFactor)
constexpr Optick::Category::Type Graphics
Handle console commands that start with a forward slash.
std::lock_guard< mutex > LockGuard
std::shared_lock< mutex > SharedLock