VK_ARM_shader_core_builtins

Other Extension Metadata

Last Modified Date

2022-10-05

Interactions and External Dependencies
Contributors
  • Kevin Petit, Arm Ltd.
  • Jan-Harald Fredriksen, Arm Ltd.

Description

This extension provides the ability to determine device-specific properties on Arm GPUs. It exposes properties for the number of shader cores, the maximum number of warps that can run on a shader core, and shader builtins to enable invocations to identify which core and warp a shader invocation is executing on.

This extension enables support for the SPIR-V CoreBuiltinsARM capability.

These properties and built-ins can be used for debugging or performance optimization purposes. A typical optimization example would be to use CoreIDARM to select a per-shader-core instance of a data structure in algorithms that use atomics so as to reduce contention.

New Structures

New Enum Constants

  • VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME
  • VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM

New or Modified Built-In Variables

New SPIR-V Capabilities

Issues

None.

Version History

  • Revision 1, 2022-10-05 (Kevin Petit)
    • Initial revision
  • Revision 2, 2022-10-26 (Kevin Petit)
    • Add shaderCoreMask property