/ appendices / VK_EXT_hdr_metadata.txt
VK_EXT_hdr_metadata.txt
 1  include::meta/VK_EXT_hdr_metadata.txt[]
 2  
 3  *Last Modified Date*::
 4      2017-03-04
 5  *IP Status*::
 6      No known IP claims.
 7  *Contributors*::
 8    - Courtney Goeltzenleuchter, Google
 9  
10  This extension defines two new structures and a function to assign SMPTE
11  (the Society of Motion Picture and Television Engineers) 2086 metadata and
12  CTA (Consumer Technology Association) 861.3 metadata to a swapchain.
13  The metadata includes the color primaries, white point, and luminance range
14  of the mastering display, which all together define the color volume that
15  contains all the possible colors the mastering display can produce.
16  The mastering display is the display where creative work is done and
17  creative intent is established.
18  To preserve such creative intent as much as possible and achieve consistent
19  color reproduction on different viewing displays, it is useful for the
20  display pipeline to know the color volume of the original mastering display
21  where content was created or tuned.
22  This avoids performing unnecessary mapping of colors that are not
23  displayable on the original mastering display.
24  The metadata also includes the pname:maxContentLightLevel and
25  pname:maxFrameAverageLightLevel as defined by CTA 861.3.
26  
27  While the general purpose of the metadata is to assist in the transformation
28  between different color volumes of different displays and help achieve
29  better color reproduction, it is not in the scope of this extension to
30  define how exactly the metadata should be used in such a process.
31  It is up to the implementation to determine how to make use of the metadata.
32  
33  === New Enum Constants
34  
35    * Extending elink:VkStructureType:
36    ** ename:VK_STRUCTURE_TYPE_HDR_METADATA_EXT
37  
38  === New Structures
39  
40    * slink:VkXYColorEXT
41    * slink:VkHdrMetadataEXT
42  
43  === New Functions
44  
45    * flink:vkSetHdrMetadataEXT
46  
47  === Issues
48  
49  1) Do we need a query function?
50  
51  *PROPOSED*: No, Vulkan does not provide queries for state that the
52  application can track on its own.
53  
54  2) Should we specify default if not specified by the application?
55  
56  *PROPOSED*: No, that leaves the default up to the display.
57  
58  === Version History
59  
60    * Revision 1, 2016-12-27 (Courtney Goeltzenleuchter)
61      - Initial version
62  
63    * Revision 2, 2018-12-19 (Courtney Goeltzenleuchter)
64      - Correct implicit validity for VkHdrMetadataEXT structure