Vulkan-Docs/doc/specs/vulkan/appendices/VK_EXT_hdr_metadata.txt
Jon Leech 3e4bee3d11 Change log for March 10, 2017 Vulkan 1.0.43 spec update:
* Bump API patch number and header version number to 43 for this update.

Github Issues:

  * Make clearer that color write mask is applied regardless of whether
    blending is enabled, by referring to the
    <<framebuffer-color-write-mask,Color Write Mask>> section (public issue
    241).
  * Fix public issue 414:
  ** Added two new command buffer states (invalid, pending), and an explicit
     "command buffer lifecycle" section to explain them.
  ** Replaced "pending execution" with "in the pending state".
  ** Replaced a bunch of "this will invalidate the command buffer" language
     with "this will move the command buffer to the invalid state", and added
     validation language for what state those command buffers should be in.
  ** Added additional validation language about what state a command buffer
     should be in for various commands that affect it.
  ** Added invalidation language to destroy commands in the lifetimes section
     of fundamentals.
  ** Added command buffers to list of objects which must not be deleted
     whilst a (primary) command buffer is in the recording or pending state.
  * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant
    blocks (public issue 428).

Internal Issues:

  * Document rules about extension interactions in the style guide (internal
    issue 579).
  * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces
    created with flink:vkCreateWaylandSurfaceKHR using the
    VK_KHR_wayland_surface extension (internal issue 666).
  * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when
    the `VK_KHR_maintainance1` extension is present (internal issue 686).
  * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR
    and vkGetPhysicalDeviceImageFormatProperties2KHR from the
    <<VK_KHX_external_memory_capabilities>> and
    <<VK_KHX_external_semaphore_capabilities>> extensions.

New Extensions:

  * `VK_EXT_hdr_metadata`
  * `VK_GOOGLE_display_timing`
2017-03-10 17:39:29 -08:00

76 lines
2.4 KiB
Plaintext

[[VK_EXT_hdr_metadata]]
== VK_EXT_hdr_metadata
*Name String*::
+VK_EXT_hdr_metadata+
*Extension Type*::
Device
*Registered Extension Number*::
106
*Last Modified Date*::
2017-03-04
*Revision*::
1
*IP Status*::
No known IP claims.
*Dependencies*::
- This extension is written against version 1.0 of the Vulkan API.
- This extension requires +VK_KHR_surface+.
*Contributors*::
- Courtney Goeltzenleuchter, Google
*Contacts*::
- Courtney Goeltzenleuchter, Google
This extension defines two new structures and a function to assign SMPTE
(the Society of Motion Picture and Television Engineers) 2086 metadata and
CTA (Consumer Technology Assocation) 861.3 metadata to a swapchain.
The metadata includes the color primaries, white point, and luminance range
of the mastering display, which all together define the color volume that
contains all the possible colors the mastering display can produce.
The mastering display is the display where creative work is done and
creative intent is established.
To preserve such creative intent as much as possible and achieve consistent
color reproduction on different viewing displays, it is useful for the
display pipeline to know the color volume of the original mastering display
where content was created or tuned.
This avoids performing unnecessary mapping of colors that are not
displayable on the original mastering display.
The metadata also includes the maxContentLightLevel and
maxFrameAverageLightLevel as defined by CTA 861.3.
While the general purpose of the metadata is to assist in the transformation
between different color volumes of different displays and help achieve
better color reproduction, it is not in the scope of this extension to
define how exactly the metadata should be used in such a process.
It is up to the implementation to determine how to make use of the metadata.
=== New Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_HDR_METADATA_EXT
=== New Structures
* slink:VkXYColorEXT
* slink:VkHdrMetadataEXT
=== New Functions
* flink:vkSetHdrMetadataEXT
=== Issues
1) Do we need a query function?
PROPOSED: No, Vulkan does not provide queries for state that the
application can track on its own.
2) Should we specify default if not specified by the application?
PROPOSED: No, that leaves the default up to the display.
=== Version History
* Revision 1, 2016-12-27 (Courtney Goeltzenleuchter)
- Initial version