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

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

=== Other Extension Metadata

*Last Modified Date*::
    2020-01-08
*IP Status*::
    No known IP claims.
*Contributors*::
  - See contributors to `apiext:VK_KHR_ray_tracing_pipeline`

=== Description

A pipeline library is a special pipeline that cannot be bound, instead it
defines a set of shaders and shader groups which can be linked into other
pipelines.
This extension defines the infrastructure for pipeline libraries, but does
not specify the creation or usage of pipeline libraries.
This is left to additional dependent extensions.

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

=== Version History

 * Revision 1, 2020-01-08 (Christoph Kubisch)
   - Initial draft.
