VkRenderPassPerformanceCountersByRegionBeginInfoARM(3)
Name
VkRenderPassPerformanceCountersByRegionBeginInfoARM - Structure specifying per region performance counters
C Specification
The VkRenderPassPerformanceCountersByRegionBeginInfoARM structure is
defined as:
// Provided by VK_ARM_performance_counters_by_region
typedef struct VkRenderPassPerformanceCountersByRegionBeginInfoARM {
VkStructureType sType;
void* pNext;
uint32_t counterAddressCount;
const VkDeviceAddress* pCounterAddresses;
VkBool32 serializeRegions;
uint32_t counterIndexCount;
uint32_t* pCounterIndices;
} VkRenderPassPerformanceCountersByRegionBeginInfoARM;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
counterAddressCountis the number of entries in thepCounterAddressesarray. -
pCounterAddressesis a pointer to an array ofVkDeviceAddresswhere performance counter data will be written. -
serializeRegionscontrols whether the implementation serializes the execution of each region. -
counterIndexCountis the number of entries in thepCounterIndicesarray. -
pCounterIndicesis a pointer to an array of VkPerformanceCounterARM::counterIDvalues, as enumerated by vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM, to enable in this render pass instance.
Description
Performance counters values are written to each element of
pCounterAddresses in an implementation-dependent manner.
These writes execute in the
VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT pipeline stage.
The index into this array is calculated as:
uint32_t index = s * L + l;
where s is the physical subpass index, L is the maximum number
of
views or
layers in the current render pass instance, and l is the index of the
current
view or
layer.
When using a render pass object with multiple subpasses, an implementation may merge one more subpasses. The physical subpass index represents the index into the set of subpasses that remain after such merge operations are done.
|
The |
Within each element of pCounterAddresses, counter values are written
in framebuffer-space order if
VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::identityTransformOrder
is VK_TRUE.
Each counter value is written as an unsigned 32-bit integer value.
If the render pass has a fragment density map, performance counter values are only written for regions where the fragment area is unchanged.
See Also
VK_ARM_performance_counters_by_region, VkBool32, VkDeviceAddress, VkStructureType
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.