VK_KHR_swapchain_mutable_format(3)

# VK_KHR_swapchain_mutable_format(3) Manual Page

## Name

VK_KHR_swapchain_mutable_format - device extension

## Registered Extension Number

201

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_swapchain
and
VK_KHR_maintenance2
or
Vulkan Version 1.1
and
VK_KHR_image_format_list
or
Vulkan Version 1.2

## Contact

- Daniel Rakos [GitHub]drakos-amd

## Other Extension Metadata

Last Modified Date

  2018-03-28

IP Status

  No known IP claims.

Contributors

  - Faith Ekstrand, Intel

  - Jan-Harald Fredriksen, ARM

  - Jesse Hall, Google

  - Daniel Rakos, AMD

  - Ray Smith, ARM

## Description

This extension allows processing of swapchain images as different formats to that used by the window system, which is particularly useful for switching between sRGB and linear RGB formats.

It adds a new swapchain creation flag that enables creating image views from presentable images with a different format than the one used to create the swapchain.

## New Enum Constants

- `VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME`

- `VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION`

- Extending VkSwapchainCreateFlagBitsKHR:

  - VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR

## Issues

1) Are there any new capabilities needed?

RESOLVED: No. It is expected that all implementations exposing this extension support swapchain image format mutability.

2) Do we need a separate `VK_SWAPCHAIN_CREATE_EXTENDED_USAGE_BIT_KHR`?

RESOLVED: No. This extension requires `VK_KHR_maintenance2` and presentable images of swapchains created with VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR are created internally in a way equivalent to specifying both VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT and VK_IMAGE_CREATE_EXTENDED_USAGE_BIT.

3) Do we need a separate structure to allow specifying an image format list for swapchains?

RESOLVED: No. We use the VkImageFormatListCreateInfo structure introduced by `VK_KHR_image_format_list`. The structure is required to be included in the `pNext` chain of VkSwapchainCreateInfoKHR for swapchains created with VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR.

## Version History

- Revision 1, 2018-03-28 (Daniel Rakos)

  - Internal revisions.

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0