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