Class AMDShaderCoreProperties

java.lang.Object
org.lwjgl.vulkan.AMDShaderCoreProperties

public final class AMDShaderCoreProperties extends 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;
VK_AMD_shader_core_properties
Name String
VK_AMD_shader_core_properties
Extension Type
Device extension
Registered Extension Number
186
Revision
2
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
Contact
Other Extension Metadata
Last Modified Date
2019-06-25
IP Status
No known IP claims.
Contributors
  • Martin Dinkov, AMD
  • Matthaeus G. Chajdas, AMD
  • Field Details

    • VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION

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

      public static final String VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME
      The extension name.
      See Also:
    • 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: