Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class EXTHdrMetadata

extends Object
Class Inheritance
Imports
java.nio.*, org.lwjgl.system.*

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.

VK_EXT_hdr_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 Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_EXT_HDR_METADATA_SPEC_VERSION

The extension specification version.

public static final int
VK_STRUCTURE_TYPE_HDR_METADATA_EXT

Extends VkStructureType.

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
nvkSetHdrMetadataEXT(VkDevice device, int
the number of swapchains included in pSwapchains.
swapchainCount
,
long pSwapchains, long pMetadata)

Unsafe version of: SetHdrMetadataEXT

public static void
vkSetHdrMetadataEXT(VkDevice
the logical device where the swapchain(s) were created.
device
,
LongBuffer
a pointer to an array of swapchainCount VkSwapchainKHR handles.
pSwapchains
,
VkHdrMetadataEXT.Buffer
a pointer to an array of swapchainCount VkHdrMetadataEXT structures.
pMetadata
)

Set Hdr metadata.

public static void
vkSetHdrMetadataEXT(VkDevice device, long[] pSwapchains, VkHdrMetadataEXT.Buffer pMetadata)

Array version of: SetHdrMetadataEXT

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_EXT_HDR_METADATA_EXTENSION_NAMEback to summary
public static final String VK_EXT_HDR_METADATA_EXTENSION_NAME

The extension name.

VK_EXT_HDR_METADATA_SPEC_VERSIONback to summary
public static final int VK_EXT_HDR_METADATA_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_HDR_METADATA_EXTback to summary
public static final int VK_STRUCTURE_TYPE_HDR_METADATA_EXT

Extends VkStructureType.

Constructor Detail

EXTHdrMetadataback to summary
protected EXTHdrMetadata()

Method Detail

nvkSetHdrMetadataEXTback to summary
public static void nvkSetHdrMetadataEXT(VkDevice device, int swapchainCount, long pSwapchains, long pMetadata)

Unsafe version of: SetHdrMetadataEXT

Parameters
swapchainCount:int

the number of swapchains included in pSwapchains.

vkSetHdrMetadataEXTback to summary
public static void vkSetHdrMetadataEXT(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:VkDevice

the logical device where the swapchain(s) were created.

pSwapchains:LongBuffer

a pointer to an array of swapchainCount VkSwapchainKHR handles.

pMetadata:VkHdrMetadataEXT.Buffer

a pointer to an array of swapchainCount VkHdrMetadataEXT structures.

vkSetHdrMetadataEXTback to summary
public static void vkSetHdrMetadataEXT(VkDevice device, long[] pSwapchains, VkHdrMetadataEXT.Buffer pMetadata)

Array version of: SetHdrMetadataEXT