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

include::{generated}/meta/{refprefix}VK_EXT_swapchain_maintenance1.adoc[]

=== Other Extension Metadata

*Last Modified Date*::
    2022-10-28
*Contributors*::
  - Jeff Juliano, NVIDIA
  - Shahbaz Youssefi, Google
  - Chris Forbes, Google
  - Ian Elliott, Google
  - Yiwei Zhang, Google
  - Charlie Lao, Google
  - Lina Versace, Google
  - Ralph Potter, Samsung
  - Igor Nazarov, Samsung
  - Hyunchang Kim, Samsung
  - Suenghwan Lee, Samsung
  - Munseong Kang, Samsung
  - Joonyong Park, Samsung
  - Hans-Kristian Arntzen, Valve
  - Lisa Wu, Arm
  - Daniel Stone, Collabora
  - Pan Gao, Huawei

=== Description

`apiext:VK_EXT_swapchain_maintenance1` adds a collection of window system
integration features that were intentionally left out or overlooked in the
original `apiext:VK_KHR_swapchain` extension.

The new features are as follows:

  * Specify a fence that will be signaled when the resources associated with
    a present operation can: be safely destroyed.
  * Allow changing the present mode a swapchain is using at per-present
    granularity.
  * Allow applications to define the behavior when presenting a swapchain
    image to a surface with different dimensions than the image.
    Using this feature may: allow implementations to avoid returning
    ename:VK_ERROR_OUT_OF_DATE_KHR in this situation.
  * Allow applications to defer swapchain memory allocation for improved
    startup time and memory footprint.
  * Allow applications to release previously acquired images without
    presenting them.

include::{generated}/interfaces/VK_EXT_swapchain_maintenance1.adoc[]

=== Version History

  * Revision 0, 2019-05-28
  ** Initial revisions
  * Revision 1, 2022-08-21 (Shahbaz Youssefi)
  ** Add functionality and complete spec
