Vulkan-Docs/appendices/VK_KHR_pipeline_executable_properties.txt
Jon Leech 22a5a1459f Change log for October 6, 2019 Vulkan 1.1.124 spec update:
* Update release number to 124.

Github Issues:

  * Fix Makefile SPECREMARK macro to work when not building in a git tree
    (public issue 992).
  * Ignore pname:aspectMask for unused attachments in
    slink:VkSubpassDescription2KHR valid usage statements (public pull
    request 1028).
  * Minor markup / spelling fixes (public pull requests 1035, 1045).

Internal Issues:

  * Fix markup in Valid Usage statement for slink:VkCreateFramebuffer
    (internal issue 1823).
  * Add a new <<synchronization-signal-operation-order, _signal operation
    order_>> section to the synchronization chapter which describes in
    detail the ordering guarantees provided by the API between fence and
    semaphore signal operations (internal merge request 3368).
  * Move generated `appendix/meta/` files into the Makefile GENERATED
    directory (internal merge request 3381).

New Extensions

  * `<<VK_KHR_shader_clock>>`
  * `<<VK_KHR_timeline_semaphore>>`
2019-10-06 12:42:12 -07:00

81 lines
2.8 KiB
Plaintext

include::{generated}/meta/VK_KHR_pipeline_executable_properties.txt[]
*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
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 Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
** ename:VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR
** ename:VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR
** ename:VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR
** ename:VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR
** ename:VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR
* Extending elink:VkPipelineCreateFlagBits:
** ename:VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR
** ename:VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
=== New Enums
* elink:VkPipelineExecutableStatisticFormatKHR
=== New Structures
* slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
* slink:VkPipelineInfoKHR
* slink:VkPipelineExecutablePropertiesKHR
* slink:VkPipelineExecutableInfoKHR
* slink:VkPipelineExecutableStatisticValueKHR
* slink:VkPipelineExecutableStatisticKHR
* slink:VkPipelineExecutableInternalRepresentationKHR
=== New Functions
* flink:vkGetPipelineExecutablePropertiesKHR
* flink:vkGetPipelineExecutableStatisticsKHR
* flink:vkGetPipelineExecutableInternalRepresentationsKHR
=== 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