# VK_ARM_shader_core_builtins(3) Manual Page

## Name

VK_ARM_shader_core_builtins - device extension

Loading… please wait.

## Registered Extension Number

498

## Revision

2

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## SPIR-V Dependencies

- SPV_ARM_core_builtins

## Contact

- Kevin Petit [GitHub]kpet

## Other Extension Metadata

Last Modified Date

  2022-10-05

Interactions and External Dependencies

  - This extension provides API support for `GL_ARM_shader_core_builtins`

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

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM

## 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

- `CoreCountARM`

- `CoreMaxIDARM`

- `CoreIDARM`

- `WarpsMaxIDARM`

- `WarpIDARM`

## New SPIR-V Capabilities

- `CoreBuiltinsARM`

## Issues

None.

## Version History

- Revision 1, 2022-10-05 (Kevin Petit)

  - Initial revision

- Revision 2, 2022-10-26 (Kevin Petit)

  - Add `shaderCoreMask` property

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0