C Specification
Secondary command buffers must not be directly submitted to a queue. To record a secondary command buffer to execute as part of a primary command buffer, call:
// Provided by VK_VERSION_1_0
void vkCmdExecuteCommands(
VkCommandBuffer commandBuffer,
uint32_t commandBufferCount,
const VkCommandBuffer* pCommandBuffers);
Parameters
-
commandBufferis a handle to a primary command buffer that the secondary command buffers are executed in. -
commandBufferCountis the length of thepCommandBuffersarray. -
pCommandBuffersis a pointer to an array ofcommandBufferCountsecondary command buffer handles, which are recorded to execute in the primary command buffer in the order they are listed in the array.
Description
If any element of pCommandBuffers was not recorded with the
VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag, and it was recorded
into any other primary command buffer which is currently in the
executable or recording state, that primary
command buffer becomes invalid.
If the nestedCommandBuffer feature
is enabled it is valid usage for vkCmdExecuteCommands to also be
recorded to a secondary command buffer.
-
VUID-vkCmdExecuteCommands-pCommandBuffers-00088
Each element ofpCommandBuffersmust have been allocated with alevelofVK_COMMAND_BUFFER_LEVEL_SECONDARY -
VUID-vkCmdExecuteCommands-pCommandBuffers-00089
Each element ofpCommandBuffersmust be in the pending or executable state -
VUID-vkCmdExecuteCommands-pCommandBuffers-00091
If any element ofpCommandBufferswas not recorded with theVK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BITflag, it must not be in the pending state -
VUID-vkCmdExecuteCommands-pCommandBuffers-00092
If any element ofpCommandBufferswas not recorded with theVK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BITflag, it must not have already been recorded tocommandBuffer -
VUID-vkCmdExecuteCommands-pCommandBuffers-00093
If any element ofpCommandBufferswas not recorded with theVK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BITflag, it must not appear more than once inpCommandBuffers -
VUID-vkCmdExecuteCommands-pCommandBuffers-00094
Each element ofpCommandBuffersmust have been allocated from aVkCommandPoolthat was created for the same queue family as theVkCommandPoolfrom whichcommandBufferwas allocated -
VUID-vkCmdExecuteCommands-pCommandBuffers-00096
IfvkCmdExecuteCommandsis being called within a render pass instance, each element ofpCommandBuffersmust have been recorded with theVK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT -
VUID-vkCmdExecuteCommands-pCommandBuffers-00099
IfvkCmdExecuteCommandsis being called within a render pass instance, and any element ofpCommandBufferswas recorded with VkCommandBufferInheritanceInfo::framebuffernot equal to VK_NULL_HANDLE, thatVkFramebuffermust match theVkFramebufferused in the current render pass instance -
VUID-vkCmdExecuteCommands-contents-09680
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRenderPass, and vkCmdNextSubpass has not been called in the current render pass instance, thecontentsparameter of vkCmdBeginRenderPass must have beenVK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, orVK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT -
VUID-vkCmdExecuteCommands-None-09681
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRenderPass, and vkCmdNextSubpass has been called in the current render pass instance, thecontentsparameter of the last call to vkCmdNextSubpass must have beenVK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS, orVK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_KHR -
VUID-vkCmdExecuteCommands-pCommandBuffers-06019
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRenderPass, each element ofpCommandBuffersmust have been recorded with VkCommandBufferInheritanceInfo::subpassset to the index of the subpass which the given command buffer will be executed in -
VUID-vkCmdExecuteCommands-pBeginInfo-06020
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRenderPass, the render passes specified in thepBeginInfo->pInheritanceInfo->renderPassmembers of the vkBeginCommandBuffer commands used to begin recording each element ofpCommandBuffersmust be compatible with the current render pass -
VUID-vkCmdExecuteCommands-pNext-02865
IfvkCmdExecuteCommandsis being called within a render pass instance that included VkRenderPassTransformBeginInfoQCOM in thepNextchain of VkRenderPassBeginInfo, then each element ofpCommandBuffersmust have been recorded with VkCommandBufferInheritanceRenderPassTransformInfoQCOM in thepNextchain of VkCommandBufferBeginInfo -
VUID-vkCmdExecuteCommands-pNext-02866
IfvkCmdExecuteCommandsis being called within a render pass instance that included VkRenderPassTransformBeginInfoQCOM in thepNextchain of VkRenderPassBeginInfo, then each element ofpCommandBuffersmust have been recorded with VkCommandBufferInheritanceRenderPassTransformInfoQCOM::transformidentical to VkRenderPassTransformBeginInfoQCOM::transform -
VUID-vkCmdExecuteCommands-pNext-02867
IfvkCmdExecuteCommandsis being called within a render pass instance that included VkRenderPassTransformBeginInfoQCOM in thepNextchain of VkRenderPassBeginInfo, then each element ofpCommandBuffersmust have been recorded with VkCommandBufferInheritanceRenderPassTransformInfoQCOM::renderAreaidentical to VkRenderPassBeginInfo::renderArea -
VUID-vkCmdExecuteCommands-pCommandBuffers-00100
IfvkCmdExecuteCommandsis not being called within a render pass instance, each element ofpCommandBuffersmust not have been recorded with theVK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT -
VUID-vkCmdExecuteCommands-commandBuffer-00101
If theinheritedQueriesfeature is not enabled,commandBuffermust not have any queries active -
VUID-vkCmdExecuteCommands-commandBuffer-00102
IfcommandBufferhas aVK_QUERY_TYPE_OCCLUSIONquery active, then each element ofpCommandBuffersmust have been recorded withVkCommandBufferInheritanceInfo::occlusionQueryEnableset toVK_TRUE -
VUID-vkCmdExecuteCommands-commandBuffer-00103
IfcommandBufferhas aVK_QUERY_TYPE_OCCLUSIONquery active, then each element ofpCommandBuffersmust have been recorded withVkCommandBufferInheritanceInfo::queryFlagshaving all bits set that are set for the query -
VUID-vkCmdExecuteCommands-commandBuffer-00104
IfcommandBufferhas aVK_QUERY_TYPE_PIPELINE_STATISTICSquery active, then each element ofpCommandBuffersmust have been recorded withVkCommandBufferInheritanceInfo::pipelineStatisticshaving all bits set that are set in theVkQueryPoolthe query uses -
VUID-vkCmdExecuteCommands-pCommandBuffers-00105
Each element ofpCommandBuffersmust not begin any query types that are active incommandBuffer -
VUID-vkCmdExecuteCommands-commandBuffer-07594
commandBuffermust not have any queries other thanVK_QUERY_TYPE_OCCLUSIONandVK_QUERY_TYPE_PIPELINE_STATISTICSactive -
VUID-vkCmdExecuteCommands-commandBuffer-01820
IfcommandBufferis a protected command buffer andprotectedNoFaultis not supported, each element ofpCommandBuffersmust be a protected command buffer -
VUID-vkCmdExecuteCommands-commandBuffer-01821
IfcommandBufferis an unprotected command buffer andprotectedNoFaultis not supported, each element ofpCommandBuffersmust be an unprotected command buffer -
VUID-vkCmdExecuteCommands-None-02286
This command must not be recorded when transform feedback is active -
VUID-vkCmdExecuteCommands-commandBuffer-06533
IfvkCmdExecuteCommandsis being called within a render pass instance and any recorded command incommandBufferin the current subpass will write to an image subresource as an attachment, commands recorded in elements ofpCommandBuffersmust not read from the memory backing that image subresource in any other way -
VUID-vkCmdExecuteCommands-commandBuffer-06534
IfvkCmdExecuteCommandsis being called within a render pass instance and any recorded command incommandBufferin the current subpass will read from an image subresource used as an attachment in any way other than as an attachment, commands recorded in elements ofpCommandBuffersmust not write to that image subresource as an attachment -
VUID-vkCmdExecuteCommands-pCommandBuffers-06535
IfvkCmdExecuteCommandsis being called within a render pass instance and any recorded command in a given element ofpCommandBufferswill write to an image subresource as an attachment, commands recorded in elements ofpCommandBuffersat a higher index must not read from the memory backing that image subresource in any other way -
VUID-vkCmdExecuteCommands-pCommandBuffers-06536
IfvkCmdExecuteCommandsis being called within a render pass instance and any recorded command in a given element ofpCommandBufferswill read from an image subresource used as an attachment in any way other than as an attachment, commands recorded in elements ofpCommandBuffersat a higher index must not write to that image subresource as an attachment -
VUID-vkCmdExecuteCommands-pCommandBuffers-06021
IfpCommandBufferscontains any suspended render pass instances, there must be no action or synchronization commands between that render pass instance and any render pass instance that resumes it -
VUID-vkCmdExecuteCommands-pCommandBuffers-06022
IfpCommandBufferscontains any suspended render pass instances, there must be no render pass instances between that render pass instance and any render pass instance that resumes it -
VUID-vkCmdExecuteCommands-variableSampleLocations-06023
If thevariableSampleLocationslimit is not supported, and any element ofpCommandBufferscontains any suspended render pass instances, where a graphics pipeline has been bound, any pipelines bound in the render pass instance that resumes it, or any subsequent render pass instances that resume from that one and so on, must use the same sample locations -
VUID-vkCmdExecuteCommands-flags-06024
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, its VkRenderingInfo::flagsparameter must have includedVK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT -
VUID-vkCmdExecuteCommands-pBeginInfo-06025
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, the render passes specified in thepBeginInfo->pInheritanceInfo->renderPassmembers of the vkBeginCommandBuffer commands used to begin recording each element ofpCommandBuffersmust be VK_NULL_HANDLE -
VUID-vkCmdExecuteCommands-flags-06026
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, theflagsmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the VkRenderingInfo::flagsparameter to vkCmdBeginRendering, excludingVK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT -
VUID-vkCmdExecuteCommands-colorAttachmentCount-06027
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, thecolorAttachmentCountmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the VkRenderingInfo::colorAttachmentCountparameter to vkCmdBeginRendering -
VUID-vkCmdExecuteCommands-imageView-06028
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, if theimageViewmember of an element of the VkRenderingInfo::pColorAttachmentsparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the corresponding element of thepColorAttachmentFormatsmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the format used to create that image view -
VUID-vkCmdExecuteCommands-imageView-07606
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, if theimageViewmember of an element of the VkRenderingInfo::pColorAttachmentsparameter to vkCmdBeginRendering is VK_NULL_HANDLE, the corresponding element of thepColorAttachmentFormatsmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust beVK_FORMAT_UNDEFINED -
VUID-vkCmdExecuteCommands-pDepthAttachment-06029
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, if the VkRenderingInfo::pDepthAttachment->imageViewparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of thedepthAttachmentFormatmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the format used to create that image view -
VUID-vkCmdExecuteCommands-pStencilAttachment-06030
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, if the VkRenderingInfo::pStencilAttachment->imageViewparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of thestencilAttachmentFormatmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the format used to create that image view -
VUID-vkCmdExecuteCommands-pDepthAttachment-06774
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and the VkRenderingInfo::pDepthAttachment->imageViewparameter to vkCmdBeginRendering was VK_NULL_HANDLE, the value of thedepthAttachmentFormatmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust beVK_FORMAT_UNDEFINED -
VUID-vkCmdExecuteCommands-pStencilAttachment-06775
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and the VkRenderingInfo::pStencilAttachment->imageViewparameter to vkCmdBeginRendering was VK_NULL_HANDLE, the value of thestencilAttachmentFormatmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust beVK_FORMAT_UNDEFINED -
VUID-vkCmdExecuteCommands-viewMask-06031
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, theviewMaskmember of the VkCommandBufferInheritanceRenderingInfo structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the VkRenderingInfo::viewMaskparameter to vkCmdBeginRendering -
VUID-vkCmdExecuteCommands-pNext-06032
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and thepNextchain of VkCommandBufferInheritanceInfo includes a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, if theimageViewmember of an element of the VkRenderingInfo::pColorAttachmentsparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the corresponding element of thepColorAttachmentSamplesmember of the VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the sample count used to create that image view -
VUID-vkCmdExecuteCommands-pNext-06033
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and thepNextchain of VkCommandBufferInheritanceInfo includes a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, if the VkRenderingInfo::pDepthAttachment->imageViewparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of thedepthStencilAttachmentSamplesmember of the VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the sample count used to create that image view -
VUID-vkCmdExecuteCommands-pNext-06034
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and thepNextchain of VkCommandBufferInheritanceInfo includes a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, if the VkRenderingInfo::pStencilAttachment->imageViewparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of thedepthStencilAttachmentSamplesmember of the VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the sample count used to create that image view -
VUID-vkCmdExecuteCommands-pNext-06035
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and thepNextchain of VkCommandBufferInheritanceInfo does not include a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, if theimageViewmember of an element of the VkRenderingInfo::pColorAttachmentsparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of VkCommandBufferInheritanceRenderingInfo::rasterizationSamplesmust be equal to the sample count used to create that image view -
VUID-vkCmdExecuteCommands-pNext-06036
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and thepNextchain of VkCommandBufferInheritanceInfo does not include a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, if the VkRenderingInfo::pDepthAttachment->imageViewparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of VkCommandBufferInheritanceRenderingInfo::rasterizationSamplesmust be equal to the sample count used to create that image view -
VUID-vkCmdExecuteCommands-pNext-06037
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering and thepNextchain of VkCommandBufferInheritanceInfo does not include a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, if the VkRenderingInfo::pStencilAttachment->imageViewparameter to vkCmdBeginRendering is not VK_NULL_HANDLE, the value of VkCommandBufferInheritanceRenderingInfo::rasterizationSamplesmust be equal to the sample count used to create that image view -
VUID-vkCmdExecuteCommands-pNext-09299
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, with any color attachment using a resolve mode ofVK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, thepNextchain of VkCommandBufferInheritanceInfo used to create each element ofpCommandBuffersmust include a VkExternalFormatANDROID structure with anexternalFormatmatching that used to create the resolve attachment in the render pass -
VUID-vkCmdExecuteCommands-pNext-09300
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering with any color attachment using a resolve mode ofVK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and thepNextchain of VkCommandBufferInheritanceInfo does not include a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, the value of VkCommandBufferInheritanceRenderingInfo::rasterizationSamplesmust beVK_SAMPLE_COUNT_1_BIT -
VUID-vkCmdExecuteCommands-commandBuffer-09375
commandBuffermust not be a secondary command buffer unless thenestedCommandBufferfeature is enabled -
VUID-vkCmdExecuteCommands-nestedCommandBuffer-09376
If thenestedCommandBufferfeature is enabled, andcommandBufferis a secondary command buffer, the command buffer nesting level of each element ofpCommandBuffersmust be less thanmaxCommandBufferNestingLevel -
VUID-vkCmdExecuteCommands-nestedCommandBufferRendering-09377
If thenestedCommandBufferRenderingfeature is not enabled, andcommandBufferis a secondary command buffer,commandBuffermust not have been recorded withVK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT -
VUID-vkCmdExecuteCommands-nestedCommandBufferSimultaneousUse-09378
If thenestedCommandBufferSimultaneousUsefeature is not enabled, andcommandBufferis a secondary command buffer, each element ofpCommandBuffersmust not have been recorded withVK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT -
VUID-vkCmdExecuteCommands-pCommandBuffers-09504
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, the color attachment mapping state specified by VkRenderingAttachmentLocationInfo in the inheritance info of each element ofpCommandBuffersand in the current state ofcommandBuffermust match -
VUID-vkCmdExecuteCommands-pCommandBuffers-09505
IfvkCmdExecuteCommandsis being called within a render pass instance begun with vkCmdBeginRendering, the input attachment mapping state specified by VkRenderingInputAttachmentIndexInfo in the inheritance info of each element ofpCommandBuffersand in the current state ofcommandBuffermust match -
VUID-vkCmdExecuteCommands-memory-10724
IfvkCmdExecuteCommandsis being called within a render pass instance, the size ofmemorymember of the VkTileMemoryBindInfoQCOM structure included in thepNextchain of VkCommandBufferBeginInfo::pInheritanceInfoused to begin recording each element ofpCommandBuffersmust be equal to the active bound bound tile memory object incommandBuffer -
VUID-vkCmdExecuteCommands-pCommandBuffers-10620
If this command is being recorded within a render pass instance with tile shading enabled, all elements ofpCommandBuffersmust have been recorded withVK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOMincluded in VkRenderPassTileShadingCreateInfoQCOM::flags -
VUID-vkCmdExecuteCommands-pCommandBuffers-10621
If the per-tile execution model is enabled, all elements ofpCommandBuffersmust have been recorded withVK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOMincluded in VkRenderPassTileShadingCreateInfoQCOM::flags -
VUID-vkCmdExecuteCommands-tileApronSize-10622
If this command is being recorded within a render pass instance, thetileApronSizeused to create the render pass instance must equal the VkRenderPassTileShadingCreateInfoQCOM::tileApronSizeused to record all elements ofpCommandBuffers -
VUID-vkCmdExecuteCommands-pCommandBuffers-10623
If any element ofpCommandBufferswas recorded withVK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOMincluded in VkRenderPassTileShadingCreateInfoQCOM::flags, this command must be recorded in a render pass that has tile shading enabled -
VUID-vkCmdExecuteCommands-pCommandBuffers-10624
If any element ofpCommandBufferswas recorded withVK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOMincluded in VkRenderPassTileShadingCreateInfoQCOM::flags, per-tile execution model must be enabled -
VUID-vkCmdExecuteCommands-tileApronSize-10625
If this command is not being recorded into a render pass instance, the VkRenderPassTileShadingCreateInfoQCOM::tileApronSizethat was recorded into all elements ofpCommandBuffersmust equal(0,0)
-
VUID-vkCmdExecuteCommands-commandBuffer-parameter
commandBuffermust be a valid VkCommandBuffer handle -
VUID-vkCmdExecuteCommands-pCommandBuffers-parameter
pCommandBuffersmust be a valid pointer to an array ofcommandBufferCountvalid VkCommandBuffer handles -
VUID-vkCmdExecuteCommands-commandBuffer-recording
commandBuffermust be in the recording state -
VUID-vkCmdExecuteCommands-commandBuffer-cmdpool
TheVkCommandPoolthatcommandBufferwas allocated from must support transfer, graphics, or compute operations -
VUID-vkCmdExecuteCommands-videocoding
This command must only be called outside of a video coding scope -
VUID-vkCmdExecuteCommands-commandBufferCount-arraylength
commandBufferCountmust be greater than0 -
VUID-vkCmdExecuteCommands-commonparent
Both ofcommandBuffer, and the elements ofpCommandBuffersmust have been created, allocated, or retrieved from the same VkDevice
-
Host access to
commandBuffermust be externally synchronized -
Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
Primary |
Both |
Outside |
Transfer |
Indirection |
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.