C Specification
The VkPhysicalDeviceShaderCorePropertiesAMD structure is defined as:
// Provided by VK_AMD_shader_core_properties
typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
    VkStructureType    sType;
    void*              pNext;
    uint32_t           shaderEngineCount;
    uint32_t           shaderArraysPerEngineCount;
    uint32_t           computeUnitsPerShaderArray;
    uint32_t           simdPerComputeUnit;
    uint32_t           wavefrontsPerSimd;
    uint32_t           wavefrontSize;
    uint32_t           sgprsPerSimd;
    uint32_t           minSgprAllocation;
    uint32_t           maxSgprAllocation;
    uint32_t           sgprAllocationGranularity;
    uint32_t           vgprsPerSimd;
    uint32_t           minVgprAllocation;
    uint32_t           maxVgprAllocation;
    uint32_t           vgprAllocationGranularity;
} VkPhysicalDeviceShaderCorePropertiesAMD;Members
- 
sTypeis a VkStructureType value identifying this structure.
- 
pNextisNULLor a pointer to a structure extending this structure.
- 
shaderEngineCountis an unsigned integer value indicating the number of shader engines found inside the shader core of the physical device.
- 
shaderArraysPerEngineCountis an unsigned integer value indicating the number of shader arrays inside a shader engine. Each shader array has its own scan converter, set of compute units, and a render back end (color and depth attachments). Shader arrays within a shader engine share shader processor input (wave launcher) and shader export (export buffer) units. Currently, a shader engine can have one or two shader arrays.
- 
computeUnitsPerShaderArrayis an unsigned integer value indicating the physical number of compute units within a shader array. The active number of compute units in a shader array may be lower. A compute unit houses a set of SIMDs along with a sequencer module and a local data store.
- 
simdPerComputeUnitis an unsigned integer value indicating the number of SIMDs inside a compute unit. Each SIMD processes a single instruction at a time.
- 
wavefrontSizeis an unsigned integer value indicating the maximum size of a subgroup.
- 
sgprsPerSimdis an unsigned integer value indicating the number of physical Scalar General-Purpose Registers (SGPRs) per SIMD.
- 
minSgprAllocationis an unsigned integer value indicating the minimum number of SGPRs allocated for a wave.
- 
maxSgprAllocationis an unsigned integer value indicating the maximum number of SGPRs allocated for a wave.
- 
sgprAllocationGranularityis an unsigned integer value indicating the granularity of SGPR allocation for a wave.
- 
vgprsPerSimdis an unsigned integer value indicating the number of physical Vector General-Purpose Registers (VGPRs) per SIMD.
- 
minVgprAllocationis an unsigned integer value indicating the minimum number of VGPRs allocated for a wave.
- 
maxVgprAllocationis an unsigned integer value indicating the maximum number of VGPRs allocated for a wave.
- 
vgprAllocationGranularityis an unsigned integer value indicating the granularity of VGPR allocation for a wave.
Description
If the VkPhysicalDeviceShaderCorePropertiesAMD structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
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.