org.lwjgl.vulkan.AMDDisplayNativeHdr Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lwjgl-vulkan Show documentation
Show all versions of lwjgl-vulkan Show documentation
A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
/**
* This extension introduces the following display native HDR features to Vulkan:
*
*
* - A new {@code 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
*
*
* Examples
*
* None.
*
* VK_AMD_display_native_hdr
*
*
* - Name String
* - {@code VK_AMD_display_native_hdr}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 214
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRGetPhysicalDeviceProperties2 VK_KHR_get_physical_device_properties2}
* - Requires {@link KHRGetSurfaceCapabilities2 VK_KHR_get_surface_capabilities2}
* - Requires {@link KHRSwapchain VK_KHR_swapchain}
*
* - Contact
*
* - Matthaeus G. Chajdas anteru
*
*
*
* 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
*
*
*/
public class AMDDisplayNativeHdr {
/** The extension specification version. */
public static final int VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME = "VK_AMD_display_native_hdr";
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD}
* - {@link #VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD}
*
*/
public static final int
VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD = 1000213000,
VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD = 1000213001;
/** Extends {@code VkColorSpaceKHR}. */
public static final int VK_COLOR_SPACE_DISPLAY_NATIVE_AMD = 1000213000;
protected AMDDisplayNativeHdr() {
throw new UnsupportedOperationException();
}
// --- [ vkSetLocalDimmingAMD ] ---
/**
* Set Local Dimming.
*
* C Specification
*
* The local dimming HDR setting may also be changed over the life of a swapchain by calling:
*
*
* void vkSetLocalDimmingAMD(
* VkDevice device,
* VkSwapchainKHR swapChain,
* VkBool32 localDimmingEnable);
*
* Valid Usage (Implicit)
*
*
* - {@code device} must be a valid {@code VkDevice} handle
* - {@code swapChain} must be a valid {@code VkSwapchainKHR} handle
* - Both of {@code device}, and {@code swapChain} must have been created, allocated, or retrieved from the same {@code VkInstance}
*
*
* Valid Usage
*
*
* - {@link VkDisplayNativeHdrSurfaceCapabilitiesAMD}{@code ::localDimmingSupport} must be supported
*
*
* @param device the device associated with {@code swapChain}.
* @param swapChain handle to enable local dimming.
* @param localDimmingEnable specifies whether local dimming is enabled for the swapchain.
*/
public static void vkSetLocalDimmingAMD(VkDevice device, @NativeType("VkSwapchainKHR") long swapChain, @NativeType("VkBool32") boolean localDimmingEnable) {
long __functionAddress = device.getCapabilities().vkSetLocalDimmingAMD;
if (CHECKS) {
check(__functionAddress);
}
callPJV(device.address(), swapChain, localDimmingEnable ? 1 : 0, __functionAddress);
}
}