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

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

=== Other Extension Metadata

*Last Modified Date*::
    2019-12-09
*IP Status*::
    No known IP claims.
*Contributors*::
  - Dan Ginsburg, Valve Corporation
  - Graeme Leese, Broadcom
  - Hans-Kristian Arntzen, Valve Corporation
  - Jan-Harald Fredriksen, Arm Limited
  - Jason Ekstrand, Intel
  - Jeff Bolz, NVIDIA
  - Jesse Hall, Google
  - Philip Rebohle, Valve Corporation
  - Stuart Smith, Imagination Technologies
  - Tobias Hector, AMD

=== Description

This extension adds some more dynamic state to support applications that
need to reduce the number of pipeline state objects they compile and bind.

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

=== Version History

 * Revision 1, 2019-12-09 (Piers Daniell)
   - Internal revisions
