Vulkan-Docs/doc/specs/vulkan/appendices/VK_EXT_hdr_metadata.txt
Jon Leech df88ded281 Change log for September 5, 2017 Vulkan 1.0.60 spec update:
* Bump API patch number and header version number to 60 for this update.

Github Issues:

  * Document that <<queries-timestamps, Timestamp Queries>> can only be
    meaningfully compared when they are written from the same queue (public
    issue 216).
  * Document that the `<extension>` tag `type` attribute is required for
    non-disabled extensions (derived from, but does not close public issue
    354).
  * Clean up registry schema length attribute descriptions to be consistent
    and correct (public issue 555).

Internal Issues:

  * Replace as much of the hand-written extension appendix metadata as
    possible with asciidoc includes generated from corresponding attributes
    of +vk.xml+, and enhance the style guide to match. This avoids
    inconsistencies between +vk.xml+ and the appendices, and produces a more
    uniform style (internal issue 137).
  * Remove the generated extDependency.{py,sh} files from the tree and
    create them dynamically on demand instead, reducing merge conflicts
    (internal issue 713).
  * Add a prototype tool for generating in-place difference markup for
    sections guarded by asciidoc conditionals, and new syntax for open
    blocks to support it (internal issue 833).
  * Remove unnecessary restriction of etext:*SYNC_FD_BIT_KHR external handle
    types to the same physical device in the
    slink:VkPhysicalDeviceIDPropertiesKHR,
    flink:VkImportMemoryWin32HandleInfoKHR,
    slink:VkImportFenceWin32HandleInfoKHR, slink:VkImportFenceFdInfoKHR,
    slink:VkImportSemaphoreWin32HandleInfoKHR,
    slink:VkImportSemaphoreFdInfoKHR
    <<external-memory-handle-types-compatibility, External memory handle
    types compatibility>>, <<external-semaphore-handle-types-compatibility,
    External semaphore handle types compatibility>>, and
    <<external-fence-handle-types-compatibility, External fence handle types
    compatibility>> sections (internal issue 956).

Other Issues:

  * Remove dependency of +VK_KHX_device_group+ on +VK_KHR_swapchain+ (there
    is an interaction, but not a strict dependency), and add a new
    `extension` attribute to the `<require` XML tag to allow classifying a
    subset of interfaces of an extension as requiring another extension.
    Update the registry schema and documentation accordingly.

New Extensions:

  * `VK_AMD_shader_fragment_mask` (and related `GL_AMD_shader_fragment_mask`
    GLSL extension)
  * `VK_EXT_sample_locations`
  * `VK_EXT_validation_cache`
2017-09-04 03:06:55 -07:00

62 lines
2.1 KiB
Plaintext

include::meta/VK_EXT_hdr_metadata.txt[]
*Last Modified Date*::
2017-03-04
*IP Status*::
No known IP claims.
*Contributors*::
- 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