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

53 lines
2.0 KiB
Plaintext
Raw Normal View History

2016-02-16 09:53:44 +00:00
vkAllocateCommandBuffers(3)
===========================
Name
----
vkAllocateCommandBuffers - Allocate command buffers from an existing command pool
C Specification
---------------
include::../protos/vkAllocateCommandBuffers.txt[]
Parameters
----------
pname:device::
A handle to the device that owns the pool from which the command buffers are to be allocated.
pname:pAllocateInfo::
A pointer to a structure containing information about the command buffers to be allocated.
pname:pCommandBuffers::
A pointer to an array of sname:VkCommandBuffer handles that will be filled with the newly allocated command buffers.
Description
-----------
Change log for April 29, 2016 Vulkan 1.0.12 spec update: * Bump API patch number and header version number to 12 for this update. Github Issues: * Change valid usage statements intended to be "sub-points" to be actual sub-points (public issue 66). * Replace double negation in description of slink:VkRenderPassBeginInfo::pname:pClearValues (based on public merge 142). * Cleanup minor typos in spec, ref pages and XML, including those proposed in public pull requests 144, 150, 151, 167, 168, 181, and 186. * Use *strict subset* in describing the partial order of memory property types for slink:VkMemoryType, and update the style guide accordingly (public issue 190). * Fix various "a image" -> "an image" typos (public issue 191). * Note in the <<fundamentals-validusage,Valid Usage>> and <<extensions-interactions,Extension Interactions>> sections that structures defined by extensions which may be passed in structure chains using the ptext:pNext member must: include initial ptext:sType and ptext:pNext members (public issue 192). Internal Issues: * Remove duplicate language from the description of the pname:fence parameter to flink:vkQueueSubmit and improve validity language (internal issue 91). * Added documentation for "optional" attribute to XML readme.tex/pdf (internal issue 149). * Clarify the host-side data validity rules and behavior of flink:vkFlushMappedMemoryRanges and flink:vkInvalidateMappedMemoryRanges (internal issue 266). Other Commits: * Added clarification to flink:vkCmdFillBuffer regarding the use of ename:VK_WHOLE_SIZE. * Fixed and documented implementation of "validextensionstructs" attribute. in XML processing scripts and readme.tex/pdf. * Add missing validity statements to flink:vkResetEvent and flink:vkCmdResetEvent. * Fix validity for the ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag. Correct all the draw/dispatch commands to mention optimally tiled images as well as linear tiled images, and say image VIEWS instead of images. Add validity statement to flink:vkCmdBlitImage * Replace the {apiname} macro with hardcoded "Vulkan", now that we've committed to that name. * Add the VK_AMD_rasterization_order extension to vk.xml.
2016-04-29 12:53:46 +00:00
fname:vkAllocateCommandBuffers allocates command buffers from an existing command pool. pname:pAllocateInfo
2016-02-16 09:53:44 +00:00
is a pointer to an instance of the slink:VkCommandBufferAllocateInfo structure which
describes the command buffer allocation. The definition of slink:VkCommandBufferAllocateInfo is:
include::../structs/VkCommandBufferAllocateInfo.txt[]
In pname:pAllocateInfo, pname:sType must be ename:VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO
and, unless an extension is in use, pname:pNext must be code:NULL. pname:commandPool is a handle to the command
pool from which the command buffer should be allocated, and this must be a command pool that is owned
by the device whose handle is passed in pname:device. The pname:level field indicates the level of the
command buffer (primary or secondary) and must be a member of the elink:VkCommandBufferLevel enumeration.
The number of command buffers to allocate is given by pname:commandBufferCount.
On success, pname:commandBufferCount new command buffers are returned in the array pointed to
by pname:pCommandBuffers. Command buffers allocated with fname:vkAllocateCommandBuffers must: be freed
using flink:vkFreeCommandBuffers.
include::../validity/protos/vkAllocateCommandBuffers.txt[]
See Also
--------
flink:vkCreateCommandPool, flink:vkDestroyCommandPool, flink:vkFreeCommandBuffers
include::footer.txt[]