65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
|
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[]
|