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[]
|