Function Prototype

vkResetDescriptorPool

Resets a descriptor pool object

To return all descriptor sets allocated from a given pool to the pool, rather than freeing individual descriptor sets, call:

VkResult vkResetDescriptorPool(
    VkDevice device,
    VkDescriptorPool descriptorPool,
    VkDescriptorPoolResetFlags flags);
  • device is the logical device that owns the descriptor pool.
  • descriptorPool is the descriptor pool to be reset.
  • flags is reserved for future use.

Resetting a descriptor pool recycles all of the resources from all of the descriptor sets allocated from the descriptor pool back to the descriptor pool, and the descriptor sets are implicitly freed.

Valid Usage

VUID-vkResetDescriptorPool-descriptorPool-00313

All uses of descriptorPool (via any allocated descriptor sets) must have completed execution

Valid Usage (Implicit)

VUID-vkResetDescriptorPool-descriptorPool-parent

descriptorPool must have been created, allocated, or retrieved from device

Host Synchronization

  • Host access to descriptorPool must be externally synchronized
  • Host access to any VkDescriptorSet objects allocated from descriptorPool must be externally synchronized ::