VK_KHR_pipeline_executable_properties
Other Extension Metadata
Last Modified Date
2019-05-28
IP Status
No known IP claims.
Interactions and External Dependencies###### Contributors
- Faith 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:
New Unions
New Enums
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 (Faith Ekstrand)
- Initial draft