# vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM(3) Manual Page

## Name

vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM - Returns properties describing what shader instrumentation metrics are supported

Loading… please wait.

## C Specification

To enumerate the available shader instrumentation metrics, call:

    // Provided by VK_ARM_shader_instrumentation
    VkResult vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM(
        VkPhysicalDevice                            physicalDevice,
        uint32_t*                                   pDescriptionCount,
        VkShaderInstrumentationMetricDescriptionARM* pDescriptions);

## Parameters

- `physicalDevice` is the physical device.

- `pDescriptionCount` is a pointer to an integer related to the number of shader instrumentation metrics available or queried.

- `pDescriptions` is either `NULL` or a pointer to an array of VkShaderInstrumentationMetricDescriptionARM structures.

## Description

If `pDescriptions` is `NULL`, then the number of shader instrumentation metrics available is returned in `pDescriptionCount`. Otherwise, `pDescriptionCount` must point to a variable set by the application to the number of elements in the `pDescriptions` array, and on return the variable is overwritten with the number of structures actually written to `pDescriptions`. If `pDescriptionCount` is less than the number shader instrumentation metrics available, at most `pDescriptionCount` structures will be written, and VK_INCOMPLETE will be returned instead of VK_SUCCESS, to indicate that not all the available shader instrumentation metrics were returned.

Valid Usage (Implicit)

- VUID-vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM-physicalDevice-parameter
  `physicalDevice` must be a valid VkPhysicalDevice handle

- VUID-vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM-pDescriptionCount-parameter
  `pDescriptionCount` must be a valid pointer to a `uint32_t` value

- VUID-vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM-pDescriptions-parameter
  If the value referenced by `pDescriptionCount` is not `0`, and `pDescriptions` is not `NULL`, `pDescriptions` must be a valid pointer to an array of `pDescriptionCount` VkShaderInstrumentationMetricDescriptionARM structures

Return Codes

On success, this command returns

  - VK_INCOMPLETE

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_INITIALIZATION_FAILED

  - VK_ERROR_OUT_OF_DEVICE_MEMORY

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_ARM_shader_instrumentation, VkPhysicalDevice, VkShaderInstrumentationMetricDescriptionARM

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0