// Copyright (c) 2019-2020 Advanced Micro Devices, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_AMD_display_native_hdr.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2018-12-18
*IP Status*::
    No known IP claims.
*Contributors*::
  - Matthaeus G. Chajdas, AMD
  - Aaron Hagan, AMD
  - Aric Cyr, AMD
  - Timothy Lottes, AMD
  - Derrick Owens, AMD
  - Daniel Rakos, AMD

=== Description

This extension introduces the following display native HDR features to
Vulkan:

  * A new elink:VkColorSpaceKHR enum for setting the native display
    colorspace.
    For example, this color space would be set by the swapchain to use the
    native color space in Freesync2 displays.
  * Local dimming control

include::{generated}/interfaces/VK_AMD_display_native_hdr.txt[]

=== Issues

None.

=== Examples

None.

=== Version History

  * Revision 1, 2018-12-18 (Daniel Rakos)
    - Initial revision
