VkQueryPoolCreateInfo
The VkQueryPoolCreateInfo structure is defined as:
typedef struct VkQueryPoolCreateInfo {
VkStructureType sType;
const void* pNext;
VkQueryPoolCreateFlags flags;
VkQueryType queryType;
uint32_t queryCount;
VkQueryPipelineStatisticFlags pipelineStatistics;
} VkQueryPoolCreateInfo;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis reserved for future use.queryTypeis a VkQueryType value specifying the type of queries managed by the pool.queryCountis the number of queries managed by the pool.pipelineStatisticsis a bitmask of VkQueryPipelineStatisticFlagBits specifying which counters will be returned in queries on the new pool, as described below in Pipeline Statistics Queries.
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, queryTypemust not be VK_QUERY_TYPE_PIPELINE_STATISTICS
VUID-VkQueryPoolCreateInfo-meshShaderQueries-07068
If the meshShaderQueries feature
is not enabled, queryType must not be
VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT
VUID-VkQueryPoolCreateInfo-meshShaderQueries-07069
If the meshShaderQueries feature
is not enabled, and queryType is
VK_QUERY_TYPE_PIPELINE_STATISTICS, pipelineStatistics must
not contain
VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT or
VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT
VUID-VkQueryPoolCreateInfo-queryType-00792
If queryType is VK_QUERY_TYPE_PIPELINE_STATISTICS,
pipelineStatistics must be a valid combination of
VkQueryPipelineStatisticFlagBits values
VUID-VkQueryPoolCreateInfo-queryType-09534
If queryType is VK_QUERY_TYPE_PIPELINE_STATISTICS,
pipelineStatistics must not be zero
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-07133
If queryType is VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR,
then the pNext chain must include a VkVideoProfileInfoKHR
structure with videoCodecOperation specifying an encode operation
VUID-VkQueryPoolCreateInfo-queryType-07906
If queryType is VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR,
then the pNext chain must include a
VkQueryPoolVideoEncodeFeedbackCreateInfoKHR structure
VUID-VkQueryPoolCreateInfo-queryType-07907
If queryType is VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR, and
the pNext chain includes a VkVideoProfileInfoKHR structure
and a VkQueryPoolVideoEncodeFeedbackCreateInfoKHR structure, then
VkQueryPoolVideoEncodeFeedbackCreateInfoKHR::encodeFeedbackFlagsmust not contain any bits that are not set in
VkVideoEncodeCapabilitiesKHR::supportedEncodeFeedbackFlags,
as returned by vkGetPhysicalDeviceVideoCapabilitiesKHR for the
video profile described by
VkVideoProfileInfoKHR and its pNext chain
VUID-VkQueryPoolCreateInfo-pNext-10248
If the pNext chain includes a VkVideoProfileInfoKHR
structure and its videoCodecOperation member is
VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR, then the
videoEncodeAV1 feature must be
enabled
Valid Usage (Implicit)
VUID-VkQueryPoolCreateInfo-sType-sType
sType must be VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO
VUID-VkQueryPoolCreateInfo-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkQueryPoolPerformanceCreateInfoKHR, VkQueryPoolPerformanceQueryCreateInfoINTEL, VkQueryPoolVideoEncodeFeedbackCreateInfoKHR, VkVideoDecodeAV1ProfileInfoKHR, VkVideoDecodeH264ProfileInfoKHR, VkVideoDecodeH265ProfileInfoKHR, VkVideoDecodeUsageInfoKHR, VkVideoEncodeAV1ProfileInfoKHR, VkVideoEncodeH264ProfileInfoKHR, VkVideoEncodeH265ProfileInfoKHR, VkVideoEncodeUsageInfoKHR, or VkVideoProfileInfoKHR
VUID-VkQueryPoolCreateInfo-sType-unique
The sType value of each structure 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