| // Copyright 2019-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| [open,refpage='VkQueryPoolPerformanceCreateInfoKHR',desc='Structure specifying parameters of a newly created performance query pool',type='structs'] |
| -- |
| The sname:VkQueryPoolPerformanceCreateInfoKHR structure is defined as: |
| |
| include::{generated}/api/structs/VkQueryPoolPerformanceCreateInfoKHR.txt[] |
| |
| * pname:sType is the type of this structure. |
| * pname:pNext is `NULL` or a pointer to a structure extending this |
| structure. |
| * pname:queueFamilyIndex is the queue family index to create this |
| performance query pool for. |
| * pname:counterIndexCount is the length of the pname:pCounterIndices |
| array. |
| * pname:pCounterIndices is a pointer to an array of indices into the |
| flink:vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR::pname:pCounters |
| to enable in this performance query pool. |
| |
| .Valid Usage |
| **** |
| * [[VUID-VkQueryPoolPerformanceCreateInfoKHR-queueFamilyIndex-03236]] |
| pname:queueFamilyIndex must: be a valid queue family index of the device |
| * [[VUID-VkQueryPoolPerformanceCreateInfoKHR-performanceCounterQueryPools-03237]] |
| The <<features-performanceCounterQueryPools, |
| pname:performanceCounterQueryPools>> feature must: be enabled |
| * [[VUID-VkQueryPoolPerformanceCreateInfoKHR-pCounterIndices-03321]] |
| Each element of pname:pCounterIndices must: be in the range of counters |
| reported by |
| fname:vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR |
| for the queue family specified in pname:queueFamilyIndex |
| **** |
| |
| include::{generated}/validity/structs/VkQueryPoolPerformanceCreateInfoKHR.txt[] |
| -- |
| |
| [open,refpage='vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR',desc='Reports the number of passes require for a performance query pool type',type='protos'] |
| -- |
| To query the number of passes required to query a performance query pool on |
| a physical device, call: |
| |
| include::{generated}/api/protos/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.txt[] |
| |
| * pname:physicalDevice is the handle to the physical device whose queue |
| family performance query counter properties will be queried. |
| * pname:pPerformanceQueryCreateInfo is a pointer to a |
| sname:VkQueryPoolPerformanceCreateInfoKHR of the performance query that |
| is to be created. |
| * pname:pNumPasses is a pointer to an integer related to the number of |
| passes required to query the performance query pool, as described below. |
| |
| The pname:pPerformanceQueryCreateInfo member |
| sname:VkQueryPoolPerformanceCreateInfoKHR::pname:queueFamilyIndex must: be a |
| queue family of pname:physicalDevice. |
| The number of passes required to capture the counters specified in the |
| pname:pPerformanceQueryCreateInfo member |
| sname:VkQueryPoolPerformanceCreateInfoKHR::pname:pCounters is returned in |
| pname:pNumPasses. |
| |
| include::{generated}/validity/protos/vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR.txt[] |
| -- |