// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry ifndef::doctype-manpage[] .Valid Usage ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Valid Usage ----------- endif::doctype-manpage[] * pname:commandBuffer must: be a valid sname:VkCommandBuffer handle * pname:pCommandBuffers must: be a pointer to an array of pname:commandBufferCount valid sname:VkCommandBuffer handles * pname:commandBuffer must: be in the recording state * The sname:VkCommandPool that pname:commandBuffer was allocated from must: support transfer, graphics or compute operations * pname:commandBuffer must: be a primary sname:VkCommandBuffer * pname:commandBufferCount must: be greater than `0` * Each of pname:commandBuffer and the elements of pname:pCommandBuffers must: have been created, allocated or retrieved from the same sname:VkDevice * pname:commandBuffer must: have been created with a pname:level of ename:VK_COMMAND_BUFFER_LEVEL_PRIMARY * Any given element of pname:pCommandBuffers must: have been created with a pname:level of ename:VK_COMMAND_BUFFER_LEVEL_SECONDARY * Any given element of pname:pCommandBuffers mustnot: be already pending execution in pname:commandBuffer, or appear twice in pname:pCommandBuffers, unless it was created with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag * Any given element of pname:pCommandBuffers mustnot: be already pending execution in any other sname:VkCommandBuffer, unless it was created with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag * Any given element of pname:pCommandBuffers must: be in the executable state * If fname:vkCmdExecuteCommands is being called within a render pass instance, that render pass instance must: have been begun with the pname:contents parameter of fname:vkCmdBeginRenderPass set to ename:VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS * If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with the ename:VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT * If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:subpass set to the index of the subpass which the given command buffer will be executed in * If fname:vkCmdExecuteCommands is being called within a render pass instance, any given element of pname:pCommandBuffers must: have been recorded with a render pass that is compatible with the current render pass - see <> * If fname:vkCmdExecuteCommands is being called within a render pass instance, and any given element of pname:pCommandBuffers was recorded with sname:VkCommandBufferInheritanceInfo::pname:framebuffer not equal to dlink:VK_NULL_HANDLE, that sname:VkFramebuffer must: match the sname:VkFramebuffer used in the current render pass instance * If the <> feature is not enabled, pname:commandBuffer mustnot: have any queries <> * If pname:commandBuffer has a ename:VK_QUERY_TYPE_OCCLUSION query <>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:occlusionQueryEnable set to ename:VK_TRUE * If pname:commandBuffer has a ename:VK_QUERY_TYPE_OCCLUSION query <>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:queryFlags having all bits set that are set for the query * If pname:commandBuffer has a ename:VK_QUERY_TYPE_PIPELINE_STATISTICS query <>, then each element of pname:pCommandBuffers must: have been recorded with sname:VkCommandBufferInheritanceInfo::pname:pipelineStatistics having all bits set that are set in the sname:VkQueryPool the query uses * Any given element of pname:pCommandBuffers mustnot: begin any query types that are <> in pname:commandBuffer ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[] ifndef::doctype-manpage[] .Host Synchronization ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Host Synchronization -------------------- endif::doctype-manpage[] * Host access to pname:commandBuffer must: be externally synchronized ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[] ifndef::doctype-manpage[] .Command Properties ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Command Properties ------------------ endif::doctype-manpage[] [options="header", width="100%"] |===================== |Command Buffer Levels|Render Pass Scope|Supported Queue Types |Primary|Both|TRANSFER + GRAPHICS + COMPUTE |===================== ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[]