33#ifndef DVD_COMMAND_BUFFER_POOL_H_
34#define DVD_COMMAND_BUFFER_POOL_H_
51 void reset()
noexcept;
66void InitPools(
const size_t poolSizeFactor);
vector< CommandBuffer * > _pool
MemoryPool< CommandBuffer, prevPOW2(sizeof(CommandBuffer)) *(1u<< 3u)> _memPool
Handle< CommandBuffer > allocateBuffer(const char *name, size_t reservedCmdCount)
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)
void DeallocateCommandBuffer(Handle< CommandBuffer > &buffer)
Handle< CommandBuffer > AllocateCommandBuffer(const char *name, const size_t reservedCmdCount)
void InitPools(const size_t poolSizeFactor)
Handle console commands that start with a forward slash.
std::shared_mutex SharedMutex
eastl::vector< Type > vector
constexpr U32 prevPOW2(U32 n) noexcept