vkDestroyQueryPool
To destroy a query pool, call:
void vkDestroyQueryPool(
VkDevice device,
VkQueryPool queryPool,
const VkAllocationCallbacks* pAllocator);
device
is the logical device that destroys the query pool.queryPool
is the query pool to destroy.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.
Valid Usage
VUID-vkDestroyQueryPool-queryPool-00793
All submitted commands that refer to queryPool
must have
completed execution
VUID-vkDestroyQueryPool-queryPool-00794
If VkAllocationCallbacks
were provided when queryPool
was
created, a compatible set of callbacks must be provided here
VUID-vkDestroyQueryPool-queryPool-00795
If no VkAllocationCallbacks
were provided when queryPool
was
created, pAllocator
must be NULL
Applications can verify that queryPool
can be destroyed by checking
that vkGetQueryPoolResults
() without the
VK_QUERY_RESULT_PARTIAL_BIT
flag returns VK_SUCCESS
for all
queries that are used in command buffers submitted for execution.
Valid Usage (Implicit)
VUID-vkDestroyQueryPool-device-parameter
device
must be a valid VkDevice handle
VUID-vkDestroyQueryPool-queryPool-parameter
If queryPool
is not VK_NULL_HANDLE, queryPool
must be a valid VkQueryPool handle
VUID-vkDestroyQueryPool-pAllocator-parameter
If pAllocator
is not NULL
, pAllocator
must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyQueryPool-queryPool-parent
If queryPool
is a valid handle, it must have been created, allocated, or retrieved from device
Host Synchronization
- Host access to
queryPool
must be externally synchronized ::