Class AMDShaderCoreProperties


  • public final class AMDShaderCoreProperties
    extends java.lang.Object
    This extension exposes shader core properties for a target physical device through the VK_KHR_get_physical_device_properties2 extension. Please refer to the example below for proper usage.
    Examples

    This example retrieves the shader core properties for a physical device.

    
     extern VkInstance       instance;
     
     PFN_vkGetPhysicalDeviceProperties2 pfnVkGetPhysicalDeviceProperties2 =
         reinterpret_cast<PFN_vkGetPhysicalDeviceProperties2>
         (vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceProperties2") );
     
     VkPhysicalDeviceProperties2             general_props;
     VkPhysicalDeviceShaderCorePropertiesAMD shader_core_properties;
     
     shader_core_properties.pNext = nullptr;
     shader_core_properties.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
     
     general_props.pNext = &shader_core_properties;
     general_props.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
     
     // After this call, shader_core_properties has been populated
     pfnVkGetPhysicalDeviceProperties2(device, &general_props);
     
     printf("Number of shader engines: %d\n",
         m_shader_core_properties.shader_engine_count =
         shader_core_properties.shaderEngineCount;
     printf("Number of shader arrays: %d\n",
         m_shader_core_properties.shader_arrays_per_engine_count =
         shader_core_properties.shaderArraysPerEngineCount;
     printf("Number of CUs per shader array: %d\n",
         m_shader_core_properties.compute_units_per_shader_array =
         shader_core_properties.computeUnitsPerShaderArray;
     printf("Number of SIMDs per compute unit: %d\n",
         m_shader_core_properties.simd_per_compute_unit =
         shader_core_properties.simdPerComputeUnit;
     printf("Number of wavefront slots in each SIMD: %d\n",
         m_shader_core_properties.wavefronts_per_simd =
         shader_core_properties.wavefrontsPerSimd;
     printf("Number of threads per wavefront: %d\n",
         m_shader_core_properties.wavefront_size =
         shader_core_properties.wavefrontSize;
     printf("Number of physical SGPRs per SIMD: %d\n",
         m_shader_core_properties.sgprs_per_simd =
         shader_core_properties.sgprsPerSimd;
     printf("Minimum number of SGPRs that can be allocated by a wave: %d\n",
         m_shader_core_properties.min_sgpr_allocation =
         shader_core_properties.minSgprAllocation;
     printf("Number of available SGPRs: %d\n",
         m_shader_core_properties.max_sgpr_allocation =
         shader_core_properties.maxSgprAllocation;
     printf("SGPRs are allocated in groups of this size: %d\n",
         m_shader_core_properties.sgpr_allocation_granularity =
         shader_core_properties.sgprAllocationGranularity;
     printf("Number of physical VGPRs per SIMD: %d\n",
         m_shader_core_properties.vgprs_per_simd =
         shader_core_properties.vgprsPerSimd;
     printf("Minimum number of VGPRs that can be allocated by a wave: %d\n",
         m_shader_core_properties.min_vgpr_allocation =
         shader_core_properties.minVgprAllocation;
     printf("Number of available VGPRs: %d\n",
         m_shader_core_properties.max_vgpr_allocation =
         shader_core_properties.maxVgprAllocation;
     printf("VGPRs are allocated in groups of this size: %d\n",
         m_shader_core_properties.vgpr_allocation_granularity =
         shader_core_properties.vgprAllocationGranularity;
    Name String
    VK_AMD_shader_core_properties
    Extension Type
    Device extension
    Registered Extension Number
    186
    Revision
    1
    Extension and Version Dependencies
    Contact
    Last Modified Date
    2018-02-15
    IP Status
    No known IP claims.
    Contributors
    • Martin Dinkov, AMD
    • Matthaeus Chajdas, AMD
    • Field Detail

      • VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION

        public static final int VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION
        The extension specification version.
        See Also:
        Constant Field Values
      • VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME

        public static final java.lang.String VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME
        The extension name.
        See Also:
        Constant Field Values
      • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD

        public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
        Extends VkStructureType.
        See Also:
        Constant Field Values