org.lwjgl.vulkan.KHRDisplay Maven / Gradle / Ivy
Show all versions of lwjgl-vulkan Show documentation
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.vulkan;
import javax.annotation.*;
import java.nio.*;
import org.lwjgl.system.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryUtil.*;
/**
* This extension provides the API to enumerate displays and available modes on a given device.
*
* Examples
*
* Note
*
* The example code for the {@code VK_KHR_display} and {@link KHRDisplaySwapchain VK_KHR_display_swapchain} extensions was removed from the appendix after revision 1.0.43. The display enumeration example code was ported to the cube demo that is shipped with the official Khronos SDK, and is being kept up-to-date in that location (see: https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c).
*
*
* VK_KHR_display
*
*
* - Name String
* - {@code VK_KHR_display}
* - Extension Type
* - Instance extension
* - Registered Extension Number
* - 3
* - Revision
* - 23
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRSurface VK_KHR_surface}
*
* - Contact
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2017-03-13
* - IP Status
* - No known IP claims.
* - Contributors
*
* - James Jones, NVIDIA
* - Norbert Nopper, Freescale
* - Jeff Vigil, Qualcomm
* - Daniel Rakos, AMD
*
*
*/
public class KHRDisplay {
/** The extension specification version. */
public static final int VK_KHR_DISPLAY_SPEC_VERSION = 23;
/** The extension name. */
public static final String VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display";
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR}
* - {@link #VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR}
*
*/
public static final int
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 1000002001;
/**
* Extends {@code VkObjectType}.
*
* Enum values:
*
*
* - {@link #VK_OBJECT_TYPE_DISPLAY_KHR OBJECT_TYPE_DISPLAY_KHR}
* - {@link #VK_OBJECT_TYPE_DISPLAY_MODE_KHR OBJECT_TYPE_DISPLAY_MODE_KHR}
*
*/
public static final int
VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001;
/**
* VkDisplayPlaneAlphaFlagBitsKHR - Alpha blending type
*
* Description
*
*
* - {@link #VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR} specifies that the source image will be treated as opaque.
* - {@link #VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR} specifies that a global alpha value must be specified that will be applied to all pixels in the source image.
* - {@link #VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR} specifies that the alpha value will be determined by the alpha component of the source image’s pixels. If the source format contains no alpha values, no blending will be applied. The source alpha values are not premultiplied into the source image’s other color components.
* - {@link #VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR} is equivalent to {@link #VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR}, except the source alpha values are assumed to be premultiplied into the source image’s other color components.
*
*
* See Also
*
* {@link VkDisplaySurfaceCreateInfoKHR}
*/
public static final int
VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR = 0x1,
VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR = 0x2,
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR = 0x4,
VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = 0x8;
protected KHRDisplay() {
throw new UnsupportedOperationException();
}
// --- [ vkGetPhysicalDeviceDisplayPropertiesKHR ] ---
/**
* Unsafe version of: {@link #vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR}
*
* @param pPropertyCount a pointer to an integer related to the number of display devices available or queried, as described below.
*/
public static int nvkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, long pPropertyCount, long pProperties) {
long __functionAddress = physicalDevice.getCapabilities().vkGetPhysicalDeviceDisplayPropertiesKHR;
if (CHECKS) {
check(__functionAddress);
}
return callPPPI(physicalDevice.address(), pPropertyCount, pProperties, __functionAddress);
}
/**
* Query information about the available displays.
*
* C Specification
*
* Various functions are provided for enumerating the available display devices present on a Vulkan physical device. To query information about the available displays, call:
*
*
* VkResult vkGetPhysicalDeviceDisplayPropertiesKHR(
* VkPhysicalDevice physicalDevice,
* uint32_t* pPropertyCount,
* VkDisplayPropertiesKHR* pProperties);
*
* Description
*
* If {@code pProperties} is {@code NULL}, then the number of display devices available for {@code physicalDevice} is returned in {@code pPropertyCount}. Otherwise, {@code pPropertyCount} must point to a variable set by the user to the number of elements in the {@code pProperties} array, and on return the variable is overwritten with the number of structures actually written to {@code pProperties}. If the value of {@code pPropertyCount} is less than the number of display devices for {@code physicalDevice}, at most {@code pPropertyCount} structures will be written, and {@link VK10#VK_INCOMPLETE INCOMPLETE} will be returned instead of {@link VK10#VK_SUCCESS SUCCESS}, to indicate that not all the available properties were returned.
*
* Valid Usage (Implicit)
*
*
* - {@code physicalDevice} must be a valid {@code VkPhysicalDevice} handle
* - {@code pPropertyCount} must be a valid pointer to a {@code uint32_t} value
* - If the value referenced by {@code pPropertyCount} is not 0, and {@code pProperties} is not {@code NULL}, {@code pProperties} must be a valid pointer to an array of {@code pPropertyCount} {@link VkDisplayPropertiesKHR} structures
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
* - {@link VK10#VK_INCOMPLETE INCOMPLETE}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
*
*
*
* See Also
*
* {@link VkDisplayPropertiesKHR}
*
* @param physicalDevice a physical device.
* @param pPropertyCount a pointer to an integer related to the number of display devices available or queried, as described below.
* @param pProperties either {@code NULL} or a pointer to an array of {@link VkDisplayPropertiesKHR} structures.
*/
@NativeType("VkResult")
public static int vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, @NativeType("uint32_t *") IntBuffer pPropertyCount, @Nullable @NativeType("VkDisplayPropertiesKHR *") VkDisplayPropertiesKHR.Buffer pProperties) {
if (CHECKS) {
check(pPropertyCount, 1);
checkSafe(pProperties, pPropertyCount.get(pPropertyCount.position()));
}
return nvkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, memAddress(pPropertyCount), memAddressSafe(pProperties));
}
// --- [ vkGetPhysicalDeviceDisplayPlanePropertiesKHR ] ---
/**
* Unsafe version of: {@link #vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR}
*
* @param pPropertyCount a pointer to an integer related to the number of display planes available or queried, as described below.
*/
public static int nvkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, long pPropertyCount, long pProperties) {
long __functionAddress = physicalDevice.getCapabilities().vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
if (CHECKS) {
check(__functionAddress);
}
return callPPPI(physicalDevice.address(), pPropertyCount, pProperties, __functionAddress);
}
/**
* Query the plane properties.
*
* C Specification
*
* Images are presented to individual planes on a display. Devices must support at least one plane on each display. Planes can be stacked and blended to composite multiple images on one display. Devices may support only a fixed stacking order and fixed mapping between planes and displays, or they may allow arbitrary application specified stacking orders and mappings between planes and displays. To query the properties of device display planes, call:
*
*
* VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
* VkPhysicalDevice physicalDevice,
* uint32_t* pPropertyCount,
* VkDisplayPlanePropertiesKHR* pProperties);
*
* Description
*
* If {@code pProperties} is {@code NULL}, then the number of display planes available for {@code physicalDevice} is returned in {@code pPropertyCount}. Otherwise, {@code pPropertyCount} must point to a variable set by the user to the number of elements in the {@code pProperties} array, and on return the variable is overwritten with the number of structures actually written to {@code pProperties}. If the value of {@code pPropertyCount} is less than the number of display planes for {@code physicalDevice}, at most {@code pPropertyCount} structures will be written.
*
* Valid Usage (Implicit)
*
*
* - {@code physicalDevice} must be a valid {@code VkPhysicalDevice} handle
* - {@code pPropertyCount} must be a valid pointer to a {@code uint32_t} value
* - If the value referenced by {@code pPropertyCount} is not 0, and {@code pProperties} is not {@code NULL}, {@code pProperties} must be a valid pointer to an array of {@code pPropertyCount} {@link VkDisplayPlanePropertiesKHR} structures
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
* - {@link VK10#VK_INCOMPLETE INCOMPLETE}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
*
*
*
* See Also
*
* {@link VkDisplayPlanePropertiesKHR}
*
* @param physicalDevice a physical device.
* @param pPropertyCount a pointer to an integer related to the number of display planes available or queried, as described below.
* @param pProperties either {@code NULL} or a pointer to an array of {@link VkDisplayPlanePropertiesKHR} structures.
*/
@NativeType("VkResult")
public static int vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, @NativeType("uint32_t *") IntBuffer pPropertyCount, @Nullable @NativeType("VkDisplayPlanePropertiesKHR *") VkDisplayPlanePropertiesKHR.Buffer pProperties) {
if (CHECKS) {
check(pPropertyCount, 1);
checkSafe(pProperties, pPropertyCount.get(pPropertyCount.position()));
}
return nvkGetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, memAddress(pPropertyCount), memAddressSafe(pProperties));
}
// --- [ vkGetDisplayPlaneSupportedDisplaysKHR ] ---
/**
* Unsafe version of: {@link #vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR}
*
* @param pDisplayCount a pointer to an integer related to the number of displays available or queried, as described below.
*/
public static int nvkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, int planeIndex, long pDisplayCount, long pDisplays) {
long __functionAddress = physicalDevice.getCapabilities().vkGetDisplayPlaneSupportedDisplaysKHR;
if (CHECKS) {
check(__functionAddress);
}
return callPPPI(physicalDevice.address(), planeIndex, pDisplayCount, pDisplays, __functionAddress);
}
/**
* Query the list of displays a plane supports.
*
* C Specification
*
* To determine which displays a plane is usable with, call
*
*
* VkResult vkGetDisplayPlaneSupportedDisplaysKHR(
* VkPhysicalDevice physicalDevice,
* uint32_t planeIndex,
* uint32_t* pDisplayCount,
* VkDisplayKHR* pDisplays);
*
* Description
*
* If {@code pDisplays} is {@code NULL}, then the number of displays usable with the specified {@code planeIndex} for {@code physicalDevice} is returned in {@code pDisplayCount}. Otherwise, {@code pDisplayCount} must point to a variable set by the user to the number of elements in the {@code pDisplays} array, and on return the variable is overwritten with the number of handles actually written to {@code pDisplays}. If the value of {@code pDisplayCount} is less than the number of usable display-plane pairs for {@code physicalDevice}, at most {@code pDisplayCount} handles will be written, and {@link VK10#VK_INCOMPLETE INCOMPLETE} will be returned instead of {@link VK10#VK_SUCCESS SUCCESS}, to indicate that not all the available pairs were returned.
*
* Valid Usage
*
*
* - {@code planeIndex} must be less than the number of display planes supported by the device as determined by calling {@code vkGetPhysicalDeviceDisplayPlanePropertiesKHR}
*
*
* Valid Usage (Implicit)
*
*
* - {@code physicalDevice} must be a valid {@code VkPhysicalDevice} handle
* - {@code pDisplayCount} must be a valid pointer to a {@code uint32_t} value
* - If the value referenced by {@code pDisplayCount} is not 0, and {@code pDisplays} is not {@code NULL}, {@code pDisplays} must be a valid pointer to an array of {@code pDisplayCount} {@code VkDisplayKHR} handles
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
* - {@link VK10#VK_INCOMPLETE INCOMPLETE}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
*
*
*
* @param physicalDevice a physical device.
* @param planeIndex the plane which the application wishes to use, and must be in the range [0, physical device plane count - 1]
.
* @param pDisplayCount a pointer to an integer related to the number of displays available or queried, as described below.
* @param pDisplays either {@code NULL} or a pointer to an array of {@code VkDisplayKHR} handles.
*/
@NativeType("VkResult")
public static int vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, @NativeType("uint32_t") int planeIndex, @NativeType("uint32_t *") IntBuffer pDisplayCount, @Nullable @NativeType("VkDisplayKHR *") LongBuffer pDisplays) {
if (CHECKS) {
check(pDisplayCount, 1);
checkSafe(pDisplays, pDisplayCount.get(pDisplayCount.position()));
}
return nvkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, memAddress(pDisplayCount), memAddressSafe(pDisplays));
}
// --- [ vkGetDisplayModePropertiesKHR ] ---
/**
* Unsafe version of: {@link #vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR}
*
* @param pPropertyCount a pointer to an integer related to the number of display modes available or queried, as described below.
*/
public static int nvkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, long display, long pPropertyCount, long pProperties) {
long __functionAddress = physicalDevice.getCapabilities().vkGetDisplayModePropertiesKHR;
if (CHECKS) {
check(__functionAddress);
}
return callPJPPI(physicalDevice.address(), display, pPropertyCount, pProperties, __functionAddress);
}
/**
* Query the set of mode properties supported by the display.
*
* C Specification
*
* Each display has one or more supported modes associated with it by default. These built-in modes are queried by calling:
*
*
* VkResult vkGetDisplayModePropertiesKHR(
* VkPhysicalDevice physicalDevice,
* VkDisplayKHR display,
* uint32_t* pPropertyCount,
* VkDisplayModePropertiesKHR* pProperties);
*
* Description
*
* If {@code pProperties} is {@code NULL}, then the number of display modes available on the specified {@code display} for {@code physicalDevice} is returned in {@code pPropertyCount}. Otherwise, {@code pPropertyCount} must point to a variable set by the user to the number of elements in the {@code pProperties} array, and on return the variable is overwritten with the number of structures actually written to {@code pProperties}. If the value of {@code pPropertyCount} is less than the number of display modes for {@code physicalDevice}, at most {@code pPropertyCount} structures will be written, and {@link VK10#VK_INCOMPLETE INCOMPLETE} will be returned instead of {@link VK10#VK_SUCCESS SUCCESS}, to indicate that not all the available display modes were returned.
*
* Valid Usage (Implicit)
*
*
* - {@code physicalDevice} must be a valid {@code VkPhysicalDevice} handle
* - {@code display} must be a valid {@code VkDisplayKHR} handle
* - {@code pPropertyCount} must be a valid pointer to a {@code uint32_t} value
* - If the value referenced by {@code pPropertyCount} is not 0, and {@code pProperties} is not {@code NULL}, {@code pProperties} must be a valid pointer to an array of {@code pPropertyCount} {@link VkDisplayModePropertiesKHR} structures
* - {@code display} must have been created, allocated, or retrieved from {@code physicalDevice}
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
* - {@link VK10#VK_INCOMPLETE INCOMPLETE}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
*
*
*
* See Also
*
* {@link VkDisplayModePropertiesKHR}
*
* @param physicalDevice the physical device associated with {@code display}.
* @param display the display to query.
* @param pPropertyCount a pointer to an integer related to the number of display modes available or queried, as described below.
* @param pProperties either {@code NULL} or a pointer to an array of {@link VkDisplayModePropertiesKHR} structures.
*/
@NativeType("VkResult")
public static int vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, @NativeType("VkDisplayKHR") long display, @NativeType("uint32_t *") IntBuffer pPropertyCount, @Nullable @NativeType("VkDisplayModePropertiesKHR *") VkDisplayModePropertiesKHR.Buffer pProperties) {
if (CHECKS) {
check(pPropertyCount, 1);
checkSafe(pProperties, pPropertyCount.get(pPropertyCount.position()));
}
return nvkGetDisplayModePropertiesKHR(physicalDevice, display, memAddress(pPropertyCount), memAddressSafe(pProperties));
}
// --- [ vkCreateDisplayModeKHR ] ---
/** Unsafe version of: {@link #vkCreateDisplayModeKHR CreateDisplayModeKHR} */
public static int nvkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice, long display, long pCreateInfo, long pAllocator, long pMode) {
long __functionAddress = physicalDevice.getCapabilities().vkCreateDisplayModeKHR;
if (CHECKS) {
check(__functionAddress);
if (pAllocator != NULL) { VkAllocationCallbacks.validate(pAllocator); }
}
return callPJPPPI(physicalDevice.address(), display, pCreateInfo, pAllocator, pMode, __functionAddress);
}
/**
* Create a display mode.
*
* C Specification
*
* Additional modes may also be created by calling:
*
*
* VkResult vkCreateDisplayModeKHR(
* VkPhysicalDevice physicalDevice,
* VkDisplayKHR display,
* const VkDisplayModeCreateInfoKHR* pCreateInfo,
* const VkAllocationCallbacks* pAllocator,
* VkDisplayModeKHR* pMode);
*
* Valid Usage (Implicit)
*
*
* - {@code physicalDevice} must be a valid {@code VkPhysicalDevice} handle
* - {@code display} must be a valid {@code VkDisplayKHR} handle
* - {@code pCreateInfo} must be a valid pointer to a valid {@link VkDisplayModeCreateInfoKHR} structure
* - If {@code pAllocator} is not {@code NULL}, {@code pAllocator} must be a valid pointer to a valid {@link VkAllocationCallbacks} structure
* - {@code pMode} must be a valid pointer to a {@code VkDisplayModeKHR} handle
* - {@code display} must have been created, allocated, or retrieved from {@code physicalDevice}
*
*
* Host Synchronization
*
*
* - Host access to {@code display} must be externally synchronized
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
* - {@link VK10#VK_ERROR_INITIALIZATION_FAILED ERROR_INITIALIZATION_FAILED}
*
*
*
* See Also
*
* {@link VkAllocationCallbacks}, {@link VkDisplayModeCreateInfoKHR}
*
* @param physicalDevice the physical device associated with {@code display}.
* @param display the display to create an additional mode for.
* @param pCreateInfo a pointer to a {@link VkDisplayModeCreateInfoKHR} structure describing the new mode to create.
* @param pAllocator the allocator used for host memory allocated for the display mode object when there is no more specific allocator available (see Memory Allocation).
* @param pMode a pointer to a {@code VkDisplayModeKHR} handle in which the mode created is returned.
*/
@NativeType("VkResult")
public static int vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice, @NativeType("VkDisplayKHR") long display, @NativeType("VkDisplayModeCreateInfoKHR const *") VkDisplayModeCreateInfoKHR pCreateInfo, @Nullable @NativeType("VkAllocationCallbacks const *") VkAllocationCallbacks pAllocator, @NativeType("VkDisplayModeKHR *") LongBuffer pMode) {
if (CHECKS) {
check(pMode, 1);
}
return nvkCreateDisplayModeKHR(physicalDevice, display, pCreateInfo.address(), memAddressSafe(pAllocator), memAddress(pMode));
}
// --- [ vkGetDisplayPlaneCapabilitiesKHR ] ---
/** Unsafe version of: {@link #vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR} */
public static int nvkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice, long mode, int planeIndex, long pCapabilities) {
long __functionAddress = physicalDevice.getCapabilities().vkGetDisplayPlaneCapabilitiesKHR;
if (CHECKS) {
check(__functionAddress);
}
return callPJPI(physicalDevice.address(), mode, planeIndex, pCapabilities, __functionAddress);
}
/**
* Query capabilities of a mode and plane combination.
*
* C Specification
*
* Applications that wish to present directly to a display must select which layer, or “{@code plane}” of the display they wish to target, and a mode to use with the display. Each display supports at least one plane. The capabilities of a given mode and plane combination are determined by calling:
*
*
* VkResult vkGetDisplayPlaneCapabilitiesKHR(
* VkPhysicalDevice physicalDevice,
* VkDisplayModeKHR mode,
* uint32_t planeIndex,
* VkDisplayPlaneCapabilitiesKHR* pCapabilities);
*
* Valid Usage (Implicit)
*
*
* - {@code physicalDevice} must be a valid {@code VkPhysicalDevice} handle
* - {@code mode} must be a valid {@code VkDisplayModeKHR} handle
* - {@code pCapabilities} must be a valid pointer to a {@link VkDisplayPlaneCapabilitiesKHR} structure
*
*
* Host Synchronization
*
*
* - Host access to {@code mode} must be externally synchronized
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
*
*
*
* See Also
*
* {@link VkDisplayPlaneCapabilitiesKHR}
*
* @param physicalDevice the physical device associated with the display specified by {@code mode}
* @param mode the display mode the application intends to program when using the specified plane. Note this parameter also implicitly specifies a display.
* @param planeIndex the plane which the application intends to use with the display, and is less than the number of display planes supported by the device.
* @param pCapabilities a pointer to a {@link VkDisplayPlaneCapabilitiesKHR} structure in which the capabilities are returned.
*/
@NativeType("VkResult")
public static int vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice, @NativeType("VkDisplayModeKHR") long mode, @NativeType("uint32_t") int planeIndex, @NativeType("VkDisplayPlaneCapabilitiesKHR *") VkDisplayPlaneCapabilitiesKHR pCapabilities) {
return nvkGetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities.address());
}
// --- [ vkCreateDisplayPlaneSurfaceKHR ] ---
/** Unsafe version of: {@link #vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR} */
public static int nvkCreateDisplayPlaneSurfaceKHR(VkInstance instance, long pCreateInfo, long pAllocator, long pSurface) {
long __functionAddress = instance.getCapabilities().vkCreateDisplayPlaneSurfaceKHR;
if (CHECKS) {
check(__functionAddress);
if (pAllocator != NULL) { VkAllocationCallbacks.validate(pAllocator); }
}
return callPPPPI(instance.address(), pCreateInfo, pAllocator, pSurface, __functionAddress);
}
/**
* Create a {@code VkSurfaceKHR} structure representing a display plane and mode.
*
* C Specification
*
* A complete display configuration includes a mode, one or more display planes and any parameters describing their behavior, and parameters describing some aspects of the images associated with those planes. Display surfaces describe the configuration of a single plane within a complete display configuration. To create a {@code VkSurfaceKHR} object for a display plane, call:
*
*
* VkResult vkCreateDisplayPlaneSurfaceKHR(
* VkInstance instance,
* const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
* const VkAllocationCallbacks* pAllocator,
* VkSurfaceKHR* pSurface);
*
* Valid Usage (Implicit)
*
*
* - {@code instance} must be a valid {@code VkInstance} handle
* - {@code pCreateInfo} must be a valid pointer to a valid {@link VkDisplaySurfaceCreateInfoKHR} structure
* - If {@code pAllocator} is not {@code NULL}, {@code pAllocator} must be a valid pointer to a valid {@link VkAllocationCallbacks} structure
* - {@code pSurface} must be a valid pointer to a {@code VkSurfaceKHR} handle
*
*
* Return Codes
*
*
* - On success, this command returns
*
* - {@link VK10#VK_SUCCESS SUCCESS}
*
* - On failure, this command returns
*
* - {@link VK10#VK_ERROR_OUT_OF_HOST_MEMORY ERROR_OUT_OF_HOST_MEMORY}
* - {@link VK10#VK_ERROR_OUT_OF_DEVICE_MEMORY ERROR_OUT_OF_DEVICE_MEMORY}
*
*
*
* See Also
*
* {@link VkAllocationCallbacks}, {@link VkDisplaySurfaceCreateInfoKHR}
*
* @param instance the instance corresponding to the physical device the targeted display is on.
* @param pCreateInfo a pointer to a {@link VkDisplaySurfaceCreateInfoKHR} structure specifying which mode, plane, and other parameters to use, as described below.
* @param pAllocator the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).
* @param pSurface a pointer to a {@code VkSurfaceKHR} handle in which the created surface is returned.
*/
@NativeType("VkResult")
public static int vkCreateDisplayPlaneSurfaceKHR(VkInstance instance, @NativeType("VkDisplaySurfaceCreateInfoKHR const *") VkDisplaySurfaceCreateInfoKHR pCreateInfo, @Nullable @NativeType("VkAllocationCallbacks const *") VkAllocationCallbacks pAllocator, @NativeType("VkSurfaceKHR *") LongBuffer pSurface) {
if (CHECKS) {
check(pSurface, 1);
}
return nvkCreateDisplayPlaneSurfaceKHR(instance, pCreateInfo.address(), memAddressSafe(pAllocator), memAddress(pSurface));
}
/** Array version of: {@link #vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR} */
@NativeType("VkResult")
public static int vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice, @NativeType("uint32_t *") int[] pPropertyCount, @Nullable @NativeType("VkDisplayPropertiesKHR *") VkDisplayPropertiesKHR.Buffer pProperties) {
long __functionAddress = physicalDevice.getCapabilities().vkGetPhysicalDeviceDisplayPropertiesKHR;
if (CHECKS) {
check(__functionAddress);
check(pPropertyCount, 1);
checkSafe(pProperties, pPropertyCount[0]);
}
return callPPPI(physicalDevice.address(), pPropertyCount, memAddressSafe(pProperties), __functionAddress);
}
/** Array version of: {@link #vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR} */
@NativeType("VkResult")
public static int vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice, @NativeType("uint32_t *") int[] pPropertyCount, @Nullable @NativeType("VkDisplayPlanePropertiesKHR *") VkDisplayPlanePropertiesKHR.Buffer pProperties) {
long __functionAddress = physicalDevice.getCapabilities().vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
if (CHECKS) {
check(__functionAddress);
check(pPropertyCount, 1);
checkSafe(pProperties, pPropertyCount[0]);
}
return callPPPI(physicalDevice.address(), pPropertyCount, memAddressSafe(pProperties), __functionAddress);
}
/** Array version of: {@link #vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR} */
@NativeType("VkResult")
public static int vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice, @NativeType("uint32_t") int planeIndex, @NativeType("uint32_t *") int[] pDisplayCount, @Nullable @NativeType("VkDisplayKHR *") long[] pDisplays) {
long __functionAddress = physicalDevice.getCapabilities().vkGetDisplayPlaneSupportedDisplaysKHR;
if (CHECKS) {
check(__functionAddress);
check(pDisplayCount, 1);
checkSafe(pDisplays, pDisplayCount[0]);
}
return callPPPI(physicalDevice.address(), planeIndex, pDisplayCount, pDisplays, __functionAddress);
}
/** Array version of: {@link #vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR} */
@NativeType("VkResult")
public static int vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice, @NativeType("VkDisplayKHR") long display, @NativeType("uint32_t *") int[] pPropertyCount, @Nullable @NativeType("VkDisplayModePropertiesKHR *") VkDisplayModePropertiesKHR.Buffer pProperties) {
long __functionAddress = physicalDevice.getCapabilities().vkGetDisplayModePropertiesKHR;
if (CHECKS) {
check(__functionAddress);
check(pPropertyCount, 1);
checkSafe(pProperties, pPropertyCount[0]);
}
return callPJPPI(physicalDevice.address(), display, pPropertyCount, memAddressSafe(pProperties), __functionAddress);
}
/** Array version of: {@link #vkCreateDisplayModeKHR CreateDisplayModeKHR} */
@NativeType("VkResult")
public static int vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice, @NativeType("VkDisplayKHR") long display, @NativeType("VkDisplayModeCreateInfoKHR const *") VkDisplayModeCreateInfoKHR pCreateInfo, @Nullable @NativeType("VkAllocationCallbacks const *") VkAllocationCallbacks pAllocator, @NativeType("VkDisplayModeKHR *") long[] pMode) {
long __functionAddress = physicalDevice.getCapabilities().vkCreateDisplayModeKHR;
if (CHECKS) {
check(__functionAddress);
check(pMode, 1);
if (pAllocator != null) { VkAllocationCallbacks.validate(pAllocator.address()); }
}
return callPJPPPI(physicalDevice.address(), display, pCreateInfo.address(), memAddressSafe(pAllocator), pMode, __functionAddress);
}
/** Array version of: {@link #vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR} */
@NativeType("VkResult")
public static int vkCreateDisplayPlaneSurfaceKHR(VkInstance instance, @NativeType("VkDisplaySurfaceCreateInfoKHR const *") VkDisplaySurfaceCreateInfoKHR pCreateInfo, @Nullable @NativeType("VkAllocationCallbacks const *") VkAllocationCallbacks pAllocator, @NativeType("VkSurfaceKHR *") long[] pSurface) {
long __functionAddress = instance.getCapabilities().vkCreateDisplayPlaneSurfaceKHR;
if (CHECKS) {
check(__functionAddress);
check(pSurface, 1);
if (pAllocator != null) { VkAllocationCallbacks.validate(pAllocator.address()); }
}
return callPPPPI(instance.address(), pCreateInfo.address(), memAddressSafe(pAllocator), pSurface, __functionAddress);
}
}