Vulkan-Docs/doc/specs/misc/GL_NVX_multiview_per_view_attributes.txt
Jon Leech fd0e4c3b67 Change log for February 27, 2017 Vulkan 1.0.42 spec update:
* Bump API patch number and header version number to 42 for this update
    (the first anniversary edition).

Github Issues:

  * Changed asciidoctor macros so cross-page links in the standalone
    reference pages function properly (public issue 462).

Internal Issues:

  * Clarified host visibility discussion for slink:VkMemoryType,
    flink:vkInvalidateMappedMemoryRanges, elink:VkAccessFlagBits, and the
    <<synchronization-framebuffer-regions,Framebuffer Region Dependencies>>
    section, removing duplicated information and adding a central definition
    in the access types section (internal issue 552).
  * Change description of
    slink:vkGetPhysicalDeviceSurfacePresentModesKHR::pname:pPresentModes to
    return an array of values, not structures (internal issue 699).

New Extensions:

  * Add a NOTE to the <<extensions,Layers & Extensions>> chapter describing
    the experimental status of `KHX` extensions.
  * Add new Khronos, Khronos Experimental, and vendor Vulkan extensions for
    release at GDC:
  ** VK_KHR_descriptor_update_template
  ** VK_KHR_push_descriptor
  ** VK_KHX_device_group
  ** VK_KHX_device_group_creation
  ** VK_KHX_external_memory
  ** VK_KHX_external_memory_capabilities
  ** VK_KHX_external_memory_fd
  ** VK_KHX_external_memory_win32
  ** VK_KHX_external_semaphore
  ** VK_KHX_external_semaphore_capabilities
  ** VK_KHX_external_semaphore_fd
  ** VK_KHX_external_semaphore_win32
  ** VK_KHX_multiview
  ** VK_KHX_win32_keyed_mutex
  ** VK_EXT_discard_rectangles
  ** VK_MVK_ios_surface
  ** VK_MVK_macos_surface
  ** VK_NVX_multiview_per_view_attributes
  ** VK_NV_clip_space_w_scaling
  ** VK_NV_geometry_shader_passthrough
  ** VK_NV_sample_mask_override_coverage
  ** VK_NV_viewport_array2
  ** VK_NV_viewport_swizzle
  * Add new GLSL vendor extensions to support new builtin variables:
  ** GL_EXT_device_group
  ** GL_EXT_multiview
2017-02-26 22:54:26 -08:00

123 lines
2.8 KiB
Plaintext

Name
NVX_multiview_per_view_attributes
Name Strings
GL_NVX_multiview_per_view_attributes
Contact
Jeff Bolz, NVIDIA Corporation (jbolz 'at' nvidia.com)
Contributors
Kedarnath Thangudu, NVIDIA Corporation
Status
In progress.
Version
Last Modified Date: January 20, 2017
Revision: 1
Number
TBD
Dependencies
None.
Overview
This extension adds per-view builtin attributes corresponding to
gl_Position and gl_ViewportMask, named gl_PositionPerViewNV[] and
gl_ViewportMaskPerViewNV[].
New Procedures and Functions
None.
New Tokens
None.
Modifications to the OpenGL Shading Language Specification, Version 4.50
Including the following line in a shader can be used to control the
language features described in this extension:
#extension GL_NVX_multiview_per_view_attributes : <behavior>
where <behavior> is as specified in section 3.3
New preprocessor #defines are added to the OpenGL Shading Language:
#define GL_NVX_multiview_per_view_attributes 1
Modify Section 7.1 (Built-In Language Variables), p. 118
Add to the list of vertex shader built-ins:
out gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
highp int gl_ViewportMaskPerViewNV[];
};
Add to the list of geometry shader built-ins:
in gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
} gl_in[];
out gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
highp int gl_ViewportMaskPerViewNV[];
};
Add to the list of tessellation control shader built-ins:
in gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
} gl_in[gl_MaxPatchVertices];
out gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
highp int gl_ViewportMaskPerViewNV[];
} gl_out[];
Add to the list of tessellation evaluation shader built-ins:
in gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
} gl_in[gl_MaxPatchVertices];
out gl_PerVertex {
highp vec4 gl_PositionPerViewNV[];
highp int gl_ViewportMaskPerViewNV[];
};
Add the following descriptions for gl_PositionPerViewNV[] and
gl_ViewportMaskPerViewNV[]:
The output arrays gl_PositionPerViewNV[] and gl_ViewportMaskPerViewNV[]
are available in vertex, tessellation, and geometry languages to specify
the position and the viewport mask for each view.
The input variable gl_PositionPerViewNV[] is available in the tessellation
and geometry languages to read the per-view positions written by a
previous shader stage. See the Vulkan API specification for how these
values are interpreted.
Errors
None.
Revision History
Revision 1
- Internal revisions.