VK_ARM_shader_instrumentation(3)

# VK_ARM_shader_instrumentation(3) Manual Page

## Name

VK_ARM_shader_instrumentation - device extension

## Registered Extension Number

608

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## API Interactions

- Interacts with VK_EXT_shader_object

## Special Use

- Developer tools

## Contact

- Jan-Harald Fredriksen [GitHub]janharaldfredriksen-arm

## Extension Proposal

VK_ARM_shader_instrumentation

## Other Extension Metadata

Last Modified Date

  2026-02-26

IP Status

  No known IP claims.

Contributors

  - Embla Flatlandsmo, Arm Ltd.

  - Jan-Harald Fredriksen, Arm Ltd.

  - Mikel Garai, Arm Ltd.

  - Peter Harris, Arm Ltd.

  - Ting Wei, Arm Ltd.

  - Torbjörn Nilsson, Arm Ltd.

## Description

This extension provides the ability to instrument shaders and capture performance metrics per shader type from commands executed by a queue.

## New Object Types

- VkShaderInstrumentationARM

## New Commands

- vkClearShaderInstrumentationMetricsARM

- vkCmdBeginShaderInstrumentationARM

- vkCmdEndShaderInstrumentationARM

- vkCreateShaderInstrumentationARM

- vkDestroyShaderInstrumentationARM

- vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM

- vkGetShaderInstrumentationValuesARM

## New Structures

- VkShaderInstrumentationCreateInfoARM

- VkShaderInstrumentationMetricDataHeaderARM

- VkShaderInstrumentationMetricDescriptionARM

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceShaderInstrumentationFeaturesARM

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceShaderInstrumentationPropertiesARM

## New Bitmasks

- VkShaderInstrumentationValuesFlagsARM

## New Enum Constants

- `VK_ARM_SHADER_INSTRUMENTATION_EXTENSION_NAME`

- `VK_ARM_SHADER_INSTRUMENTATION_SPEC_VERSION`

- Extending VkObjectType:

  - VK_OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM

- Extending VkPipelineCreateFlagBits2:

  - VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM

- Extending VkStructureType:

  - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM

  - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM

  - VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM

  - VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM

If VK_EXT_shader_object is supported:

- Extending VkShaderCreateFlagBitsEXT:

  - VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM

## Version History

- Revision 1, 2026-02-26 (Embla Flatlandsmo, Jan-Harald Fredriksen)

  - Initial draft.

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0