org.lwjgl.vulkan.EXTShaderViewportIndexLayer 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 {@code ShaderViewportIndexLayerEXT} capability from the {@code SPV_EXT_shader_viewport_index_layer} extension in Vulkan.
*
* 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 ShaderViewportIndexLayerEXT} capability.
*
* When using GLSL source-based shading languages, the {@code gl_ViewportIndex} and {@code gl_Layer} built-in variables map to the SPIR-V {@code ViewportIndex} and {@code Layer} built-in decorations, respectively. Behaviour of these variables is extended as described in the {@code GL_ARB_shader_viewport_layer_array} (or the precursor {@code GL_AMD_vertex_shader_layer}, {@code GL_AMD_vertex_shader_viewport_index}, and {@code GL_NV_viewport_array2} extensions).
*
* Note
*
* The {@code ShaderViewportIndexLayerEXT} capability is equivalent to the {@code ShaderViewportIndexLayerNV} capability added by {@link NVViewportArray2 VK_NV_viewport_array2}.
*
*
* Promotion to Vulkan 1.2
*
* All functionality in this extension is included in core Vulkan 1.2.
*
* The single {@code ShaderViewportIndexLayerEXT} capability from the {@code SPV_EXT_shader_viewport_index_layer} extension is replaced by the {@code ShaderViewportIndex} and {@code ShaderLayer} capabilities from SPIR-V 1.5 which are enabled by the shaderOutputViewportIndex and shaderOutputLayer features, respectively. Additionally, if Vulkan 1.2 is supported but this extension is not, these capabilities are optional.
*
* Enabling both features is equivalent to enabling the {@code VK_EXT_shader_viewport_index_layer} extension.
*
* VK_EXT_shader_viewport_index_layer
*
*
* - Name String
* - {@code VK_EXT_shader_viewport_index_layer}
* - Extension Type
* - Device extension
* - Registered Extension Number
* - 163
* - Revision
* - 1
* - Extension and Version Dependencies
*
* - Requires Vulkan 1.0
*
* - Deprecation state
*
* - Promoted to Vulkan 1.2
*
* - Contact
*
* - Daniel Koch dgkoch
*
*
*
* Other Extension Metadata
*
*
* - Last Modified Date
* - 2017-08-08
* - Interactions and External Dependencies
*
* - Promoted to Vulkan 1.2 Core
* - This extension requires {@code SPV_EXT_shader_viewport_index_layer}
* - This extension provides API support for {@code GL_ARB_shader_viewport_layer_array}, {@code GL_AMD_vertex_shader_layer}, {@code GL_AMD_vertex_shader_viewport_index}, and {@code GL_NV_viewport_array2}
* - This extension requires the {@code multiViewport} feature.
* - This extension interacts with the {@code tessellationShader} feature.
*
* - Contributors
*
* - Piers Daniell, NVIDIA
* - Jeff Bolz, NVIDIA
* - Jan-Harald Fredriksen, ARM
* - Daniel Rakos, AMD
* - Slawomir Grajeswki, Intel
*
*
*/
public final class EXTShaderViewportIndexLayer {
/** The extension specification version. */
public static final int VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1;
/** The extension name. */
public static final String VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer";
private EXTShaderViewportIndexLayer() {}
}