Vulkan-Docs/doc/specs/vulkan/man/vkCmdDrawIndirect.txt

63 lines
1.9 KiB
Plaintext

vkCmdDrawIndirect(3)
====================
Name
----
vkCmdDrawIndirect - Issue an indirect draw into a command buffer.
C Specification
---------------
include::../protos/vkCmdDrawIndirect.txt[]
Parameters
----------
pname:commandBuffer::
Specifies the command buffer into which to insert the draw command.
pname:buffer::
Specifies a handle of a buffer object containing parameters forming individual draw commands.
pname:offset::
Specifies offset, in bytes, within the buffer object represented by pname:buffer at which the drawing command parameters begin.
pname:drawCount::
Specifies the number of indirect draws to consume from the specified
memory object.
pname:stride::
Specifies the distance, in bytes, between the start of each indirect draw in the memory object. This parameter
may be zero to indicate that the array of indirect draw commands is tightly packed.
Description
-----------
fname:vkCmdDrawIndirect issues an indirect draw into a command bufer. Each
indirect command consumes pname:drawCount structures, stored at pname:offset
bytes into the buffer object whose handle is specified in pname:buffer.
The beginning of each structure is pname:stride bytes from the previous.
The data structures have the a layout in memory which may be represented by
the slink:VkDrawIndirectCommand structure, the definition of which is:
include::../structs/VkDrawIndirectCommand.txt[]
If pname:stride is zero, the array of slink:VkDrawIndirectCommand structures is
assumed to be tightly packed.
include::../validity/protos/vkCmdDrawIndirect.txt[]
Notes
-----
Although fname:vkCmdDrawIndirect does not generate errors or return a value, enabled
validation layers may detect possible error conditions or potentially undefined
behavior and report this via some other means.
See Also
--------
flink:vkCmdDraw, flink:vkCmdDrawIndexed, flink:vkCmdDrawIndexedIndirect
include::footer.txt[]