VV::V1::CommandPool struct

Command pools are opaque objects that command buffer memory is allocated from, and which allow the implementation to amortize the cost of resource creation across multiple command buffers. Command pools are externally synchronized, meaning that a command pool must not be used concurrently in multiple threads. That includes use via recording commands on any command buffers allocated from the pool, as well as operations that allocate, free, and reset command buffers or the pool itself.

Specification

Derived classes

struct VV::V2::CommandPool
Command pools are opaque objects that command buffer memory is allocated from, and which allow the implementation to amortize the cost of resource creation across multiple command buffers.

Public types

struct AllocateInfo
Specification
struct CreateInfo
Specification
using Handle = VkCommandPool
Specification
using CreateFlgas = Bitfield<ECommandPoolCreateFlag, VkCommandPoolCreateFlags>
Specification
using ResetFlags = Bitfield<ECommandPoolResetFlags, VkCommandPoolResetFlags>
Specification
using TrimFlags = Bitfield<EUndefined, VkCommandPoolTrimFlags>
Specification

Public static functions

static auto Allocate(LogicalDevice::Handle _deviceHandle, const AllocateInfo& _allocateInfo, CommandBuffer::Handle* _commandBuffers) -> EResult
Specification
static auto Create(LogicalDevice::Handle _deviceHandle, const CreateInfo& _createInfo, const Memory::AllocationCallbacks* _allocator, Handle& _commandPool) -> EResult
Create a command pool.
static void Destroy(LogicalDevice::Handle _deviceHandle, Handle _commandPool, const Memory::AllocationCallbacks* _allocator)
Specification
static void Free(LogicalDevice::Handle _deviceHandle, Handle _commandPool, ui32 _bufferCount, const CommandBuffer::Handle* _commandBuffers)
Specification
static auto Reset(LogicalDevice::Handle _deviceHandle, Handle _commandPool, ResetFlags _flags) -> EResult
Specification
static void Trim(LogicalDevice::Handle _deviceHandle, Handle _commandPool, TrimFlags _flags)
Specification