/ appendices / VK_EXT_swapchain_colorspace.txt
VK_EXT_swapchain_colorspace.txt
1 include::meta/VK_EXT_swapchain_colorspace.txt[] 2 3 *Last Modified Date*:: 4 2019-04-26 5 *IP Status*:: 6 No known IP claims. 7 *Contributors*:: 8 - Courtney Goeltzenleuchter, Google 9 10 === New Enum Constants 11 12 * Extending elink:VkColorSpaceKHR: 13 ** ename:VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT - supports the Display-P3 14 color space and applies an sRGB-like transfer function. 15 ** ename:VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT - supports the extended 16 sRGB color space and applies a linear transfer function. 17 ** ename:VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT - supports the 18 extended sRGB color space with an sRGB nonlinear transfer function. 19 ** ename:VK_COLOR_SPACE_DCI_P3_LINEAR_EXT - supports the DCI-P3 color 20 space and applies a linear OETF. 21 ** ename:VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT - supports the DCI-P3 color 22 space and applies the Gamma 2.6 OETF. 23 ** ename:VK_COLOR_SPACE_BT709_LINEAR_EXT - supports the BT709 color space 24 and applies a linear transfer function. 25 ** ename:VK_COLOR_SPACE_BT709_NONLINEAR_EXT - supports the BT709 color 26 space and applies the SMPTE 170M OETF. 27 ** ename:VK_COLOR_SPACE_BT2020_LINEAR_EXT - supports the BT2020 color 28 space and applies a linear OETF. 29 ** ename:VK_COLOR_SPACE_HDR10_ST2084_EXT - supports HDR10 (BT2020 color 30 space and applies the SMPTE ST2084 Perceptual Quantizer (PQ) OETF). 31 ** ename:VK_COLOR_SPACE_DOLBYVISION_EXT - supports Dolby Vision (BT2020 32 color space, proprietary encoding, and applies the SMPTE ST2084 OETF). 33 ** ename:VK_COLOR_SPACE_HDR10_HLG_EXT - supports HDR10 (BT2020 color space 34 and applies the Hybrid Log Gamma (HLG) OETF). 35 ** ename:VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT - supports the AdobeRGB color 36 space and applies a linear OETF. 37 ** ename:VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT - supports the AdobeRGB 38 color space and applies the Gamma 2.2 OETF. 39 ** ename:VK_COLOR_SPACE_PASS_THROUGH_EXT - color components used "`as 40 is`". 41 Intended to allow application to supply data for color spaces not 42 described here. 43 44 === Issues 45 46 1) Does the spec need to specify which kinds of image formats support the 47 color spaces? 48 49 *RESOLVED*: Pixel format is independent of color space (though some color 50 spaces really want / need floating point color components to be useful). 51 Therefore, do not plan on documenting what formats support which 52 colorspaces. 53 An application can: call flink:vkGetPhysicalDeviceSurfaceFormatsKHR to query 54 what a particular implementation supports. 55 56 2) How does application determine if HW supports appropriate transfer 57 function for a colorspace? 58 59 *RESOLVED*: Extension indicates that implementation must: not do the OETF 60 encoding if it is not sRGB. 61 That responsibility falls to the application shaders. 62 Any other native OETF / EOTF functions supported by an implementation can be 63 described by separate extension. 64 65 === Version History 66 67 * Revision 1, 2016-12-27 (Courtney Goeltzenleuchter) 68 - Initial version 69 70 * Revision 2, 2017-01-19 (Courtney Goeltzenleuchter) 71 - Add pass through and multiple options for BT2020. 72 - Clean up some issues with equations not displaying properly. 73 74 * Revision 3, 2017-06-23 (Courtney Goeltzenleuchter) 75 - Add extended sRGB non-linear enum. 76 77 * Revision 4, 2019-04-26 (Graeme Leese) 78 - Clarify colorspace transfer function usage. 79 - Refer to normative definitions in the Data Format Specification. 80 - Clarify DCI-P3 and Display P3 usage.