vkBeginCommandBuffer
To begin recording a command buffer, call:
VkResult vkBeginCommandBuffer(
VkCommandBuffer commandBuffer,
const VkCommandBufferBeginInfo* pBeginInfo);
commandBufferis the handle of the command buffer which is to be put in the recording state.pBeginInfois a pointer to a VkCommandBufferBeginInfo structure defining additional information about how the command buffer begins recording.
Valid Usage
VUID-vkBeginCommandBuffer-commandBuffer-00049
commandBuffer must not be in the recording or pending state
VUID-vkBeginCommandBuffer-commandBuffer-00050
If commandBuffer was allocated from a VkCommandPool which
did not have the VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT
flag set, commandBuffer must be in the
initial state
VUID-vkBeginCommandBuffer-commandBuffer-00051
If commandBuffer is a secondary command buffer, the
pInheritanceInfo member of pBeginInfo must be a valid
VkCommandBufferInheritanceInfo structure
VUID-vkBeginCommandBuffer-commandBuffer-00052
If commandBuffer is a secondary command buffer and either the
occlusionQueryEnable member of the pInheritanceInfo member
of pBeginInfo is VK_FALSE, or the
occlusionQueryPrecise feature
is not enabled, then pBeginInfo→pInheritanceInfo→queryFlagsmust not contain VK_QUERY_CONTROL_PRECISE_BIT
VUID-vkBeginCommandBuffer-commandBuffer-02840
If commandBuffer is a primary command buffer, then
pBeginInfo→flags must not set both the
VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT and the
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flags
Valid Usage (Implicit)
VUID-vkBeginCommandBuffer-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkBeginCommandBuffer-pBeginInfo-parameter
pBeginInfo must be a valid pointer to a valid VkCommandBufferBeginInfo structure
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::