// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_EXT_pipeline_creation_feedback.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2019-03-12
*IP Status*::
    No known IP claims.
*Contributors*::
  - Jean-Francois Roy, Google
  - Hai Nguyen, Google
  - Andrew Ellem, Google
  - Bob Fraser, Google
  - Sujeevan Rajayogam, Google
  - Jan-Harald Fredriksen, ARM
  - Jeff Leger, Qualcomm Technologies, Inc.
  - Jeff Bolz, NVIDIA
  - Daniel Koch, NVIDIA
  - Neil Henning, AMD

=== Description

This extension adds a mechanism to provide feedback to an application about
pipeline creation, with the specific goal of allowing a feedback loop
between build systems and in-the-field application executions to ensure
effective pipeline caches are shipped to customers.

include::{generated}/interfaces/VK_EXT_pipeline_creation_feedback.txt[]

=== Version History

  * Revision 1, 2019-03-12 (Jean-Francois Roy)
    - Initial revision
