## C Specification

The VkDescriptorSetAllocateInfo structure is defined as:

typedef struct VkDescriptorSetAllocateInfo {
VkStructureType                 sType;
const void*                     pNext;
VkDescriptorPool                descriptorPool;
uint32_t                        descriptorSetCount;
const VkDescriptorSetLayout*    pSetLayouts;
} VkDescriptorSetAllocateInfo;

## Members

• sType is the type of this structure.

• pNext is NULL or a pointer to an extension-specific structure.

• descriptorPool is the pool which the sets will be allocated from.

• descriptorSetCount determines the number of descriptor sets to be allocated from the pool.

• pSetLayouts is an array of descriptor set layouts, with each member specifying how the corresponding descriptor set is allocated.

## Description

Valid Usage
• descriptorSetCount must not be greater than the number of sets that are currently available for allocation in descriptorPool

• descriptorPool must have enough free descriptor capacity remaining to allocate the descriptor sets of the specified layouts

Valid Usage (Implicit)
• sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO

• pNext must be NULL

• descriptorPool must be a valid VkDescriptorPool handle

• pSetLayouts must be a pointer to an array of descriptorSetCount valid VkDescriptorSetLayout handles

• descriptorSetCount must be greater than 0

• Both of descriptorPool, and the elements of pSetLayouts must have been created, allocated, or retrieved from the same VkDevice

VkDescriptorPool, VkDescriptorSetLayout, VkStructureType, vkAllocateDescriptorSets