mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-04 18:43:56 +00:00
3e4bee3d11
* 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`
70 lines
2.6 KiB
Plaintext
70 lines
2.6 KiB
Plaintext
// This section is included inside VK_KHR_swapchain
|
|
|
|
== Hdr Metadata
|
|
|
|
To improve color reproduction of content it is useful to have information
|
|
that can be used to better reproduce the colors as seen on the mastering
|
|
display.
|
|
That information can be provided to an implementation by calling
|
|
fname:vkSetHdrMetadataEXT.
|
|
The metadata will be applied to the specified sname:VkSwapchainKHR objects
|
|
at the next fname:vkQueuePresentKHR call using that sname:VkSwapchainKHR
|
|
object.
|
|
The metadata will persist until a subsequent fname:vkSetHdrMetadataEXT
|
|
changes it.
|
|
The defintions below are from the associated SMPTE 2086, CTA 861.3 and CIE
|
|
15:2004 specifications.
|
|
|
|
The definition of fname:vkSetHdrMetadataEXT is:
|
|
|
|
// refBegin vkSetHdrMetadataEXT function to set Hdr metadata
|
|
include::../api/protos/vkSetHdrMetadataEXT.txt[]
|
|
|
|
* pname:device is the logical device where the swapchain(s) were created.
|
|
* pname:swapchainCount is the number of swapchains included in
|
|
pname:pSwapchains.
|
|
* pname:pSwapchains is a pointer to the array of pname:swapchainCount
|
|
sname:VkSwapchainKHR handles.
|
|
* pname:pMetadata is a pointer to the array of pname:swapchainCount
|
|
sname:VkHdrMetadataEXT structures.
|
|
|
|
include::../validity/protos/vkSetHdrMetadataEXT.txt[]
|
|
|
|
// refBegin VkXYColorEXT structure to specify X,Y chromaticity coordinates
|
|
include::../api/structs/VkXYColorEXT.txt[]
|
|
Chromaticity coordinates x and y are as specified in CIE 15:2004
|
|
"Calculation of chromaticity coordinates" (Section 7.3) and are limited to
|
|
between 0 and 1 for real colors for the mastering display.
|
|
|
|
// refEnd VkXYColorEXT
|
|
|
|
// refBegin VkHdrMetadataEXT structure to specify Hdr metadata
|
|
include::../api/structs/VkHdrMetadataEXT.txt[]
|
|
|
|
* pname:sType is the type of this structure.
|
|
* pname:pNext is `NULL` or a pointer to an extension-specific structure.
|
|
* pname:displayPrimaryRed is the mastering display's red primary in
|
|
chromaticity coordinates
|
|
* pname:displayPrimaryGreen is the mastering display's green primary in
|
|
chromaticity coordinates
|
|
* pname:displayPrimaryBlue is the mastering display's blue primary in
|
|
chromaticity coordinates
|
|
* pname:whitePoint is the mastering display's white-point in chromaticity
|
|
coordinates
|
|
* pname:maxLuminance is the maximum luminance of the mastering display in
|
|
nits
|
|
* pname:minLuminance is the minimum luminance of the mastering display in
|
|
nits
|
|
* pname:maxContentLightLevel is content's maximum luminance in nits
|
|
* pname:maxFrameAverageLightLevel is the maximum frame average light level
|
|
in nits
|
|
|
|
[NOTE]
|
|
.note
|
|
====
|
|
The validity and use of this data is outside the scope of Vulkan and thus no
|
|
+Valid Usage+ is given.
|
|
====
|
|
|
|
// refEnd VkHdrMetadataEXT
|