Structures

VkPhysicalDeviceGpaPropertiesAMD

Structure describing GPU performance API properties for a physical device

The VkPhysicalDeviceGpaPropertiesAMD structure is defined as:

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

The members of the VkPhysicalDeviceGpaPropertiesAMD structure describe the following:

  • 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