vkDestroyDescriptorPool
To destroy a descriptor pool, call:
void vkDestroyDescriptorPool(
    VkDevice device,
    VkDescriptorPool descriptorPool,
    const VkAllocationCallbacks* pAllocator);
- deviceis the logical device that destroys the descriptor pool.
- descriptorPoolis the descriptor pool to destroy.
- pAllocatorcontrols host memory allocation as described in the Memory Allocation chapter.
When a pool is destroyed, all descriptor sets allocated from the pool are implicitly freed and become invalid. Descriptor sets allocated from a given pool do not need to be freed before destroying that descriptor pool.
Valid Usage
VUID-vkDestroyDescriptorPool-descriptorPool-00303
All submitted commands that refer to descriptorPool (via any
allocated descriptor sets) must have completed execution
VUID-vkDestroyDescriptorPool-descriptorPool-00304
If VkAllocationCallbacks were provided when descriptorPool
was created, a compatible set of callbacks must be provided here
VUID-vkDestroyDescriptorPool-descriptorPool-00305
If no VkAllocationCallbacks were provided when
descriptorPool was created, pAllocator must be NULL
Valid Usage (Implicit)
VUID-vkDestroyDescriptorPool-device-parameter
device must be a valid VkDevice handle
VUID-vkDestroyDescriptorPool-descriptorPool-parameter
If descriptorPool is not VK_NULL_HANDLE, descriptorPool must be a valid VkDescriptorPool handle
VUID-vkDestroyDescriptorPool-pAllocator-parameter
If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyDescriptorPool-descriptorPool-parent
If descriptorPool is a valid handle, it must have been created, allocated, or retrieved from device
Host Synchronization
- Host access to descriptorPoolmust be externally synchronized ::