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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.flags
is reserved for future use.queryType
is a VkQueryType value specifying the type of queries managed by the pool.queryCount
is the number of queries managed by the pool.pipelineStatistics
is 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, queryType
must 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::encodeFeedbackFlags
must 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
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, VkVideoEncodeH264ProfileInfoKHR, VkVideoEncodeH265ProfileInfoKHR, VkVideoEncodeUsageInfoKHR, or VkVideoProfileInfoKHR
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