C Specification

The VkQueryPoolCreateInfo structure is defined as:

// Provided by VK_VERSION_1_0
typedef struct VkQueryPoolCreateInfo {
    VkStructureType                  sType;
    const void*                      pNext;
    VkQueryPoolCreateFlags           flags;
    VkQueryType                      queryType;
    uint32_t                         queryCount;
    VkQueryPipelineStatisticFlags    pipelineStatistics;
} VkQueryPoolCreateInfo;



pipelineStatistics is ignored if queryType is not VK_QUERY_TYPE_PIPELINE_STATISTICS.

Valid Usage
  • VUID-VkQueryPoolCreateInfo-queryType-00791
    If the pipelineStatisticsQuery feature is not enabled, queryType must not be VK_QUERY_TYPE_PIPELINE_STATISTICS

  • VUID-VkQueryPoolCreateInfo-queryType-00792
    If queryType is VK_QUERY_TYPE_PIPELINE_STATISTICS, pipelineStatistics must be a valid combination of VkQueryPipelineStatisticFlagBits values

  • VUID-VkQueryPoolCreateInfo-queryType-03222
    If queryType is VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR, the pNext chain must include a VkQueryPoolPerformanceCreateInfoKHR structure

  • VUID-VkQueryPoolCreateInfo-queryCount-02763
    queryCount must be greater than 0

  • VUID-VkQueryPoolCreateInfo-queryType-05046
    If queryType is VK_QUERY_TYPE_OCCLUSION then queryCount must be less than or equal to the maximum of all VkDeviceObjectReservationCreateInfo::maxOcclusionQueriesPerPool values specified when device was created

  • VUID-VkQueryPoolCreateInfo-queryType-05047
    If queryType is VK_QUERY_TYPE_PIPELINE_STATISTICS then queryCount must be less than or equal to the maximum of all VkDeviceObjectReservationCreateInfo::maxPipelineStatisticsQueriesPerPool values specified when device was created

  • VUID-VkQueryPoolCreateInfo-queryType-05048
    If queryType is VK_QUERY_TYPE_TIMESTAMP then queryCount must be less than or equal to the maximum of all VkDeviceObjectReservationCreateInfo::maxTimestampQueriesPerPool values specified when device was created

  • VUID-VkQueryPoolCreateInfo-queryType-05049
    If queryType is VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR then queryCount must be less than or equal to the maximum of all VkPerformanceQueryReservationInfoKHR::maxPerformanceQueriesPerPool values specified when device was created

Valid Usage (Implicit)
  • VUID-VkQueryPoolCreateInfo-sType-sType

  • VUID-VkQueryPoolCreateInfo-pNext-pNext
    pNext must be NULL or a pointer to a valid instance of VkQueryPoolPerformanceCreateInfoKHR

  • VUID-VkQueryPoolCreateInfo-sType-unique
    The sType value of each struct in the pNext chain must be unique

  • VUID-VkQueryPoolCreateInfo-flags-zerobitmask
    flags must be 0

  • VUID-VkQueryPoolCreateInfo-queryType-parameter
    queryType must be a valid VkQueryType value

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0