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

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

=== Other Extension Metadata

*Last Modified Date*::
    2019-04-26
*IP Status*::
    No known IP claims.
*Contributors*::
  - Courtney Goeltzenleuchter, Google

=== Description

To be done.

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

=== Issues

1) Does the spec need to specify which kinds of image formats support the
color spaces?

*RESOLVED*: Pixel format is independent of color space (though some color
spaces really want / need floating point color components to be useful).
Therefore, do not plan on documenting what formats support which
colorspaces.
An application can: call flink:vkGetPhysicalDeviceSurfaceFormatsKHR to query
what a particular implementation supports.

2) How does application determine if HW supports appropriate transfer
function for a colorspace?

*RESOLVED*: Extension indicates that implementation must: not do the OETF
encoding if it is not sRGB.
That responsibility falls to the application shaders.
Any other native OETF / EOTF functions supported by an implementation can be
described by separate extension.

=== Version History

  * Revision 1, 2016-12-27 (Courtney Goeltzenleuchter)
    - Initial version

  * Revision 2, 2017-01-19 (Courtney Goeltzenleuchter)
    - Add pass through and multiple options for BT2020.
    - Clean up some issues with equations not displaying properly.

  * Revision 3, 2017-06-23 (Courtney Goeltzenleuchter)
    - Add extended sRGB non-linear enum.

  * Revision 4, 2019-04-26 (Graeme Leese)
    - Clarify colorspace transfer function usage.
    - Refer to normative definitions in the Data Format Specification.
    - Clarify DCI-P3 and Display P3 usage.
