org.lwjgl.vulkan.NVViewportArray2 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 adds support for the following SPIR-V extension in Vulkan:
*
*
* - SPV_NV_viewport_array2
*
*
* which allows a single primitive to be broadcast to multiple viewports and/or multiple layers. A new shader built-in output {@code ViewportMaskNV} is provided, which allows a single primitive to be output to multiple viewports simultaneously. Also, a new SPIR-V decoration is added to control whether the effective viewport index is added into the variable decorated with the {@code Layer} built-in decoration. These capabilities allow a single primitive to be output to multiple layers simultaneously.
*
* This extension allows variables decorated with the {@code Layer} and {@code ViewportIndex} built-ins to be exported from vertex or tessellation shaders, using the {@code ShaderViewportIndexLayerNV} capability.
*
* This extension adds a new {@code ViewportMaskNV} built-in decoration that is available for output variables in vertex, tessellation evaluation, and geometry shaders, and a new {@code ViewportRelativeNV} decoration that can be added on variables decorated with {@code Layer} when using the {@code ShaderViewportMaskNV} capability.
*
* When using GLSL source-based shading languages, the {@code gl_ViewportMask}[] built-in output variable and {@code viewport_relative} layout qualifier from {@code GL_NV_viewport_array2} map to the {@code ViewportMaskNV} and {@code ViewportRelativeNV} decorations, respectively. Behaviour is described in the {@code GL_NV_viewport_array2} extension specificiation.
*
* Note
*
* The {@code ShaderViewportIndexLayerNV} capability is equivalent to the {@code ShaderViewportIndexLayerEXT} capability added by {@link EXTShaderViewportIndexLayer VK_EXT_shader_viewport_index_layer}.
*
*
*
* - Name String
* - {@code VK_NV_viewport_array2}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 97
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
*
* - Contact
*
* - Daniel Koch @dgkoch
*
* - Last Modified Date
* - 2017-02-15
* - Interactions and External Dependencies
*
* - This extension requires the SPV_NV_viewport_array2 SPIR-V extension.
* - This extension requires the GL_NV_viewport_array2 extension for GLSL source languages.
* - This extension requires the {@code geometryShader} and {@code multiViewport} features.
* - This extension interacts with the {@code tessellationShader} feature.
*
* - Contributors
*
* - Piers Daniell, NVIDIA
* - Jeff Bolz, NVIDIA
*
*
*/
public final class NVViewportArray2 {
/** The extension specification version. */
public static final int VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2";
private NVViewportArray2() {}
}