Skip to content
Permalink
Browse files

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
  • Loading branch information...
oddhack committed Feb 27, 2017
1 parent e29a51b commit fd0e4c3b67dd07877eae97965e863f2945104d9e
Showing with 11,452 additions and 906 deletions.
  1. +1 −0 .gitattributes
  2. +56 −0 ChangeLog.txt
  3. +83 −0 doc/specs/misc/GL_EXT_device_group.txt
  4. +83 −0 doc/specs/misc/GL_EXT_multiview.txt
  5. +122 −0 doc/specs/misc/GL_NVX_multiview_per_view_attributes.txt
  6. +39 −5 doc/specs/vulkan/Makefile
  7. +14 −4 doc/specs/vulkan/README.adoc
  8. +1 −1 doc/specs/vulkan/appendices/VK_EXT_acquire_xlib_display.txt
  9. +77 −0 doc/specs/vulkan/appendices/VK_EXT_discard_rectangles.txt
  10. +80 −0 doc/specs/vulkan/appendices/VK_KHR_descriptor_update_template.txt
  11. +4 −4 doc/specs/vulkan/appendices/VK_KHR_display.txt
  12. +2 −2 doc/specs/vulkan/appendices/VK_KHR_display_swapchain.txt
  13. +70 −0 doc/specs/vulkan/appendices/VK_KHR_push_descriptor.txt
  14. +9 −9 doc/specs/vulkan/appendices/VK_KHR_swapchain.txt
  15. +118 −0 doc/specs/vulkan/appendices/VK_KHX_device_group.txt
  16. +101 −0 doc/specs/vulkan/appendices/VK_KHX_device_group_creation.txt
  17. +259 −0 doc/specs/vulkan/appendices/VK_KHX_external_memory.txt
  18. +132 −0 doc/specs/vulkan/appendices/VK_KHX_external_memory_capabilities.txt
  19. +86 −0 doc/specs/vulkan/appendices/VK_KHX_external_memory_fd.txt
  20. +91 −0 doc/specs/vulkan/appendices/VK_KHX_external_memory_win32.txt
  21. +78 −0 doc/specs/vulkan/appendices/VK_KHX_external_semaphore.txt
  22. +64 −0 doc/specs/vulkan/appendices/VK_KHX_external_semaphore_capabilities.txt
  23. +69 −0 doc/specs/vulkan/appendices/VK_KHX_external_semaphore_fd.txt
  24. +101 −0 doc/specs/vulkan/appendices/VK_KHX_external_semaphore_win32.txt
  25. +83 −0 doc/specs/vulkan/appendices/VK_KHX_multiview.txt
  26. +60 −0 doc/specs/vulkan/appendices/VK_KHX_win32_keyed_mutex.txt
  27. +65 −0 doc/specs/vulkan/appendices/VK_MVK_ios_surface.txt
  28. +65 −0 doc/specs/vulkan/appendices/VK_MVK_macos_surface.txt
  29. +13 −13 doc/specs/vulkan/appendices/VK_NVX_device_generated_commands.txt
  30. +131 −0 doc/specs/vulkan/appendices/VK_NVX_multiview_per_view_attributes.txt
  31. +192 −0 doc/specs/vulkan/appendices/VK_NV_clip_space_w_scaling.txt
  32. +5 −5 doc/specs/vulkan/appendices/VK_NV_external_memory_capabilities.txt
  33. +197 −0 doc/specs/vulkan/appendices/VK_NV_geometry_shader_passthrough.txt
  34. +84 −0 doc/specs/vulkan/appendices/VK_NV_sample_mask_override_coverage.txt
  35. +105 −0 doc/specs/vulkan/appendices/VK_NV_viewport_array2.txt
  36. +241 −0 doc/specs/vulkan/appendices/VK_NV_viewport_swizzle.txt
  37. +24 −0 doc/specs/vulkan/appendices/boilerplate.txt
  38. +127 −10 doc/specs/vulkan/appendices/extensions.txt
  39. +85 −1 doc/specs/vulkan/appendices/glossary.txt
  40. +57 −0 doc/specs/vulkan/appendices/spirvenv.txt
  41. +153 −1 doc/specs/vulkan/chapters/VK_KHR_surface/wsi.txt
  42. +202 −3 doc/specs/vulkan/chapters/VK_KHR_swapchain/wsi.txt
  43. +44 −0 doc/specs/vulkan/chapters/VK_MVK_ios_surface/platformCreateSurface_ios.txt
  44. +7 −0 doc/specs/vulkan/chapters/VK_MVK_ios_surface/platformQuerySupport_ios.txt
  45. +44 −0 doc/specs/vulkan/chapters/VK_MVK_macos_surface/platformCreateSurface_macos.txt
  46. +7 −0 doc/specs/vulkan/chapters/VK_MVK_macos_surface/platformQuerySupport_macos.txt
  47. +110 −0 doc/specs/vulkan/chapters/VK_NV_clip_space_w_scaling/vertexpostproc.txt
  48. +4 −0 doc/specs/vulkan/chapters/clears.txt
  49. +244 −0 doc/specs/vulkan/chapters/cmdbuffers.txt
  50. +586 −1 doc/specs/vulkan/chapters/descriptorsets.txt
  51. +178 −1 doc/specs/vulkan/chapters/devsandqueues.txt
  52. +69 −10 doc/specs/vulkan/chapters/dispatch.txt
  53. +30 −0 doc/specs/vulkan/chapters/drawing.txt
  54. +351 −4 doc/specs/vulkan/chapters/features.txt
  55. +132 −0 doc/specs/vulkan/chapters/fragops.txt
  56. +24 −0 doc/specs/vulkan/chapters/fundamentals.txt
  57. +96 −1 doc/specs/vulkan/chapters/geometry.txt
  58. +266 −35 doc/specs/vulkan/chapters/interfaces.txt
  59. +1 −1 doc/specs/vulkan/chapters/introduction.txt
  60. +610 −44 doc/specs/vulkan/chapters/memory.txt
  61. +51 −3 doc/specs/vulkan/chapters/pipelines.txt
  62. +79 −0 doc/specs/vulkan/chapters/queries.txt
  63. +307 −1 doc/specs/vulkan/chapters/renderpass.txt
  64. +467 −6 doc/specs/vulkan/chapters/resources.txt
  65. +35 −9 doc/specs/vulkan/chapters/shaders.txt
  66. +41 −0 doc/specs/vulkan/chapters/sparsemem.txt
  67. +620 −14 doc/specs/vulkan/chapters/synchronization.txt
  68. +119 −2 doc/specs/vulkan/chapters/vertexpostproc.txt
  69. +43 −0 doc/specs/vulkan/config/extDependency.py
  70. +19 −3 doc/specs/vulkan/config/extDependency.sh
  71. +84 −0 doc/specs/vulkan/config/optimize-pdf
  72. +3 −1 doc/specs/vulkan/config/vulkan-macros.rb
  73. +32 −21 doc/specs/vulkan/config/vulkan-macros/extension.rb
  74. +31 −53 doc/specs/vulkan/genRef.py
  75. +19 −11 doc/specs/vulkan/genRelease
  76. +2 −54 doc/specs/vulkan/genspec.py
  77. +1 −1 doc/specs/vulkan/makeKHR
  78. +26 −0 doc/specs/vulkan/makeKHRAndKHX
  79. +1 −2 doc/specs/vulkan/man/copyright-ccby.txt
  80. +1 −1 doc/specs/vulkan/man/footer.txt
  81. +364 −366 {src/spec → doc/specs/vulkan}/registry.txt
  82. 0 doc/specs/vulkan/{ → scripts}/insertTags.py
  83. +0 −21 out/df/index.html
  84. +611 −0 src/ext_loader/vulkan_ext.c
  85. +1 −30 src/spec/Makefile
  86. +39 −33 src/spec/README.adoc
  87. +1 −1 src/spec/cgenerator.py
  88. +81 −19 src/spec/extDependency.py
  89. +951 −94 src/spec/vk.xml
  90. +991 −5 src/vulkan/vulkan.h
@@ -4,5 +4,6 @@ doc/specs/vulkan/makeAllExts text eol=lf
doc/specs/vulkan/makeExt text eol=lf
doc/specs/vulkan/makeKHR text eol=lf
doc/specs/vulkan/sandboxCopy text eol=lf
doc/specs/vulkan/config/optimize-pdf text eol=lf

*.sh text eol=lf
@@ -1954,3 +1954,59 @@ Other Issues:
* Add a clarification to the style guide that the extension revision
number is treated as a patch number, so that changes to published
extensions should only include bug fixes and spec clarifications.

-----------------------------------------------------

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
@@ -0,0 +1,83 @@
Name

EXT_device_group

Name Strings

GL_EXT_device_group

Contact

Jeff Bolz, NVIDIA Corporation (jbolz 'at' nvidia.com)

Contributors

Status

Complete.

Version

Last Modified Date: February 17, 2017
Revision: 1

Number

TBD

Dependencies

This extension can be applied to OpenGL GLSL versions 1.40
(#version 140) and higher.

This extension can be applied to OpenGL ES ESSL versions 3.10
(#version 310) and higher.

Overview

This extension adds a builtin input variable containing the device
index.

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_EXT_device_group : <behavior>

where <behavior> is as specified in section 3.3

New preprocessor #defines are added to the OpenGL Shading Language:

#define GL_EXT_device_group 1

Modify Section 7.1 (Built-In Language Variables), p. 118

Add to the list of vertex, tessellation control, tessellation
evaluation, geometry, fragment, and compute shader built-ins:

highp int gl_DeviceIndex;

Add the following description for gl_DeviceIndex:

The input variable gl_DeviceIndex is available in all shading languages
and corresponds to the DeviceIndex SPIR-V input. See the Vulkan API
specification for how this value is interpreted.

Errors

None.

Revision History

Revision 1
- Internal revisions.
@@ -0,0 +1,83 @@
Name

EXT_multiview

Name Strings

GL_EXT_multiview

Contact

Jeff Bolz, NVIDIA Corporation (jbolz 'at' nvidia.com)

Contributors

Status

Complete.

Version

Last Modified Date: February 17, 2017
Revision: 1

Number

TBD

Dependencies

This extension can be applied to OpenGL GLSL versions 1.40
(#version 140) and higher.

This extension can be applied to OpenGL ES ESSL versions 3.10
(#version 310) and higher.

Overview

This extension adds a builtin input variable containing the view index.

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_EXT_multiview : <behavior>

where <behavior> is as specified in section 3.3

New preprocessor #defines are added to the OpenGL Shading Language:

#define GL_EXT_multiview 1

Modify Section 7.1 (Built-In Language Variables), p. 118

Add to the list of vertex, tessellation control, tessellation
evaluation, geometry, and fragment shader built-ins:

highp int gl_ViewIndex;

Add the following description for gl_ViewIndex:

The input variable gl_ViewIndex is available in vertex, tessellation,
geometry, and fragment shading languages and corresponds to the
ViewIndex SPIR-V input. See the Vulkan API specification for how this
value is interpreted.

Errors

None.

Revision History

Revision 1
- Internal revisions.
@@ -0,0 +1,122 @@
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.

0 comments on commit fd0e4c3

Please sign in to comment.
You can’t perform that action at this time.