Registered Extension Number

105

Revision

4

Ratification Status

Not ratified

Extension and Version Dependencies

Contact

Other Extension Metadata

Last Modified Date

2019-04-26

IP Status

No known IP claims.

Contributors
  • Courtney Goeltzenleuchter, Google

Description

This extension expands VkColorSpaceKHR to add support for most standard color spaces beyond VK_COLOR_SPACE_SRGB_NONLINEAR_KHR. This extension also adds support for VK_COLOR_SPACE_PASS_THROUGH_EXT which allows applications to use color spaces not explicitly enumerated in VkColorSpaceKHR.

New Enum Constants

  • VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME

  • VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION

  • Extending VkColorSpaceKHR:

    • VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT

    • VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT

    • VK_COLOR_SPACE_BT2020_LINEAR_EXT

    • VK_COLOR_SPACE_BT709_LINEAR_EXT

    • VK_COLOR_SPACE_BT709_NONLINEAR_EXT

    • VK_COLOR_SPACE_DCI_P3_LINEAR_EXT

    • VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT

    • VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT

    • VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT

    • VK_COLOR_SPACE_DOLBYVISION_EXT

    • VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT

    • VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT

    • VK_COLOR_SPACE_HDR10_HLG_EXT

    • VK_COLOR_SPACE_HDR10_ST2084_EXT

    • VK_COLOR_SPACE_PASS_THROUGH_EXT

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 color spaces. 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 color space?

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 color space transfer function usage.

    • Refer to normative definitions in the Data Format Specification.

    • Clarify DCI-P3 and Display P3 usage.

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 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0