vkResetCommandPool
To reset a command pool, call:
VkResult vkResetCommandPool(
VkDevice device,
VkCommandPool commandPool,
VkCommandPoolResetFlags flags);
deviceis the logical device that owns the command pool.commandPoolis the command pool to reset.flagsis a bitmask of VkCommandPoolResetFlagBits controlling the reset operation.
Resetting a command pool recycles all of the resources from all of the command buffers allocated from the command pool back to the command pool. All command buffers that have been allocated from the command pool are put in the initial state.
Any primary command buffer allocated from another VkCommandPool that
is in the recording or executable state and
has a secondary command buffer allocated from commandPool recorded
into it, becomes invalid.
Valid Usage
VUID-vkResetCommandPool-commandPool-00040
All VkCommandBuffer objects allocated from commandPool must
not be in the pending state
Valid Usage (Implicit)
VUID-vkResetCommandPool-device-parameter
device must be a valid VkDevice handle
VUID-vkResetCommandPool-commandPool-parameter
commandPool must be a valid VkCommandPool handle
VUID-vkResetCommandPool-flags-parameter
flags must be a valid combination of VkCommandPoolResetFlagBits values
VUID-vkResetCommandPool-commandPool-parent
commandPool must have been created, allocated, or retrieved from device
Host Synchronization
- Host access to
commandPoolmust be externally synchronized ::