Package org.lwjgl.vulkan
Class AMDShaderCoreProperties
- java.lang.Object
-
- org.lwjgl.vulkan.AMDShaderCoreProperties
-
public final class AMDShaderCoreProperties extends java.lang.Object
This extension exposes shader core properties for a target physical device through theVK_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
- 2
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
- Contact
- Martin Dinkov mdinkov
- Last Modified Date
- 2019-06-25
- IP Status
- No known IP claims.
- Contributors
- Martin Dinkov, AMD
- Matthaeus G. Chajdas, AMD
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME
The extension name.static int
VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION
The extension specification version.static int
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
ExtendsVkStructureType
.
-
-
-
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
ExtendsVkStructureType
.- See Also:
- Constant Field Values
-
-