Class VkPhysicalDeviceShaderCorePropertiesAMD

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkPhysicalDeviceShaderCorePropertiesAMD
    extends Struct
    implements NativeResource
    Structure describing shader core properties that can be supported by an implementation.
    Description

    If the VkPhysicalDeviceShaderCorePropertiesAMD structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

    Valid Usage (Implicit)

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • shaderEngineCount – an unsigned integer value indicating the number of shader engines found inside the shader core of the physical device.
    • shaderArraysPerEngineCount – 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 buffers). 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.
    • computeUnitsPerShaderArray – 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.
    • simdPerComputeUnit – an unsigned integer value indicating the number of SIMDs inside a compute unit. Each SIMD processes a single instruction at a time.
    • wavefrontSize – an unsigned integer value indicating the maximum size of a subgroup.
    • sgprsPerSimd – an unsigned integer value indicating the number of physical Scalar General Purpose Registers (SGPRs) per SIMD.
    • minSgprAllocation – an unsigned integer value indicating the minimum number of SGPRs allocated for a wave.
    • maxSgprAllocation – an unsigned integer value indicating the maximum number of SGPRs allocated for a wave.
    • sgprAllocationGranularity – an unsigned integer value indicating the granularity of SGPR allocation for a wave.
    • vgprsPerSimd – an unsigned integer value indicating the number of physical Vector General Purpose Registers (VGPRs) per SIMD.
    • minVgprAllocation – an unsigned integer value indicating the minimum number of VGPRs allocated for a wave.
    • maxVgprAllocation – an unsigned integer value indicating the maximum number of VGPRs allocated for a wave.
    • vgprAllocationGranularity – an unsigned integer value indicating the granularity of VGPR allocation for a wave.

    Layout

    
     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;
     }