Extension and Version Dependencies
-
Requires Vulkan 1.0
-
Requires
VK_KHR_surface
Other Extension Metadata
- Last Modified Date
-
2019-04-26
- IP Status
-
No known IP claims.
- Contributors
-
-
Courtney Goeltzenleuchter, Google
-
New Enum Constants
-
Extending VkColorSpaceKHR:
-
VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
- supports the Display-P3 color space and applies an sRGB-like transfer function. -
VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
- supports the extended sRGB color space and applies a linear transfer function. -
VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
- supports the extended sRGB color space with an sRGB nonlinear transfer function. -
VK_COLOR_SPACE_DCI_P3_LINEAR_EXT
- supports the DCI-P3 color space and applies a linear OETF. -
VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT
- supports the DCI-P3 color space and applies the Gamma 2.6 OETF. -
VK_COLOR_SPACE_BT709_LINEAR_EXT
- supports the BT709 color space and applies a linear transfer function. -
VK_COLOR_SPACE_BT709_NONLINEAR_EXT
- supports the BT709 color space and applies the SMPTE 170M OETF. -
VK_COLOR_SPACE_BT2020_LINEAR_EXT
- supports the BT2020 color space and applies a linear OETF. -
VK_COLOR_SPACE_HDR10_ST2084_EXT
- supports HDR10 (BT2020 color space and applies the SMPTE ST2084 Perceptual Quantizer (PQ) OETF). -
VK_COLOR_SPACE_DOLBYVISION_EXT
- supports Dolby Vision (BT2020 color space, proprietary encoding, and applies the SMPTE ST2084 OETF). -
VK_COLOR_SPACE_HDR10_HLG_EXT
- supports HDR10 (BT2020 color space and applies the Hybrid Log Gamma (HLG) OETF). -
VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT
- supports the AdobeRGB color space and applies a linear OETF. -
VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
- supports the AdobeRGB color space and applies the Gamma 2.2 OETF. -
VK_COLOR_SPACE_PASS_THROUGH_EXT
- color components used “as is”. Intended to allow application to supply data for color spaces not described here.
-
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 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.
-
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 (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.