org.lwjgl.vulkan.KHRMultiview 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;
/**
* This extension has the same goal as the OpenGL ES {@code GL_OVR_multiview} extension. Multiview is a rendering technique originally designed for VR where it is more efficient to record a single set of commands to be executed with slightly different behavior for each “{@code view}”.
*
* It includes a concise way to declare a render pass with multiple views, and gives implementations freedom to render the views in the most efficient way possible. This is done with a multiview configuration specified during render pass creation with the {@link VkRenderPassMultiviewCreateInfo} passed into {@link VkRenderPassCreateInfo}{@code ::pNext}.
*
* This extension enables the use of the {@code SPV_KHR_multiview} shader extension, which adds a new {@code ViewIndex} built-in type that allows shaders to control what to do for each view. If using GLSL there is also the {@code GL_EXT_multiview} extension that introduces a {@code highp int gl_ViewIndex;} built-in variable for vertex, tessellation, geometry, and fragment shaders.
*
* Promotion to Vulkan 1.1
*
* All functionality in this extension is included in core Vulkan 1.1, with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.
*
* VK_KHR_multiview
*
*
* - Name String
* - {@code VK_KHR_multiview}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 54
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
* - Requires {@link KHRGetPhysicalDeviceProperties2 VK_KHR_get_physical_device_properties2}
*
* - Deprecation state
*
* - Promoted to Vulkan 1.1
*
* - Contact
*
* - Jeff Bolz jeffbolznv
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2016-10-28
* - IP Status
* - No known IP claims.
* - Interactions and External Dependencies
*
* - Promoted to Vulkan 1.1 Core
* - This extension requires {@code SPV_KHR_multiview}
* - This extension provides API support for {@code GL_EXT_multiview}
*
* - Contributors
*
* - Jeff Bolz, NVIDIA
*
*
*/
public final class KHRMultiview {
/** The extension specification version. */
public static final int VK_KHR_MULTIVIEW_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview";
/**
* Extends {@code VkStructureType}.
*
* Enum values:
*
*
* - {@link #VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR}
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR}
* - {@link #VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR}
*
*/
public static final int
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = 1000053000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = 1000053001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = 1000053002;
/** Extends {@code VkDependencyFlagBits}. */
public static final int VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = 0x2;
private KHRMultiview() {}
}