Function Prototype

vkCreateQueryPool

Create a new query pool object

To create a query pool, call:

VkResult vkCreateQueryPool(
    VkDevice device,
    const VkQueryPoolCreateInfo* pCreateInfo,
    const VkAllocationCallbacks* pAllocator,
    VkQueryPool* pQueryPool);
  • device is the logical device that creates the query pool.
  • pCreateInfo is a pointer to a VkQueryPoolCreateInfo structure containing the number and type of queries to be managed by the pool.
  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.
  • pQueryPool is a pointer to a VkQueryPool handle in which the resulting query pool object is returned.

Valid Usage

VUID-vkCreateQueryPool-device-09663

device must support at least one queue family with one of the VK_QUEUE_VIDEO_ENCODE_BIT_KHR, VK_QUEUE_VIDEO_DECODE_BIT_KHR, VK_QUEUE_COMPUTE_BIT, or VK_QUEUE_GRAPHICS_BIT capabilities

Valid Usage (Implicit)

VUID-vkCreateQueryPool-pCreateInfo-parameter

pCreateInfo must be a valid pointer to a valid VkQueryPoolCreateInfo structure

VUID-vkCreateQueryPool-pAllocator-parameter

If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure

VUID-vkCreateQueryPool-pQueryPool-parameter

pQueryPool must be a valid pointer to a VkQueryPool handle