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

79 lines
2.9 KiB
Plaintext

vkCreateDescriptorPool(3)
=========================
Name
----
vkCreateDescriptorPool - Creates a descriptor pool object.
C Specification
---------------
include::../protos/vkCreateDescriptorPool.txt[]
Parameters
----------
pname:device::
Logical device which will own the new descriptor pool object.
pname:pCreateInfo::
A pointer to a structure containing parameters of the new pool object.
pname:pDescriptorPool::
Pointer to a variable which will receive a handle to the new descriptor pool object.
Description
-----------
fname:vkCreateDescriptorPool creates a new descriptor pool object using
pname:device. Descriptor sets may be allocated from the resulting descriptor
pool object by calling flink:vkAllocateDescriptorSets. pname:pCreateInfo is a
pointer to an insance of the slink:VkDescriptorPoolCreateInfo structure
containing parameters describing the new pool object. The definition of
slink:VkDescriptorPoolCreateInfo is:
include::../structs/VkDescriptorPoolCreateInfo.txt[]
The pname:sType member of the pname:pCreateInfo structure should be
ename:VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO. The pname:pNext member
is reserved for use by extensions and should be set to code:NULL.
The pname:flags member of slink:VkDescriptorPoolCreateInfo is a set of flags
describing the intended usage of the pool and is formed from members of the
elink:VkDescriptorPoolCreateFlagBits enumeration, the definition of which is:
include::../enums/VkDescriptorPoolCreateFlagBits.txt[]
If ename:VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT is set in pname:flags
then descriptor sets allocated from the pool may be returned to the pool by calling
flink:vkFreeDescriptorSets. If this flag is clear then individual sets allocated
from the pool may not be returned to the pool and are considered allocated until
flink:vkResetDescriptorPool is called on the pool object.
The pname:maxSets member specifies the maximum number of descriptor sets that
will be allocated from the pool. pname:pPoolSizes is a pointer to an array
of pname:poolSizeCount slink:VkDescriptorPoolSize structures, each describing a
type of descriptor and the number of that type of descriptor to be included
in the pool. The definition of the slink:VkDescriptorPoolSize structure is:
include::../structs/VkDescriptorPoolSize.txt[]
Each element of the ptext:pPoolSizes array specifies a type of descriptor in
pname:type and the count of that type of descriptor in
pname:descriptorCount. The pname:type member must be a member of the
elink:VkDescriptorType enumeration, the definition of which is:
include::../enums/VkDescriptorType.txt[]
Upon success, a handle to the newly created descriptor pool is placed in the variable whose address is
specified in pname:pDescriptorPool.
include::../validity/protos/vkCreateDescriptorPool.txt[]
See Also
--------
flink:vkAllocateDescriptorSets, flink:vkFreeDescriptorSets, flink:vkResetDescriptorPool, flink:vkDestroyDescriptorPool
include::footer.txt[]