All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.NVViewportArray2 Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 3.3.4
Show newest version
/*
 * 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() {} }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy