blob: d90103fcfc5db069fe810fd5e96fa6307c0b97dc [file] [log] [blame]
// Copyright 2018-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// This section is included inside VK_KHR_swapchain
== Hdr Metadata
To improve color reproduction of content it is useful to have information
that can be used to better reproduce the colors as seen on the reference
monitor.
That information can be provided to an implementation by calling
fname:vkSetHdrMetadataEXT.
The metadata will be applied to the specified sname:VkSwapchainKHR objects
at the next fname:vkQueuePresentKHR call using that sname:VkSwapchainKHR
object.
The metadata will persist until a subsequent fname:vkSetHdrMetadataEXT
changes it.
The definitions below are from the associated SMPTE 2086, CTA 861.3 and CIE
15:2004 specifications.
The definition of fname:vkSetHdrMetadataEXT is:
[open,refpage='vkSetHdrMetadataEXT',desc='Set Hdr metadata',type='protos']
--
include::{generated}/api/protos/vkSetHdrMetadataEXT.txt[]
* pname:device is the logical device where the swapchain(s) were created.
* pname:swapchainCount is the number of swapchains included in
pname:pSwapchains.
* pname:pSwapchains is a pointer to an array of pname:swapchainCount
slink:VkSwapchainKHR handles.
* pname:pMetadata is a pointer to an array of pname:swapchainCount
slink:VkHdrMetadataEXT structures.
include::{generated}/validity/protos/vkSetHdrMetadataEXT.txt[]
--
[open,refpage='VkXYColorEXT',desc='Specify X,Y chromaticity coordinates',type='structs']
--
include::{generated}/api/structs/VkXYColorEXT.txt[]
Chromaticity coordinates x and y are as specified in CIE 15:2004
"`Calculation of chromaticity coordinates`" (Section 7.3) and are limited to
between 0 and 1 for real colors for the reference monitor.
--
[open,refpage='VkHdrMetadataEXT',desc='Specify Hdr metadata',type='structs']
--
include::{generated}/api/structs/VkHdrMetadataEXT.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.
* pname:displayPrimaryRed is the reference monitor's red primary in
chromaticity coordinates
* pname:displayPrimaryGreen is the reference monitor's green primary in
chromaticity coordinates
* pname:displayPrimaryBlue is the reference monitor's blue primary in
chromaticity coordinates
* pname:whitePoint is the reference monitor's white-point in chromaticity
coordinates
* pname:maxLuminance is the maximum luminance of the reference monitor in
nits
* pname:minLuminance is the minimum luminance of the reference monitor in
nits
* pname:maxContentLightLevel is content's maximum luminance in nits
* pname:maxFrameAverageLightLevel is the maximum frame average light level
in nits
include::{generated}/validity/structs/VkHdrMetadataEXT.txt[]
[NOTE]
.Note
====
The validity and use of this data is outside the scope of Vulkan.
====
--