Class VkPhysicalDeviceShaderCorePropertiesAMD

  • All Implemented Interfaces:
    Pointer

    public class VkPhysicalDeviceShaderCorePropertiesAMD
    extends Struct
    Structure describing shader core properties that can be supported by an implementation.
    Valid Usage (Implicit)

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

    Member documentation

    • 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 number of compute units within a shader array. 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 number of channels (or threads) in a wavefront.
    • 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;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, SHADERENGINECOUNT, SHADERARRAYSPERENGINECOUNT, COMPUTEUNITSPERSHADERARRAY, SIMDPERCOMPUTEUNIT, WAVEFRONTSPERSIMD, WAVEFRONTSIZE, SGPRSPERSIMD, MINSGPRALLOCATION, MAXSGPRALLOCATION, SGPRALLOCATIONGRANULARITY, VGPRSPERSIMD, MINVGPRALLOCATION, MAXVGPRALLOCATION, VGPRALLOCATIONGRANULARITY

        The struct member offsets.
    • Constructor Detail

      • VkPhysicalDeviceShaderCorePropertiesAMD

        public VkPhysicalDeviceShaderCorePropertiesAMD​(java.nio.ByteBuffer container)
        Creates a VkPhysicalDeviceShaderCorePropertiesAMD instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

        The created instance holds a strong reference to the container object.

    • Method Detail

      • sizeof

        public int sizeof()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • sType

        public int sType()
        Returns the value of the sType field.
      • pNext

        public long pNext()
        Returns the value of the pNext field.
      • shaderEngineCount

        public int shaderEngineCount()
        Returns the value of the shaderEngineCount field.
      • shaderArraysPerEngineCount

        public int shaderArraysPerEngineCount()
        Returns the value of the shaderArraysPerEngineCount field.
      • computeUnitsPerShaderArray

        public int computeUnitsPerShaderArray()
        Returns the value of the computeUnitsPerShaderArray field.
      • simdPerComputeUnit

        public int simdPerComputeUnit()
        Returns the value of the simdPerComputeUnit field.
      • wavefrontsPerSimd

        public int wavefrontsPerSimd()
        Returns the value of the wavefrontsPerSimd field.
      • wavefrontSize

        public int wavefrontSize()
        Returns the value of the wavefrontSize field.
      • sgprsPerSimd

        public int sgprsPerSimd()
        Returns the value of the sgprsPerSimd field.
      • minSgprAllocation

        public int minSgprAllocation()
        Returns the value of the minSgprAllocation field.
      • maxSgprAllocation

        public int maxSgprAllocation()
        Returns the value of the maxSgprAllocation field.
      • sgprAllocationGranularity

        public int sgprAllocationGranularity()
        Returns the value of the sgprAllocationGranularity field.
      • vgprsPerSimd

        public int vgprsPerSimd()
        Returns the value of the vgprsPerSimd field.
      • minVgprAllocation

        public int minVgprAllocation()
        Returns the value of the minVgprAllocation field.
      • maxVgprAllocation

        public int maxVgprAllocation()
        Returns the value of the maxVgprAllocation field.
      • vgprAllocationGranularity

        public int vgprAllocationGranularity()
        Returns the value of the vgprAllocationGranularity field.
      • nsType

        public static int nsType​(long struct)
        Unsafe version of sType().
      • npNext

        public static long npNext​(long struct)
        Unsafe version of pNext().
      • nshaderEngineCount

        public static int nshaderEngineCount​(long struct)
        Unsafe version of shaderEngineCount().
      • nshaderArraysPerEngineCount

        public static int nshaderArraysPerEngineCount​(long struct)
        Unsafe version of shaderArraysPerEngineCount().
      • ncomputeUnitsPerShaderArray

        public static int ncomputeUnitsPerShaderArray​(long struct)
        Unsafe version of computeUnitsPerShaderArray().
      • nsimdPerComputeUnit

        public static int nsimdPerComputeUnit​(long struct)
        Unsafe version of simdPerComputeUnit().
      • nwavefrontsPerSimd

        public static int nwavefrontsPerSimd​(long struct)
        Unsafe version of wavefrontsPerSimd().
      • nwavefrontSize

        public static int nwavefrontSize​(long struct)
        Unsafe version of wavefrontSize().
      • nsgprsPerSimd

        public static int nsgprsPerSimd​(long struct)
        Unsafe version of sgprsPerSimd().
      • nminSgprAllocation

        public static int nminSgprAllocation​(long struct)
        Unsafe version of minSgprAllocation().
      • nmaxSgprAllocation

        public static int nmaxSgprAllocation​(long struct)
        Unsafe version of maxSgprAllocation().
      • nsgprAllocationGranularity

        public static int nsgprAllocationGranularity​(long struct)
        Unsafe version of sgprAllocationGranularity().
      • nvgprsPerSimd

        public static int nvgprsPerSimd​(long struct)
        Unsafe version of vgprsPerSimd().
      • nminVgprAllocation

        public static int nminVgprAllocation​(long struct)
        Unsafe version of minVgprAllocation().
      • nmaxVgprAllocation

        public static int nmaxVgprAllocation​(long struct)
        Unsafe version of maxVgprAllocation().
      • nvgprAllocationGranularity

        public static int nvgprAllocationGranularity​(long struct)
        Unsafe version of vgprAllocationGranularity().
      • nsType

        public static void nsType​(long struct,
                                  int value)
        Unsafe version of sType.
      • npNext

        public static void npNext​(long struct,
                                  long value)
        Unsafe version of pNext.