Enum
VkDescriptorPoolCreateFlagBits
Bitmask specifying certain supported operations on a descriptor pool
Bits which can be set in VkDescriptorPoolCreateInfo::flags
,
enabling operations on a descriptor pool, are:
typedef enum VkDescriptorPoolCreateFlagBits {
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001,
} VkDescriptorPoolCreateFlagBits;
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
specifies that descriptor sets can return their individual allocations to the pool, i.e. all of vkAllocateDescriptorSets, vkFreeDescriptorSets, and vkResetDescriptorPool are allowed. Otherwise, descriptor sets allocated from the pool must not be individually freed back to the pool, i.e. only vkAllocateDescriptorSets and vkResetDescriptorPool are allowed.VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT
specifies that descriptor sets allocated from this pool can include bindings with theVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
bit set. It is valid to allocate descriptor sets that have bindings that do not set theVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
bit from a pool that hasVK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT
set.VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT
specifies that this descriptor pool and the descriptor sets allocated from it reside entirely in host memory and cannot be bound. Similar to descriptor sets allocated without this flag, applications can copy-from and copy-to descriptors sets allocated from this descriptor pool. Descriptor sets allocated from this pool are partially exempt from the external synchronization requirement in vkUpdateDescriptorSetWithTemplateKHR and vkUpdateDescriptorSets. Descriptor sets and their descriptors can be updated concurrently in different threads, though the same descriptor must not be updated concurrently by two threads.VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV
specifies that the implementation should allow the application to allocate more than VkDescriptorPoolCreateInfo::maxSets
descriptor set objects from the descriptor pool as available resources allow. The implementation may use themaxSets
value to allocate the initial available sets, but using zero is permitted.VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV
specifies that the implementation should allow the application to allocate more descriptors from the pool than was specified by the VkDescriptorPoolSize::descriptorCount
for any descriptor type as specified by VkDescriptorPoolCreateInfo::poolSizeCount
and VkDescriptorPoolCreateInfo::pPoolSizes
, as available resources allow. The implementation may use thedescriptorCount
for each descriptor type to allocate the initial pool, but the application is allowed to set thepoolSizeCount
to zero, or any of thedescriptorCount
values in thepPoolSizes
array to zero.