vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
To enumerate the performance query counters available on a queue family of a physical device, call:
VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
uint32_t* pCounterCount,
VkPerformanceCounterKHR* pCounters,
VkPerformanceCounterDescriptionKHR* pCounterDescriptions);
physicalDevice
is the handle to the physical device whose queue family performance query counter properties will be queried.queueFamilyIndex
is the index into the queue family of the physical device we want to get properties for.pCounterCount
is a pointer to an integer related to the number of counters available or queried, as described below.pCounters
is eitherNULL
or a pointer to an array of VkPerformanceCounterKHR structures.pCounterDescriptions
is eitherNULL
or a pointer to an array of VkPerformanceCounterDescriptionKHR structures.
If pCounters
is NULL
and pCounterDescriptions
is NULL
, then
the number of counters available is returned in pCounterCount
.
Otherwise, pCounterCount
must point to a variable set by the
application to the number of elements in the pCounters
,
pCounterDescriptions
, or both arrays and on return the variable is
overwritten with the number of structures actually written out.
If pCounterCount
is less than the number of counters available, at
most pCounterCount
structures will be written, and VK_INCOMPLETE
will be returned instead of VK_SUCCESS
, to indicate that not all the
available counters were returned.
Valid Usage (Implicit)
VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR-physicalDevice-parameter
physicalDevice
must be a valid VkPhysicalDevice handle
VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR-pCounterCount-parameter
pCounterCount
must be a valid pointer to a uint32_t
value
VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR-pCounters-parameter
If the value referenced by pCounterCount
is not 0
, and pCounters
is not NULL
, pCounters
must be a valid pointer to an array of pCounterCount
VkPerformanceCounterKHR structures
VUID-vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR-pCounterDescriptions-parameter
If the value referenced by pCounterCount
is not 0
, and pCounterDescriptions
is not NULL
, pCounterDescriptions
must be a valid pointer to an array of pCounterCount
VkPerformanceCounterDescriptionKHR structures