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_BIT_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_BIT_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.