VK_KHR_pipeline_executable_properties(3)

# VK_KHR_pipeline_executable_properties(3) Manual Page

## Name

VK_KHR_pipeline_executable_properties - device extension

Loading… please wait.

## Registered Extension Number

270

## Revision

1

## Extension and Version Dependencies

- Requires Vulkan 1.0

- Requires `VK_KHR_get_physical_device_properties2`

## Special Use

- {devtools}

### Other Extension Metadata

Last Modified Date

  2019-05-28

IP Status

  No known IP claims.

Interactions and External Dependencies
Contributors

  - Jason Ekstrand, Intel

  - Ian Romanick, Intel

  - Kenneth Graunke, Intel

  - Baldur Karlsson, Valve

  - Jesse Hall, Google

  - Jeff Bolz, Nvidia

  - Piers Daniel, Nvidia

  - Tobias Hector, AMD

  - Jan-Harald Fredriksen, ARM

  - Tom Olson, ARM

  - Daniel Koch, Nvidia

  - Spencer Fricke, Samsung

### Description

When a pipeline is created, its state and shaders are compiled into zero or more device-specific executables, which are used when executing commands against that pipeline. This extension adds a mechanism to query properties and statistics about the different executables produced by the pipeline compilation process. This is intended to be used by debugging and performance tools to allow them to provide more detailed information to the user. Certain compile-time shader statistics provided through this extension may be useful to developers for debugging or performance analysis.

### New Commands

- vkGetPipelineExecutableInternalRepresentationsKHR

- vkGetPipelineExecutablePropertiesKHR

- vkGetPipelineExecutableStatisticsKHR

### New Structures

- VkPipelineExecutableInfoKHR

- VkPipelineExecutableInternalRepresentationKHR

- VkPipelineExecutablePropertiesKHR

- VkPipelineExecutableStatisticKHR

- VkPipelineInfoKHR

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR

### New Unions

- VkPipelineExecutableStatisticValueKHR

### New Enums

- VkPipelineExecutableStatisticFormatKHR

### New Enum Constants

- `VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME`

- `VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION`

- Extending VkPipelineCreateFlagBits:

  - `VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR`

  - `VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR`

  - `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR`

  - `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR`

  - `VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR`

  - `VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR`

### Issues

1) What should we call the pieces of the pipeline which are produced by the compilation process and about which you can query properties and statistics?

RESOLVED: Call them "executables". The name "binary" was used in early drafts of the extension but it was determined that "pipeline binary" could have a fairly broad meaning (such as a binary serialized form of an entire pipeline) and was too big of a namespace for the very specific needs of this extension.

### Version History

- Revision 1, 2019-05-28 (Jason Ekstrand)

  - Initial draft

## See Also

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPipelineExecutableInfoKHR, VkPipelineExecutableInternalRepresentationKHR, VkPipelineExecutablePropertiesKHR, VkPipelineExecutableStatisticFormatKHR, VkPipelineExecutableStatisticKHR, VkPipelineExecutableStatisticValueKHR, VkPipelineInfoKHR, vkGetPipelineExecutableInternalRepresentationsKHR, vkGetPipelineExecutablePropertiesKHR, vkGetPipelineExecutableStatisticsKHR

## 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 (c) 2014-2020 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0