Class EXTHdrMetadata

java.lang.Object
org.lwjgl.vulkan.EXTHdrMetadata

public class EXTHdrMetadata extends Object
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 Association) 861.3 metadata to a swapchain. The metadata includes the color primaries, white point, and luminance range of the reference monitor, which all together define the color volume containing all the possible colors the reference monitor can produce. The reference monitor 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 reference monitor where content was created or tuned. This avoids performing unnecessary mapping of colors that are not displayable on the original reference monitor. The metadata also includes the maxContentLightLevel and maxFrameAverageLightLevel as defined by CTA 861.3.

While the intended 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.

Name String
VK_EXT_hdr_metadata
Extension Type
Device extension
Registered Extension Number
106
Revision
2
Extension and Version Dependencies
VK_KHR_swapchain
Contact
Other Extension Metadata
Last Modified Date
2018-12-19
IP Status
No known IP claims.
Contributors
  • Courtney Goeltzenleuchter, Google
  • Field Details

    • VK_EXT_HDR_METADATA_SPEC_VERSION

      public static final int VK_EXT_HDR_METADATA_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_EXT_HDR_METADATA_EXTENSION_NAME

      public static final String VK_EXT_HDR_METADATA_EXTENSION_NAME
      The extension name.
      See Also:
    • VK_STRUCTURE_TYPE_HDR_METADATA_EXT

      public static final int VK_STRUCTURE_TYPE_HDR_METADATA_EXT
      Extends VkStructureType.
      See Also:
  • Method Details

    • nvkSetHdrMetadataEXT

      public static void nvkSetHdrMetadataEXT(org.lwjgl.vulkan.VkDevice device, int swapchainCount, long pSwapchains, long pMetadata)
      Unsafe version of: SetHdrMetadataEXT
      Parameters:
      swapchainCount - the number of swapchains included in pSwapchains.
    • vkSetHdrMetadataEXT

      public static void vkSetHdrMetadataEXT(org.lwjgl.vulkan.VkDevice device, LongBuffer pSwapchains, VkHdrMetadataEXT.Buffer pMetadata)
      Set HDR metadata.
      C Specification

      To provide HDR metadata to an implementation, call:

      
       void vkSetHdrMetadataEXT(
           VkDevice                                    device,
           uint32_t                                    swapchainCount,
           const VkSwapchainKHR*                       pSwapchains,
           const VkHdrMetadataEXT*                     pMetadata);
      Description

      The metadata will be applied to the specified VkSwapchainKHR objects at the next vkQueuePresentKHR call using that VkSwapchainKHR object. The metadata will persist until a subsequent vkSetHdrMetadataEXT changes it.

      Valid Usage (Implicit)
      • device must be a valid VkDevice handle
      • pSwapchains must be a valid pointer to an array of swapchainCount valid VkSwapchainKHR handles
      • pMetadata must be a valid pointer to an array of swapchainCount valid VkHdrMetadataEXT structures
      • swapchainCount must be greater than 0
      • Each element of pSwapchains must have been created, allocated, or retrieved from device
      See Also

      VkHdrMetadataEXT

      Parameters:
      device - the logical device where the swapchain(s) were created.
      pSwapchains - a pointer to an array of swapchainCount VkSwapchainKHR handles.
      pMetadata - a pointer to an array of swapchainCount VkHdrMetadataEXT structures.
    • vkSetHdrMetadataEXT

      public static void vkSetHdrMetadataEXT(org.lwjgl.vulkan.VkDevice device, long[] pSwapchains, VkHdrMetadataEXT.Buffer pMetadata)
      Array version of: SetHdrMetadataEXT