VkPhysicalDeviceGpaPropertiesAMD(3)

# VkPhysicalDeviceGpaPropertiesAMD(3) Manual Page

## Name

VkPhysicalDeviceGpaPropertiesAMD - Structure describing GPU performance API properties for a physical device

## C Specification

The `VkPhysicalDeviceGpaPropertiesAMD` structure is defined as:

    // Provided by VK_AMD_gpa_interface
    typedef struct VkPhysicalDeviceGpaPropertiesAMD {
        VkStructureType                          sType;
        void*                                    pNext;
        VkPhysicalDeviceGpaPropertiesFlagsAMD    flags;
        VkDeviceSize                             maxSqttSeBufferSize;
        uint32_t                                 shaderEngineCount;
        uint32_t                                 perfBlockCount;
        VkGpaPerfBlockPropertiesAMD*             pPerfBlocks;
    } VkPhysicalDeviceGpaPropertiesAMD;

## Members

The members of the `VkPhysicalDeviceGpaPropertiesAMD` structure describe the following:

## Description

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `flags` is reserved for future use.

- `maxSqttSeBufferSize` is the SQTT buffer size per engine.

- `shaderEngineCount` is the number of shader engines.

- `perfBlockCount` is the number of entries in `pPerfBlocks`.

- `pPerfBlocks` is a pointer to an array of VkGpaPerfBlockPropertiesAMD structures containing the available performance blocks.

If the `VkPhysicalDeviceGpaPropertiesAMD` structure is included in the `pNext` chain of the VkPhysicalDeviceProperties2 structure passed to vkGetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Note that, as opposed to other physical device property structures, `VkPhysicalDeviceGpaPropertiesAMD` needs vkGetPhysicalDeviceProperties2 to be called twice to obtain the `pPerfBlocks` array, similar to an enumeration function. If `pPerfBlocks` is `NULL`, then the number of performance blocks is returned in `perfBlockCount`. Otherwise, `perfBlockCount` must be set by the application to the number of elements in the `pPerfBlocks` array, and on return the variable is overwritten with the number of elements actually written to `pPerfBlocks`.

Valid Usage (Implicit)

- VUID-VkPhysicalDeviceGpaPropertiesAMD-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GPA_PROPERTIES_AMD

Structure Chaining

Extends the structure

  - VkPhysicalDeviceProperties2

## See Also

VK_AMD_gpa_interface, VkDeviceSize, VkGpaPerfBlockPropertiesAMD, VkPhysicalDeviceGpaPropertiesFlagsAMD, 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.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0