Vulkan-Docs/appendices/VK_KHR_swapchain_mutable_fo...

83 lines
2.1 KiB
Plaintext

// Copyright (c) 2014-2019 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
include::meta/VK_KHR_swapchain_mutable_format.txt[]
*Last Modified Date*::
2018-03-28
*IP Status*::
No known IP claims.
*Contributors*::
- Jason Ekstrand, Intel
- Jan-Harald Fredriksen, ARM
- Jesse Hall, Google
- Daniel Rakos, AMD
- Ray Smith, ARM
=== Short Description
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.
=== Description
This extension 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 Object Types
None.
=== New Enum Constants
* Extending elink:VkSwapchainCreateFlagBitsKHR:
** ename:VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR
=== New Enums
None.
=== New Structures
None.
=== New Functions
None.
=== 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 etext:VK_SWAPCHAIN_CREATE_EXTENDED_USAGE_BIT_KHR?
*RESOLVED*: No.
This extension requires `VK_KHR_maintenance2` and presentable images of
swapchains created with ename:VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR are
created internally in a way equivalent to specifying both
ename:VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT and
ename:VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR.
3) Do we need a separate structure to allow specifying an image format list
for swapchains?
*RESOLVED*: No.
We simply use the same slink:VkImageFormatListCreateInfoKHR structure
introduced by `VK_KHR_image_format_list`.
The structure is required to be included in the pname:pNext chain of
slink:VkSwapchainCreateInfoKHR for swapchains created with
ename:VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR.
=== Version History
* Revision 1, 2018-03-28 (Daniel Rakos)
- Internal revisions.