vkCmdExecuteCommands(3) ======================= Name ---- vkCmdExecuteCommands - Execute a secondary command buffer from a primary command buffer. C Specification --------------- include::../protos/vkCmdExecuteCommands.txt[] Parameters ---------- pname:commandBuffer:: The primary command buffer from which to call the secondary command buffers. pname:commandBuffersCount:: Length of the pCommandBuffers array. pname:pCommandBuffers:: An array of secondary command buffer handles. Description ----------- fname:vkCmdExecuteCommands executes the contents of the secondary command buffers, in the order they appear in the pname:pCommandBuffers array. If any of the secondary command buffers contains commands that may only be executed inside a renderpass, then they may only be executed between calls to flink:vkCmdBeginRenderPass and flink:vkCmdEndRenderPass and the active renderpass must have a elink:VkSubpassContents property of ename:VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS. The pname:commandBuffer argument must be a primary command buffer. The renderpass and framebuffer provided when beginning the secondary command buffer must match the sname:VkRenderPass and sname:VkFramebuffer provided to fname:vkCmdBeginRenderPass. If a secondary command buffer was not recorded with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT usage, then only a single call to the secondary command buffer may exist in any primary command buffer at one time. If this usage bit is clear, then the secondary command buffer may be called multiple times from the same or multiple primary command buffers. A secondary command buffer must be finished recording, via fname:vkEndCommandBuffer, before it can be referenced in a call to fname:vkCmdExecuteCommands. It must not be reset or destroyed before primary command buffers referencing it have completed executing. A secondary command buffer can safely be passed to multiple fname:vkCmdExecuteCommands (affecting different primary command buffers) simultaneously, only if it was recorded with the ename:VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag. include::../validity/protos/vkCmdExecuteCommands.txt[] See Also -------- flink:vkAllocateCommandBuffers, flink:vkFreeCommandBuffers, flink:vkCmdBeginRenderPass, flink:vkCmdEndRenderPass include::footer.txt[]