Vulkan-Docs/doc/specs/vulkan/man/vkCmdDrawIndirect.txt
Jon Leech 6db51e9241 Change log for April 22, 2016 Vulkan 1.0.11 spec update:
* Bump API patch number and header version number to 11 for this
    update.

Github Issues:

  * Clarify the WSI extension language by switching from the fuzzier
    "ownership" language to more-consistent "acquire" language (public
    issue 117).
  * Clarify that memory barriers apply to all commands in the dependency
    chains in the flink:vkGetRenderAreaGranularity command and the
    <<synchronization-execution-and-memory-dependencies,Execution And
    Memory Dependencies>> section (public issue 132).
  * Clarify that a queue family is a set of queues in the
    <<fundamentals-execmodel,Execution Model>> section (public issue
    166).
  * Removed requirement from valid usage language that
    VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public
    issue 171).
  * Fix broken internal links, describe structures consistently, use
    consistent style for SPIR-V codewords, and tag normative terms that
    were missing asciidoc tags (public issue 183 and ancillary
    markup/normative language fixes).
  * Fix typos for slink:VkPhysicalDeviceLimits member names in
    slink:VkImageCreateInfo validity language (public issue 184).

Internal Issues:

  * Document that the requested patch version number specified as part
    of slink:VkApplicationInfo::pname:apiVersion is ignored when
    creating an instance (internal issue 176).
  * Clarify handling of extension structs in the
    <<fundamentals-validusageValid Usage>> section (internal issue 254).
  * Update required slink:VkImageFormatProperties::pname:maxMipLevels to
    be limited to the maximum allowed mipmap pyramid size corresponding
    to the actual maximum supported size for the format (internal issue
    256).
  * Modify the <<features-extentperimagetype,Allowed Extent Values Based
    On Image Type>> section so the allowed maximum extent is the maximum
    image dimension supported for each dimension of the type of texture
    being queried (internal issue 257).
  * Clarify in the <<spirvenv-module-validation,Validation Rules within
    a Module>> section that at least one of the code:LocalSize execution
    mode or code:WorkgroupSize decoration is required for each compute
    shader entry point in a shader module (internal issue 279).
  * Add validity rules for formats in flink:vkCmdClearColorImage and
    flink:vkCmdClearDepthStencilImage (internal issue 283).
  * Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is
    an upper bound, and that it may not be possible to create an image
    anywhere near that size (internal issue 284).

Other Commits:

  * Fix various minor markup errors reported by validation scripts.
  * Change copyright from Khronos Free Use License to Apache 2.0 license
    on relevant script/XML/header files. This does not affect the
    specification source copyright.
2016-04-21 01:08:38 -07:00

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