API_Specification » APISpec_Command_Buffers module

Chapter 5: Specification

Contents

Classes

struct VV::V1::CommandBuffer::InheritanceWindow::ConditionalRenderingInfo
Specification
struct VV::V1::CommandBuffer::InheritanceWindow::PassTransformInfo
Specification
struct VV::V1::CommandBuffer::InheritanceWindow
Specification
struct VV::V1::CommandBuffer::BeginInfo
Specification
struct VV::V1::CommandBuffer::SubmitInfo::TimelineSemaphore
Specification
struct VV::V1::CommandBuffer::SubmitInfo::D3D12Fence
Specification
struct VV::V1::CommandBuffer::SubmitInfo::Win32KeyedMutexAcquireRelease
Specification
struct VV::V1::CommandBuffer::SubmitInfo::DeviceGroup
Specification
struct VV::V1::CommandBuffer::SubmitInfo::PerformanceQuery
Specification
struct VV::V1::CommandBuffer::SubmitInfo
Specification
struct VV::V1::CommandBuffer::DeviceGroupBeginInfo
Specification
struct VV::V1::CommandBuffer
Command buffers are objects used to record commands which can be subsequently submitted to a device queue for execution.
struct VV::V1::CommandPool::AllocateInfo
Specification
struct VV::V1::CommandPool::CreateInfo
Specification
struct VV::V1::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. 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.
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.
struct VV::V2::CommandBuffer
Command buffers are objects used to record commands which can be subsequently submitted to a device queue for execution.
class VV::V3::CommandBuffer
Command buffers are objects used to record commands which can be subsequently submitted to a device queue for execution.
class VV::V3::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.

Enums

enum class ECommandBufferLevel { Primary = VK_COMMAND_BUFFER_LEVEL_PRIMARY, Secondary = VK_COMMAND_BUFFER_LEVEL_SECONDARY }
Specification
enum class ECommandBufferResetFlag: u32 { ReleaseResources = VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT, VV_SpecifyBitmaskable = VK_COMMAND_BUFFER_RESET_FLAG_BITS_MAX_ENUM }
Specification
enum class ECommandBufferUsageFlag: ui32 { OneTimeSubmit = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT, RenderPassContinue = VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT, SimultaneousUse = VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, VV_SpecifyBitmaskable = VK_COMMAND_BUFFER_USAGE_FLAG_BITS_MAX_ENUM }
Specification
enum class ECommandPoolCreateFlag: ui32 { Transient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT, ResetCommandBuffer = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, Protected = VK_COMMAND_POOL_CREATE_PROTECTED_BIT, VV_SpecifyBitmaskable = VK_COMMAND_POOL_CREATE_FLAG_BITS_MAX_ENUM }
Specification
enum class ECommandPoolResetFlags: u32 { ReleaseResources = VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT, VV_SpecifyBitmaskable = VK_COMMAND_POOL_RESET_FLAG_BITS_MAX_ENUM }
Specification

Typedefs

using Handle = VkCommandBuffer
Specification
using ResetFlags = Bitfield<ECommandBufferResetFlag, VkCommandBufferResetFlags>
Specification
using UsageFlags = Bitfield<ECommandBufferUsageFlag, VkCommandBufferUsageFlags>
Specification
using Handle = VkCommandPool
Specification
using CreateFlgas = Bitfield<ECommandPoolCreateFlag, VkCommandPoolCreateFlags>
Specification
using ResetFlags = Bitfield<ECommandPoolResetFlags, VkCommandPoolResetFlags>
Specification
using TrimFlags = Bitfield<EUndefined, VkCommandPoolTrimFlags>
Specification
using SubmitInfo = VkSubmitInfo
Specifies a command buffer submission batch.

Functions

static auto BeginRecord(const Handle _commandBuffer, const BeginInfo& _info) -> EResult
Specification
static void Execute(Handle _primaryCommandBuffer, ui32 _secondaryBufferCount, const Handle* _secondaryBuffers)
Specification
static auto Reset(Handle _commandBuffer, ResetFlags _flags) -> EResult
Specification
static void SetDeviceMask(Handle _commandBuffer, ui32 _deviceMask)
Specification
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
static auto SubmitToQueue(LogicalDevice::Queue::Handle _queue, ui32 _submitCount, const SubmitInfo* _submissions, Fence_Handle _fence) -> EResult
Submit command buffers to the queue.

Enum documentation

Typedef documentation

using Handle = VkCommandBuffer

Specification

using ResetFlags = Bitfield<ECommandBufferResetFlag, VkCommandBufferResetFlags>

Specification

using UsageFlags = Bitfield<ECommandBufferUsageFlag, VkCommandBufferUsageFlags>

Specification

using Handle = VkCommandPool

Specification

using CreateFlgas = Bitfield<ECommandPoolCreateFlag, VkCommandPoolCreateFlags>

Specification

using ResetFlags = Bitfield<ECommandPoolResetFlags, VkCommandPoolResetFlags>

Specification

using TrimFlags = Bitfield<EUndefined, VkCommandPoolTrimFlags>

Specification

using SubmitInfo = VkSubmitInfo

Specifies a command buffer submission batch.

Specification

Function documentation

static EResult BeginRecord(const Handle _commandBuffer, const BeginInfo& _info)

Specification

Parameters
_commandBuffer
_info

static void Execute(Handle _primaryCommandBuffer, ui32 _secondaryBufferCount, const Handle* _secondaryBuffers)

Specification

Parameters
_primaryCommandBuffer
_secondaryBufferCount
_secondaryBuffers

static EResult Reset(Handle _commandBuffer, ResetFlags _flags)

Specification

Parameters
_commandBuffer
_flags

static void SetDeviceMask(Handle _commandBuffer, ui32 _deviceMask)

Specification

static EResult Allocate(LogicalDevice::Handle _deviceHandle, const AllocateInfo& _allocateInfo, CommandBuffer::Handle* _commandBuffers)

Specification

Parameters
_deviceHandle
_allocateInfo
_commandBuffers

static EResult Create(LogicalDevice::Handle _deviceHandle, const CreateInfo& _createInfo, const Memory::AllocationCallbacks* _allocator, Handle& _commandPool)

Create a command pool.

Parameters
_deviceHandle
_createInfo
_allocator
_commandPool

Specification

static void Destroy(LogicalDevice::Handle _deviceHandle, Handle _commandPool, const Memory::AllocationCallbacks* _allocator)

Specification

Parameters
_deviceHandle
_commandPool
_allocator

static void Free(LogicalDevice::Handle _deviceHandle, Handle _commandPool, ui32 _bufferCount, const CommandBuffer::Handle* _commandBuffers)

Specification

Parameters
_deviceHandle
_commandPool
_bufferCount
_commandBuffers

static EResult Reset(LogicalDevice::Handle _deviceHandle, Handle _commandPool, ResetFlags _flags)

Specification

Parameters
_deviceHandle
_commandPool
_flags

static void Trim(LogicalDevice::Handle _deviceHandle, Handle _commandPool, TrimFlags _flags)

Specification

Parameters
_deviceHandle
_commandPool
_flags

static EResult SubmitToQueue(LogicalDevice::Queue::Handle _queue, ui32 _submitCount, const SubmitInfo* _submissions, Fence_Handle _fence)

Submit command buffers to the queue.

Parameters
_queue
_submitCount
_submissions
_fence

Specification