Merge pull request #180 from nwnk/glx-oml-sync-control
GLX_OML_sync_control: Remove spurious GLXFBConfig attribute
diff --git a/extensions/ARB/ARB_gl_spirv.txt b/extensions/ARB/ARB_gl_spirv.txt
index 7c7cb4b..e01c0be 100644
--- a/extensions/ARB/ARB_gl_spirv.txt
+++ b/extensions/ARB/ARB_gl_spirv.txt
@@ -429,6 +429,10 @@
differently for SPIR-V used in Vulkan and OpenGL
. gl_FragColor can be written to, but it won't broadcast, for versions of
OpenGL that support gl_FragColor
+ . Vulkan does not allow multi-dimensional arrays of resources like
+ UBOs and SSBOs in its SPIR-V environment spec. SPIR-V supports
+ it and OpenGL already allows this for GLSL shaders. SPIR-V
+ for OpenGL also allows it.
Additions to the SPIR-V specification:
+ *Offset* can also apply to an object, for transform feedback.
diff --git a/extensions/OVR/OVR_multiview.txt b/extensions/OVR/OVR_multiview.txt
index 88cfc2d..bdbd53e 100644
--- a/extensions/OVR/OVR_multiview.txt
+++ b/extensions/OVR/OVR_multiview.txt
@@ -27,6 +27,7 @@
Nigel Williams, Qualcomm
Tobias Hector, Imagination Technologies
Daniel Koch, NVIDIA Corporation
+ James Helferty, NVIDIA Corporation
Status
@@ -34,8 +35,8 @@
Version
- Last Modified Date: December 13, 2017
- Revision: 3
+ Last Modified Date: May 2, 2018
+ Revision: 4
Number
@@ -56,15 +57,17 @@
EXT_direct_state_access.
This extension interacts with OpenGL ES 3.2, OpenGL 4.0,
- EXT_tessellation_shader, and ARB_tessellation_shader.
+ EXT_tessellation_shader, OES_tessellation_shader, and
+ ARB_tessellation_shader.
This extension interacts with OpenGL ES 3.2, OpenGL 3.2,
- EXT_geometry_shader, and ARB_geometry_shader4.
+ EXT_geometry_shader, OES_geometry_shader and ARB_geometry_shader4
This extension interacts with OpenGL 4.3, ARB_multi_draw_indirect, and
EXT_multi_draw_indirect.
- This extension interacts with OpenGL 3.0.
+ This extension interacts with OpenGL 3.0, the OpenGL 3.0 Compatibility
+ Profile, and ARB_fragment_layer_viewport.
Overview
@@ -162,6 +165,11 @@
- no timer queries (section 4.3)
- occlusion query results must be between max per-view and the sum
of the per-view queries, inclusive (section 15.1.4)."
+ - in fragment shader the contents of gl_Layer are undefined
+
+ [[ If implemented in OpenGL ]]
+ - the number of views rendered to by Begin/End is an undefined subset
+ of the views present in the framebuffer
Add the following to list of <pname> parameters which can be queried
via GetFramebufferAttachmentParameteriv when the value of
@@ -286,7 +294,7 @@
- There is an active program for tessellation control, tessellation
evaluation, or geometry stages, or
- - Transform feedback is active."
+ - Transform feedback is active and not paused."
Modifications to Chapter 15 of the OpenGL ES 3.2 Specification (Writing
Fragments and Samples to the Framebuffer) [OpenGL 4.6 Chapter 17]
@@ -409,19 +417,19 @@
are supported, the command NamedFramebufferTextureMultiviewOVR does not
exist.
-Interactions with OpenGL ES 3.2, OpenGL 4.0, EXT_tessellation_shader, and
-ARB_tessellation_shader.
+Interactions with OpenGL ES 3.2, OpenGL 4.0, EXT_tessellation_shader,
+OES_tessellation_shader and ARB_tessellation_shader.
- If none of OpenGL ES 3.2, OpenGL 4.0, EXT_tessellation_shader, or
- ARB_tessellation shader are supported, ignore all references to
- tessellation shaders.
+ If none of OpenGL ES 3.2, OpenGL 4.0, EXT_tessellation_shader,
+ OES_tessellation_shader or ARB_tessellation shader are supported, ignore
+ all references to tessellation shaders.
-Interactions with OpenGL ES 3.2, OpenGL 3.2, EXT_geometry_shader, and
-ARB_geometry_shader4.
+Interactions with OpenGL ES 3.2, OpenGL 3.2, EXT_geometry_shader,
+OES_geometry_shader, and ARB_geometry_shader4.
- If none of OpenGL ES 3.2, OpenGL 3.2, EXT_geometry_shader, or
- ARB_geometry_shader4 are supported, ignore all references to geometry
- shaders.
+ If none of OpenGL ES 3.2, OpenGL 3.2, EXT_geometry_shader,
+ OES_geometry_shader, or ARB_geometry_shader4 are supported, ignore all
+ references to geometry shaders.
Interactions with OpenGL 4.3, ARB_multi_draw_indirect, and
EXT_multi_draw_indirect.
@@ -429,11 +437,24 @@
If none of OpenGL 4.3, ARB_multi_draw_indirect, or EXT_multi_draw_indirect
are supported, ignore all references to multi-draw-indirect.
-Interactions with with OpenGL 3.0
+Interactions with OpenGL 3.0
If OpenGL 3.0 (or later) is not supported, ignore all references to the
SAMPLES_PASSED occlusion query target.
+Interactions with OpenGL ES 3.2, OpenGL 4.3, EXT_geometry_shader,
+OES_geometry_shader, and ARB_fragment_layer_viewport
+
+ If none of OpenGL ES 3.2, OpenGL 4.3, EXT_geometry_shader,
+ OES_geometry_shader, or ARB_fragment_layer_viewport is supported, ignore
+ all references to gl_Layer.
+
+Interactions with OpenGL 3.0 Compatibility Profile
+
+ If OpenGL 3.0 Compatibility Profile (or later) is not supported, ignore all
+ references to Begin/End.
+
+
Issues
(1) Should geometry shaders be allowed in multiview mode?
@@ -708,6 +729,21 @@
drivers may of course continue to allow such shaders to compile, but
it is not possible to use them.
+ (33) How does the gl_Layer builtin input in the fragment shader interact
+ with multiview?
+
+ RESOLVED: Whenever a multiview framebuffer is bound, the contents of
+ gl_Layer in the fragment shader are undefined. This is consistent with
+ issue (1), which disallows geometry shader with multiview framebuffers.
+
+ (34) How does this extension interact with the OpenGL Compatibility
+ Profile?
+
+ RESOLVED: When a multiview framebuffer is bound, Begin/End may render to a
+ subset of the views in the framebuffer. (Specifically which views is
+ undefined, and may be any subset of the views attached to the framebuffer,
+ including the null set.)
+
Revision History
@@ -738,3 +774,8 @@
3 12/13/17 dgkoch Clarify that compute shaders are orthogonal to multiview
framebuffers (Issue 31). Remove gl_ViewID_OVR from compute,
tessellation, and geometry shaders.
+ 4 05/02/18 jhelferty Clarify interop rules for gl_Layer in fragment shader (33), and
+ interop with compatibility profile's Begin/End (34). Add mention
+ of OES_geometry_shader and OES_tessellation_shader to interop.
+ Clarify what happens when transform feedback is paused.
+
diff --git a/index_es.php b/index_es.php
index 8096f99..34b9e64 100644
--- a/index_es.php
+++ b/index_es.php
@@ -56,14 +56,12 @@
Documentation </h2>
<ul>
-<li> OpenGL ES 3.2 Specification (November 3, 2016)
+<li> OpenGL ES 3.2 Specification (May 14, 2018)
<a href="specs/es/3.2/es_spec_3.2.pdf"> without changes marked </a>
and
<a href="specs/es/3.2/es_spec_3.2.withchanges.pdf"> with changes marked </a>. </li>
-<li> OpenGL ES Shading Language 3.20 Specification (January 29, 2016)
- <a href="specs/es/3.2/GLSL_ES_Specification_3.20.pdf"> without changes marked </a>
- and
- <a href="specs/es/3.2/GLSL_ES_Specification_3.20.withchanges.pdf"> with changes marked </a>. </li>
+<li> OpenGL ES Shading Language 3.20 Specification (May 11, 2018)
+ <a href="specs/es/3.2/GLSL_ES_Specification_3.20.pdf"> (PDF) </a>
<li> <a href="http://www.khronos.org/opengles/sdk/docs/man32/">
OpenGL ES 3.2 Online Manual Pages.</a> </li>
<li> <a href="https://www.khronos.org/developers/reference-cards">
diff --git a/index_gl.php b/index_gl.php
index 3dcd4ae..33db303 100644
--- a/index_gl.php
+++ b/index_gl.php
@@ -48,29 +48,21 @@
<ul>
<li> <b> Current Specifications (OpenGL 4.6) </b>
-<li> OpenGL 4.6 API Specification (updated July 30, 2017)
+<li> OpenGL 4.6 API Specification (updated May 14, 2018)
<ul>
<li> <a href="specs/gl/glspec46.core.pdf"> Core Profile Specification
</a> </li>
- <!--
<li> <a href="specs/gl/glspec46.core.withchanges.pdf"> Core Profile
Specification with changes marked </a> </li>
- -->
<li> <a href="specs/gl/glspec46.compatibility.pdf"> Compatibility Profile
Specification </a> </li>
- <!--
<li> <a href="specs/gl/glspec46.compatibility.withchanges.pdf">
Compatibility Profile Specification with changes marked </a>
</li>
- -->
</ul> </li>
-<li> OpenGL Shading Language 4.60 Specification (updated July 23, 2017)
- <ul>
- <li> <a href="specs/gl/GLSLangSpec.4.60.pdf"> GLSL Specification </a>
- </li>
- <li> <a href="specs/gl/GLSLangSpec.4.60.diff.pdf"> GLSL Specification
- with changes marked </a> </li>
- </ul> </li>
+<li> OpenGL Shading Language 4.60 Specification (updated May 11, 2018)
+ <a href="specs/gl/GLSLangSpec.4.60.pdf"> (PDF) </a> </li>
+
<li> <a href="http://www.opengl.org/sdk/docs/man4/"> OpenGL 4.5 API and
Shading Language Reference Pages </a> (not yet updated) </li>
diff --git a/specs/es/3.2/GLSL_ES_Specification_3.20.pdf b/specs/es/3.2/GLSL_ES_Specification_3.20.pdf
index e18803f..44f72dc 100644
--- a/specs/es/3.2/GLSL_ES_Specification_3.20.pdf
+++ b/specs/es/3.2/GLSL_ES_Specification_3.20.pdf
Binary files differ
diff --git a/specs/es/3.2/GLSL_ES_Specification_3.20.withchanges.pdf b/specs/es/3.2/GLSL_ES_Specification_3.20.withchanges.pdf
deleted file mode 100644
index a5c9196..0000000
--- a/specs/es/3.2/GLSL_ES_Specification_3.20.withchanges.pdf
+++ /dev/null
Binary files differ
diff --git a/specs/es/3.2/es_spec_3.2.pdf b/specs/es/3.2/es_spec_3.2.pdf
index af41244..93624e7 100644
--- a/specs/es/3.2/es_spec_3.2.pdf
+++ b/specs/es/3.2/es_spec_3.2.pdf
Binary files differ
diff --git a/specs/es/3.2/es_spec_3.2.withchanges.pdf b/specs/es/3.2/es_spec_3.2.withchanges.pdf
index d38965b..2d0ead6 100644
--- a/specs/es/3.2/es_spec_3.2.withchanges.pdf
+++ b/specs/es/3.2/es_spec_3.2.withchanges.pdf
Binary files differ
diff --git a/specs/gl/GLSLangSpec.4.60.diff.pdf b/specs/gl/GLSLangSpec.4.60.diff.pdf
deleted file mode 100644
index 71e4983..0000000
--- a/specs/gl/GLSLangSpec.4.60.diff.pdf
+++ /dev/null
Binary files differ
diff --git a/specs/gl/GLSLangSpec.4.60.pdf b/specs/gl/GLSLangSpec.4.60.pdf
index 70e32b1..5388117 100644
--- a/specs/gl/GLSLangSpec.4.60.pdf
+++ b/specs/gl/GLSLangSpec.4.60.pdf
Binary files differ
diff --git a/specs/gl/glspec46.compatibility.pdf b/specs/gl/glspec46.compatibility.pdf
index 01349e5..9f09b25 100644
--- a/specs/gl/glspec46.compatibility.pdf
+++ b/specs/gl/glspec46.compatibility.pdf
Binary files differ
diff --git a/specs/gl/glspec46.compatibility.withchanges.pdf b/specs/gl/glspec46.compatibility.withchanges.pdf
new file mode 100644
index 0000000..5344bbc
--- /dev/null
+++ b/specs/gl/glspec46.compatibility.withchanges.pdf
Binary files differ
diff --git a/specs/gl/glspec46.core.pdf b/specs/gl/glspec46.core.pdf
index ca9ba98..65dba25 100644
--- a/specs/gl/glspec46.core.pdf
+++ b/specs/gl/glspec46.core.pdf
Binary files differ
diff --git a/specs/gl/glspec46.core.withchanges.pdf b/specs/gl/glspec46.core.withchanges.pdf
new file mode 100644
index 0000000..b92ea3a
--- /dev/null
+++ b/specs/gl/glspec46.core.withchanges.pdf
Binary files differ