module
APISpec_Command_BuffersChapter 5: Specification
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
enum class ECommandBufferLevel
#include <VaultedVulkan/VV_Enums.hpp>
enum class ECommandBufferResetFlag: u32
#include <VaultedVulkan/VV_Enums.hpp>
enum class ECommandBufferUsageFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class ECommandPoolCreateFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class ECommandPoolResetFlags: u32
#include <VaultedVulkan/VV_Enums.hpp>
Typedef documentation
using Handle = VkCommandBuffer
#include <VaultedVulkan/VV_Command.hpp>
using ResetFlags = Bitfield<ECommandBufferResetFlag, VkCommandBufferResetFlags>
#include <VaultedVulkan/VV_Command.hpp>
using UsageFlags = Bitfield<ECommandBufferUsageFlag, VkCommandBufferUsageFlags>
#include <VaultedVulkan/VV_Command.hpp>
using Handle = VkCommandPool
#include <VaultedVulkan/VV_Command.hpp>
using CreateFlgas = Bitfield<ECommandPoolCreateFlag, VkCommandPoolCreateFlags>
#include <VaultedVulkan/VV_Command.hpp>
using ResetFlags = Bitfield<ECommandPoolResetFlags, VkCommandPoolResetFlags>
#include <VaultedVulkan/VV_Command.hpp>
using TrimFlags = Bitfield<EUndefined, VkCommandPoolTrimFlags>
#include <VaultedVulkan/VV_Command.hpp>
using SubmitInfo = VkSubmitInfo
#include <VaultedVulkan/VV_LogicalDevice.hpp>
Specifies a command buffer submission batch.
Function documentation
static EResult BeginRecord(const Handle _commandBuffer,
const BeginInfo& _info)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_commandBuffer | |
_info |
static void Execute(Handle _primaryCommandBuffer,
ui32 _secondaryBufferCount,
const Handle* _secondaryBuffers)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_primaryCommandBuffer | |
_secondaryBufferCount | |
_secondaryBuffers |
static EResult Reset(Handle _commandBuffer,
ResetFlags _flags)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_commandBuffer | |
_flags |
static void SetDeviceMask(Handle _commandBuffer,
ui32 _deviceMask)
#include <VaultedVulkan/VV_Command.hpp>
static EResult Allocate(LogicalDevice::Handle _deviceHandle,
const AllocateInfo& _allocateInfo,
CommandBuffer::Handle* _commandBuffers)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_deviceHandle | |
_allocateInfo | |
_commandBuffers |
static EResult Create(LogicalDevice::Handle _deviceHandle,
const CreateInfo& _createInfo,
const Memory::AllocationCallbacks* _allocator,
Handle& _commandPool)
#include <VaultedVulkan/VV_Command.hpp>
Create a command pool.
Parameters | |
---|---|
_deviceHandle | |
_createInfo | |
_allocator | |
_commandPool |
static void Destroy(LogicalDevice::Handle _deviceHandle,
Handle _commandPool,
const Memory::AllocationCallbacks* _allocator)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_deviceHandle | |
_commandPool | |
_allocator |
static void Free(LogicalDevice::Handle _deviceHandle,
Handle _commandPool,
ui32 _bufferCount,
const CommandBuffer::Handle* _commandBuffers)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_deviceHandle | |
_commandPool | |
_bufferCount | |
_commandBuffers |
static EResult Reset(LogicalDevice::Handle _deviceHandle,
Handle _commandPool,
ResetFlags _flags)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_deviceHandle | |
_commandPool | |
_flags |
static void Trim(LogicalDevice::Handle _deviceHandle,
Handle _commandPool,
TrimFlags _flags)
#include <VaultedVulkan/VV_Command.hpp>
Parameters | |
---|---|
_deviceHandle | |
_commandPool | |
_flags |
static EResult SubmitToQueue(LogicalDevice::Queue::Handle _queue,
ui32 _submitCount,
const SubmitInfo* _submissions,
Fence_Handle _fence)
#include <VaultedVulkan/VV_LogicalDevice.hpp>
Submit command buffers to the queue.
Parameters | |
---|---|
_queue | |
_submitCount | |
_submissions | |
_fence |