Merge pull request #273 from Perksey/master
Add missing enum groups
diff --git a/api/GL/glcorearb.h b/api/GL/glcorearb.h
index 3f76c23..b80c617 100755
--- a/api/GL/glcorearb.h
+++ b/api/GL/glcorearb.h
@@ -4567,6 +4567,18 @@
#endif
#endif /* GL_EXT_draw_instanced */
+#ifndef GL_EXT_multiview_tessellation_geometry_shader
+#define GL_EXT_multiview_tessellation_geometry_shader 1
+#endif /* GL_EXT_multiview_tessellation_geometry_shader */
+
+#ifndef GL_EXT_multiview_texture_multisample
+#define GL_EXT_multiview_texture_multisample 1
+#endif /* GL_EXT_multiview_texture_multisample */
+
+#ifndef GL_EXT_multiview_timer_query
+#define GL_EXT_multiview_timer_query 1
+#endif /* GL_EXT_multiview_timer_query */
+
#ifndef GL_EXT_polygon_offset_clamp
#define GL_EXT_polygon_offset_clamp 1
#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B
diff --git a/api/GL/glext.h b/api/GL/glext.h
index fe03eb6..04ac760 100644
--- a/api/GL/glext.h
+++ b/api/GL/glext.h
@@ -51,7 +51,7 @@
#define GLAPI extern
#endif
-#define GL_GLEXT_VERSION 20190326
+#define GL_GLEXT_VERSION 20190515
#include <KHR/khrplatform.h>
@@ -7794,6 +7794,18 @@
#endif
#endif /* GL_EXT_multisample */
+#ifndef GL_EXT_multiview_tessellation_geometry_shader
+#define GL_EXT_multiview_tessellation_geometry_shader 1
+#endif /* GL_EXT_multiview_tessellation_geometry_shader */
+
+#ifndef GL_EXT_multiview_texture_multisample
+#define GL_EXT_multiview_texture_multisample 1
+#endif /* GL_EXT_multiview_texture_multisample */
+
+#ifndef GL_EXT_multiview_timer_query
+#define GL_EXT_multiview_timer_query 1
+#endif /* GL_EXT_multiview_timer_query */
+
#ifndef GL_EXT_packed_depth_stencil
#define GL_EXT_packed_depth_stencil 1
#define GL_DEPTH_STENCIL_EXT 0x84F9
diff --git a/api/GL/glxext.h b/api/GL/glxext.h
index eb8c1ca..dc007b5 100755
--- a/api/GL/glxext.h
+++ b/api/GL/glxext.h
@@ -34,7 +34,7 @@
** https://github.com/KhronosGroup/OpenGL-Registry
*/
-#define GLX_GLXEXT_VERSION 20190228
+#define GLX_GLXEXT_VERSION 20190515
/* Generated C header for:
* API: glx
@@ -280,6 +280,14 @@
#define GLX_BACK_BUFFER_AGE_EXT 0x20F4
#endif /* GLX_EXT_buffer_age */
+#ifndef GLX_EXT_context_priority
+#define GLX_EXT_context_priority 1
+#define GLX_CONTEXT_PRIORITY_LEVEL_EXT 0x3100
+#define GLX_CONTEXT_PRIORITY_HIGH_EXT 0x3101
+#define GLX_CONTEXT_PRIORITY_MEDIUM_EXT 0x3102
+#define GLX_CONTEXT_PRIORITY_LOW_EXT 0x3103
+#endif /* GLX_EXT_context_priority */
+
#ifndef GLX_EXT_create_context_es2_profile
#define GLX_EXT_create_context_es2_profile 1
#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
diff --git a/api/GL/wgl.h b/api/GL/wgl.h
index 3f94946..f97f418 100644
--- a/api/GL/wgl.h
+++ b/api/GL/wgl.h
@@ -39,7 +39,7 @@
#include <windows.h>
#endif
-/* Generated on date 20190228 */
+/* Generated on date 20190515 */
/* Generated C header for:
* API: wgl
diff --git a/api/GL/wglext.h b/api/GL/wglext.h
index cb31ac4..515e7c4 100755
--- a/api/GL/wglext.h
+++ b/api/GL/wglext.h
@@ -39,7 +39,7 @@
#include <windows.h>
#endif
-#define WGL_WGLEXT_VERSION 20190228
+#define WGL_WGLEXT_VERSION 20190515
/* Generated C header for:
* API: wgl
diff --git a/api/GLES/gl.h b/api/GLES/gl.h
index 9ea2482..6b804c0 100644
--- a/api/GLES/gl.h
+++ b/api/GLES/gl.h
@@ -36,7 +36,7 @@
#include <GLES/glplatform.h>
-/* Generated on date 20190228 */
+/* Generated on date 20190515 */
/* Generated C header for:
* API: gles1
diff --git a/api/GLES/glext.h b/api/GLES/glext.h
index 0299e88..78c7622 100644
--- a/api/GLES/glext.h
+++ b/api/GLES/glext.h
@@ -38,7 +38,7 @@
#define GL_APIENTRYP GL_APIENTRY*
#endif
-/* Generated on date 20190228 */
+/* Generated on date 20190515 */
/* Generated C header for:
* API: gles1
diff --git a/api/GLES2/gl2.h b/api/GLES2/gl2.h
index a48067d..5a31db0 100644
--- a/api/GLES2/gl2.h
+++ b/api/GLES2/gl2.h
@@ -44,7 +44,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20190228 */
+/* Generated on date 20190515 */
/* Generated C header for:
* API: gles2
diff --git a/api/GLES2/gl2ext.h b/api/GLES2/gl2ext.h
index d0a3e6a..aaf3bb4 100644
--- a/api/GLES2/gl2ext.h
+++ b/api/GLES2/gl2ext.h
@@ -38,7 +38,7 @@
#define GL_APIENTRYP GL_APIENTRY*
#endif
-/* Generated on date 20190402 */
+/* Generated on date 20190515 */
/* Generated C header for:
* API: gles2
@@ -1618,6 +1618,18 @@
#endif
#endif /* GL_EXT_multiview_draw_buffers */
+#ifndef GL_EXT_multiview_tessellation_geometry_shader
+#define GL_EXT_multiview_tessellation_geometry_shader 1
+#endif /* GL_EXT_multiview_tessellation_geometry_shader */
+
+#ifndef GL_EXT_multiview_texture_multisample
+#define GL_EXT_multiview_texture_multisample 1
+#endif /* GL_EXT_multiview_texture_multisample */
+
+#ifndef GL_EXT_multiview_timer_query
+#define GL_EXT_multiview_timer_query 1
+#endif /* GL_EXT_multiview_timer_query */
+
#ifndef GL_EXT_occlusion_query_boolean
#define GL_EXT_occlusion_query_boolean 1
#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
@@ -2746,6 +2758,10 @@
#endif
#endif /* GL_NV_fragment_coverage_to_color */
+#ifndef GL_NV_fragment_shader_barycentric
+#define GL_NV_fragment_shader_barycentric 1
+#endif /* GL_NV_fragment_shader_barycentric */
+
#ifndef GL_NV_fragment_shader_interlock
#define GL_NV_fragment_shader_interlock 1
#endif /* GL_NV_fragment_shader_interlock */
diff --git a/api/GLES3/gl3.h b/api/GLES3/gl3.h
index 7af7dfb..c5ca81a 100644
--- a/api/GLES3/gl3.h
+++ b/api/GLES3/gl3.h
@@ -44,7 +44,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20190326 */
+/* Generated on date 20190515 */
/* Generated C header for:
* API: gles2
diff --git a/extensions/EXT/EXT_multiview_tessellation_geometry_shader.txt b/extensions/EXT/EXT_multiview_tessellation_geometry_shader.txt
new file mode 100644
index 0000000..1d0707a
--- /dev/null
+++ b/extensions/EXT/EXT_multiview_tessellation_geometry_shader.txt
@@ -0,0 +1,230 @@
+Name
+
+ EXT_multiview_tessellation_geometry_shader
+
+Name Strings
+
+ GL_EXT_multiview_tessellation_geometry_shader
+
+Contact
+
+ Robert Menzel, NVIDIA Corporation (rmenzel 'at' nvidia.com)
+
+Contributors
+
+ Pat Brown, NVIDIA Corporation
+ Jan-Harald Fredriksen, Arm Limited
+ James Helferty, NVIDIA Corporation
+ Kedarnath Thangudu, NVIDIA Corporation
+
+Status
+
+ Complete.
+
+Version
+
+ Last Modified Date: May 13, 2019
+ Author Revision: 1
+
+Number
+
+ OpenGL Extension #538
+ OpenGL ES Extension #319
+
+Dependencies
+
+ OpenGL 4.0 or OpenGL ES 3.2 are required.
+
+ This extension is written against the OpenGL 4.6 specification
+ (Core Profile) (February 2, 2019) and OpenGL ES 3.2 specification
+ (February 2, 2019).
+
+ This extension is written against the OpenGL ES Shading Language 3.20.05
+ specification and OpenGL Shading Language 4.60.6 specification.
+
+ This extension interacts with OVR_multiview2.
+
+ OVR_multiview is required.
+
+Overview
+
+ OVR_multiview introduced multiview rendering to OpenGL and OpenGL ES.
+
+ This extension removes one of the limitations of the OVR_multiview
+ extension by allowing the use of tessellation control, tessellation
+ evaluation, and geometry shaders during multiview rendering.
+ OVR_multiview by itself forbids the use of any of these shader types.
+
+ When using tessellation control, tessellation evaluation, and geometry
+ shaders during multiview rendering, any such shader must use the
+ "num_views" layout qualifier provided by the matching shading language
+ extension to specify a view count. The view count specified in these
+ shaders must match the count specified in the vertex shader. Additionally,
+ the shading language extension allows these shaders to use the
+ gl_ViewID_OVR built-in to handle tessellation or geometry shader processing
+ differently for each view.
+
+ OVR_multiview2 extends OVR_multiview by allowing view-dependent values
+ for any vertex attributes instead of just the position. This new extension
+ does not imply the availability of OVR_multiview2, but if both are available,
+ view-dependent values for any vertex attributes are also allowed in
+ tessellation control, tessellation evaluation, and geometry shaders.
+
+
+New Tokens
+
+ None.
+
+
+New Procedures and Functions
+
+ None.
+
+
+Modifications to Chapter 9 of the OpenGL ES 3.2 Specification as well as
+Chapter 9 of the OpenGL 4.6 Specification (Framebuffers and Framebuffer
+Objects)
+
+ Modify the subsection 9.2.2.2 (Multiview Images) which has been added by
+ OVR_multiview:
+
+ Remove from the list of restrictions ("In this mode there are several
+ restrictions:") the following items:
+
+ "- no tessellation control or evaluation shaders (section 11.1.3.11)
+ - no geometry shader (section 11.1.3.11)"
+
+ effectively allowing the usage of multiview rendering with tessellation and
+ geometry shaders.
+
+ In the same list replace
+ "- in fragment shader the contents of gl_Layer are undefined"
+ with
+ "- reads and writes of gl_Layer by any shaders are undefined".
+
+
+Modifications to Chapter 11 of the OpenGL ES 3.2 Specification as well
+as Chapter 11 of the OpenGL 4.6 Specification (Programmable Vertex Processing)
+
+ Modify section 11.1.3.11 (Validation) by removing the following condition
+ from the list of reasons that may result in an INVALID_OPERATION error
+ being generated by any command that transfers vertices to the GL
+ (added by OVR_multiview) after
+ "Any attachment of the draw framebuffer is multiview (section 9.2.8)
+ and any of the following conditions are true:":
+
+ "- There is an active program for tessellation control, tessellation
+ evaluation, or geometry stages, or".
+
+
+ Modify section 11.1.3.11 (Validation) by adding the following
+ item to the bullet point list of conditions generating an INVALID_OPERATION:
+ "The active program for the vertex, tessellation control, tessellation
+ evaluation, or geometry shader stages contains an executable that declared
+ a multiview view count using the "num_views" layout qualifier, but the
+ active program for another one of these stages includes an executable that
+ declared a different view count or failed to declare any view count."
+
+
+Modifications to The OpenGL ES Shading Language Specification, Version 3.20.05
+and The OpenGL Shading Language Specification, Version 4.60.6:
+
+ Including the following line in a tessellation control, tessellation evaluation,
+ or geometry shader can be used to control the language features described in
+ this extension:
+
+ #extension GL_EXT_multiview_tessellation_geometry_shader : <behavior>
+
+ where <behavior> is as specified in section 3.5.
+
+ A new preprocessor #define is added to the OpenGL ES Shading Language
+ as well as the OpenGL Shading Language for those shaders:
+
+ #define GL_EXT_multiview_tessellation_geometry_shader 1
+
+ In section "Input Layout Qualifiers" a new paragraph was added by OVR_multiview
+ (section 4.3.8.1 in the OpenGL ES Shading Language Specification, version 3.00.04,
+ which moved to section 4.4.1 in version 3.20.05 of the OpenGL ES Shading Language
+ Specification and version 4.60.6 of the OpenGL Shading Language Specification).
+
+ In this new paragraph replace
+ "Vertex shaders also allow the following layout qualifier on 'in' only"
+ with
+ "Vertex, tessellation control, tessellation evaluation and geometry shaders
+ also allow the following layout qualifier on 'in' only".
+
+ In the following paragraph of the same addition by OVR_multiview replace
+ "If multiple vertex shaders attached to a
+ single program object declare num_views, the declarations must be
+ identical; otherwise a link-time error results."
+ with
+ "If multiple shaders of the same type attached to a
+ single program object declare num_views, the declarations must be
+ identical; otherwise a link-time error results.
+
+ If any vertex, tessellation control, tessellation evaluation, or
+ geometry shader in a single program object declares a view count using
+ 'num_views', at least one shader of each type present in the program must
+ declare a view count and all such declarations must match. If there is a
+ missing or mismatched view count declaration, a link-time error results."
+
+
+Modifications to Section 7.1 "Built-in Language Variables"
+
+ Replace the following paragraph added by OVR_multiview
+ "Add the following to the list of built-in variables that are intrinsically
+ declared in the vertex and fragment shading languages:
+
+ in mediump uint gl_ViewID_OVR;"
+ with
+ "Add the following to the list of built-in variables that are intrinsically
+ declared in the vertex, tessellation control, tessellation evaluation
+ geometry and fragment shading languages:
+
+ [[ If implemented in the OpenGL ES Shading Language ]]
+ in mediump uint gl_ViewID_OVR;
+
+ [[ If implemented in the OpenGL Shading Language ]]
+ in uint gl_ViewID_OVR;"
+
+
+Interactions with OVR_multiview2:
+
+ If OVR_multiview2 is supported the restriction from OVR_multiview that only
+ gl_Position is allowed to depend on gl_ViewID_OVR is also lifted from the
+ tessellation control, tessellation evaluation, and geometry
+ shaders.
+
+
+Issues
+
+ (1) This extension is based on an OVR extension, why call it EXT?
+
+ While started as a single vendor extension, OVR_multiview and OVR_multiview2
+ are already supported by multiple vendors. This new extension also has the
+ support from multiple vendors to be specified as EXT.
+
+ (2) Should the functions and tokens introduced by OVR_multiview be renamed
+ to have EXT suffixes?
+
+ No. While it is unusual to mix a vendor suffix with EXT in this "family" of
+ extensions, the main goal of this extension is to remove restrictions of
+ OVR_multiview while keeping source code compatibiliy where possible. It is
+ up to a successor of OVR_multiview to change the names (e.g. to revisit
+ the unusual second underscore in gl_ViewID_OVR). The intent of this extension
+ is to change the functionality while "inheriting" the names of the base
+ multiview extension.
+
+ (3) Are separable program objects with multiview allowed?
+
+ Yes. Note that when using separable program objects, each program object
+ can have its own multiview view count declared with the "num_views" layout
+ qualfiier. When using separable programs, a draw-time error will occur if
+ the view count for the programs used by the vertex, tessellation control,
+ tessellation evaluation, and geometry stages don't match.
+
+Revision History
+
+ Rev. Date Author Changes
+ ---- -------- -------- -----------------------------------------
+ 1 05/13/19 rmenzel Initial version.
diff --git a/extensions/EXT/EXT_multiview_texture_multisample.txt b/extensions/EXT/EXT_multiview_texture_multisample.txt
new file mode 100644
index 0000000..defdf6d
--- /dev/null
+++ b/extensions/EXT/EXT_multiview_texture_multisample.txt
@@ -0,0 +1,171 @@
+Name
+
+ EXT_multiview_texture_multisample
+
+Name Strings
+
+ GL_EXT_multiview_texture_multisample
+
+Contact
+
+ Robert Menzel, NVIDIA Corporation (rmenzel 'at' nvidia.com)
+
+Contributors
+
+ Pat Brown, NVIDIA Corporation
+ James Helferty, NVIDIA Corporation
+ Kedarnath Thangudu, NVIDIA Corporation
+
+Status
+
+ Complete.
+
+Version
+
+ Last Modified Date: May 13, 2019
+ Author Revision: 1
+
+Number
+
+ OpenGL Extension #537
+ OpenGL ES Extension #318
+
+Dependencies
+
+ OpenGL 4.0 or OpenGL ES 3.2 are required.
+
+ This extension is written against the OpenGL 4.6 specification
+ (Core Profile) (February 2, 2019) and OpenGL ES 3.2 specification
+ (February 2, 2019).
+
+ OVR_multiview is required.
+
+Overview
+
+ OVR_multiview introduced multiview rendering to OpenGL and OpenGL ES.
+
+ This extension removes one of the limitations of the OVR_multiview
+ extension by allowing the use of multisample textures during multiview rendering.
+
+ This is one of two extensions that allow multisampling when using
+ OVR_multiview. Each supports one of the two different approaches to
+ multisampling in OpenGL and OpenGL ES:
+
+ Core OpenGL and OpenGL ES 3.1+ have explicit support for multisample
+ texture types, such as TEXTURE_2D_MULTISAMPLE. Applications can access
+ the values of individual samples and can explicitly "resolve" the
+ samples of each pixel down to a single color.
+
+ The extension EXT_multisampled_render_to_texture provides support for
+ multisampled rendering to non-multisample texture types, such as
+ TEXTURE_2D. The individual samples for each pixel are maintained
+ internally by the implementation and can not be accessed directly
+ by applications. These samples are eventually resolved implicitly to
+ a single color for each pixel.
+
+ This extension supports the first multisampling style with multiview
+ rendering; the OVR_multiview_multisampled_render_to_texture extension
+ supports the second style. Note that support for one of these multiview
+ extensions does not imply support for the other.
+
+
+New Tokens
+
+ None.
+
+
+New Procedures and Functions
+
+ None.
+
+
+Modifications to Chapter 9 of the OpenGL ES 3.2 Specification as well as
+Chapter 9 of the OpenGL 4.6 Specification (Framebuffers and Framebuffer
+Objects)
+
+Modifications to all sections added and/or modified by OVR_multiview
+
+ Where OVR_multiview references a "two-dimensional array texture", replace
+ this with "two-dimensional array texture or two-dimensional multisample
+ array texture" to explicitly allow rendering to multisampled textures.
+
+ The following is an explicit list of these changes:
+
+ In subsection 9.2.2.2 (introduced by OVR_multiview) replace
+ "Finally, multiple layers of two-dimensional array textures can be
+ attached to an attachment point."
+ with
+ "Finally, multiple layers of two-dimensional array textures or
+ two-dimensional multisample array textures can be
+ attached to an attachment point."
+
+ In the additions to section 9.2.3 (Framebuffer Object Queries) replace
+ "If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR and the value
+ of FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a two-dimensional array texture..."
+ with
+ "If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR and the value
+ of FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a two-dimensional array texture
+ or a two-dimensional multisample array texture..."
+
+ Also replace
+ "If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR and the
+ value of FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a two-dimensional array
+ texture..."
+ with
+ "If <pname> is FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR and the
+ value of FRAMEBUFFER_ATTACHMENT_OBJECT_NAME is a two-dimensional array
+ texture or a two-dimensional multisample array texture..."
+
+ In the addition to the end of section 9.2.8 (Attaching Textures to a Framebuffer)
+ replace
+ "Multiple layers of a two-dimensional array texture can be
+ attached as one of the logical buffers of a framebuffer object with the
+ commands"
+ with
+ "Multiple layers of a two-dimensional array texture or a two-dimensional
+ multisample array texture can be
+ attached as one of the logical buffers of a framebuffer object with the
+ commands"
+
+ Later in that section under "Errors" replace
+ "An INVALID_VALUE error is generated if:
+ - <texture> is a two-dimensional array texture and <baseViewIndex> +
+ <numViews> is larger than the value of MAX_ARRAY_TEXTURE_LAYERS."
+ with
+ "An INVALID_VALUE error is generated if:
+ - <texture> is a two-dimensional array texture or a two-dimensional
+ multisample array texture and <baseViewIndex> +
+ <numViews> is larger than the value of MAX_ARRAY_TEXTURE_LAYERS."
+
+ Also replace
+ "An INVALID_OPERATION error is generated if texture is non-zero and is not
+ the name of a two-dimensional array texture."
+ with
+ "An INVALID_OPERATION error is generated if texture is non-zero and is not
+ the name of a two-dimensional array texture or a two-dimensional
+ multisample array texture."
+
+
+Issues
+
+ (1) This extension is based on an OVR extension, why call it EXT?
+
+ While started as a single vendor extension, OVR_multiview and OVR_multiview2
+ are already supported by multiple vendors. This new extension also has the
+ support from multiple vendors to be specified as EXT.
+
+ (2) Can this extension be used together with
+ OVR_multiview_multisampled_render_to_texture if both are supported?
+
+ The two extensions can be used together in the same application, but not in
+ the same framebuffer. OVR_multiview_multisampled_render_to_texture is based
+ on EXT_multisampled_render_to_texture, which explicitly does not permit a
+ single framebuffer to contain explicit multisample texture types (from
+ OpenGL ES 3.1 and core OpenGL) and "multisampled" bindings of non-multisample
+ texture types.
+
+Revision History
+
+ Rev. Date Author Changes
+ ---- -------- -------- -----------------------------------------
+ 1 05/13/19 rmenzel Initial version.
diff --git a/extensions/EXT/EXT_multiview_timer_query.txt b/extensions/EXT/EXT_multiview_timer_query.txt
new file mode 100644
index 0000000..50913cb
--- /dev/null
+++ b/extensions/EXT/EXT_multiview_timer_query.txt
@@ -0,0 +1,99 @@
+Name
+
+ EXT_multiview_timer_query
+
+Name Strings
+
+ GL_EXT_multiview_timer_query
+
+Contact
+
+ Robert Menzel, NVIDIA Corporation (rmenzel 'at' nvidia.com)
+
+Contributors
+
+ Pat Brown, NVIDIA Corporation
+ James Helferty, NVIDIA Corporation
+ Kedarnath Thangudu, NVIDIA Corporation
+
+Status
+
+ Complete.
+
+Version
+
+ Last Modified Date: May 13, 2019
+ Author Revision: 1
+
+Number
+
+ OpenGL Extension #536
+ OpenGL ES Extension #317
+
+Dependencies
+
+ OpenGL 4.0 or OpenGL ES 3.2 are required.
+
+ This extension is written against the OpenGL 4.6 specification
+ (Core Profile) (February 2, 2019) and OpenGL ES 3.2 specification
+ (February 2, 2019).
+
+ OVR_multiview is required.
+
+Overview
+
+ OVR_multiview introduced multiview rendering to OpenGL and OpenGL ES.
+ This extension removes one of the limitations of the OVR_multiview
+ extension by allowing the use of timer queries during multiview rendering.
+ OVR_multiview does not specify defined behavior for such usage
+ (if implemented in OpenGL or if EXT_disjoint_timer_query is present).
+
+
+New Tokens
+
+ None.
+
+
+New Procedures and Functions
+
+ None.
+
+
+Modifications to Chapter 4 of the OpenGL 4.6 Specification (Event Model)
+
+ Remove the following error from section 4.3 (Time Queries) which has
+ been added by OVR_multiview:
+
+ "Queries where BeginQuery or EndQuery is called with a target of
+ TIME_ELAPSED, or a if QueryCounter is called with a target of TIMESTAMP
+ return undefined values if the draw framebuffer is multiview at any
+ point during their execution."
+
+
+Modifications to Chapter 9 of the OpenGL ES 3.2 Specification as well as
+Chapter 9 of the OpenGL 4.6 Specification (Framebuffers and Framebuffer
+Objects)
+
+ Modify the subsection 9.2.2.2 (Multiview Images) which has been added by
+ OVR_multiview:
+
+ Remove from the list of restrictions ("In this mode there are several
+ restrictions:") the following item:
+
+ "- no timer queries (section 4.3)".
+
+
+Issues
+
+ (1) This extension is based on an OVR extension, why call it EXT?
+
+ While started as a single vendor extension, OVR_multiview and OVR_multiview2
+ are already supported by multiple vendors. This new extension also has the
+ support from multiple vendors to be specified as EXT.
+
+
+Revision History
+
+ Rev. Date Author Changes
+ ---- -------- -------- -----------------------------------------
+ 1 05/13/19 rmenzel Initial version.
diff --git a/extensions/EXT/EXT_texture_sRGB_R8.txt b/extensions/EXT/EXT_texture_sRGB_R8.txt
index 50f886e..00e4707 100644
--- a/extensions/EXT/EXT_texture_sRGB_R8.txt
+++ b/extensions/EXT/EXT_texture_sRGB_R8.txt
@@ -31,7 +31,7 @@
Number
OpenGL ES Extension #221
- OpenGL Extension #594
+ OpenGL Extension #534
Dependencies
diff --git a/extensions/EXT/GLX_EXT_context_priority.txt b/extensions/EXT/GLX_EXT_context_priority.txt
new file mode 100644
index 0000000..081a411
--- /dev/null
+++ b/extensions/EXT/GLX_EXT_context_priority.txt
@@ -0,0 +1,108 @@
+Name
+
+ EXT_context_priority
+
+Name Strings
+
+ GLX_EXT_context_priority
+
+Contributors
+
+ Adam Jackson, Red Hat
+
+ Cloned from EGL_IMG_context_priority, whose contributors included:
+
+ Ben Bowman, Imagination Techonologies
+ Graham Connor, Imagination Techonologies
+
+Contacts
+
+ Adam Jackson <ajax@redhat.com>
+
+Status
+
+ Complete
+
+Version
+
+ Version 2, 10 April 2019
+
+Number
+
+ OpenGL Extension #535
+
+Dependencies
+
+ Requires GLX_ARB_create_context.
+
+ This extension is written against the text of the GLX 1.4 specification.
+
+Overview
+
+ This extension allows a GLXContext to be created with a priority
+ hint. It is possible that an implementation will not honour the
+ hint, especially if there are constraints on the number of high
+ priority contexts available in the system, or system policy limits
+ access to high priority contexts to appropriate system privilege
+ level. A query is provided to find the real priority level assigned
+ to the context after creation.
+
+New Types
+
+ None
+
+New Procedures and Functions
+
+ None
+
+New Tokens
+
+ New attributes accepted by the <attrib_list> argument of
+ glXCreateContextAttribsARB:
+
+ GLX_CONTEXT_PRIORITY_LEVEL_EXT 0x3100
+
+ New attribute values accepted in the <attrib_list> argument
+ of glXCreateContextAttribsARB:
+
+ GLX_CONTEXT_PRIORITY_HIGH_EXT 0x3101
+ GLX_CONTEXT_PRIORITY_MEDIUM_EXT 0x3102
+ GLX_CONTEXT_PRIORITY_LOW_EXT 0x3103
+
+Additions to the GLX_ARB_create_context specification
+
+ Add to the text of attributes supported by glXCreateContextAttribsARB:
+
+ "GLX_CONTEXT_PRIORITY_LEVEL_EXT determines the priority level of
+ the context to be created. This attribute is a hint, as an
+ implementation may not support multiple contexts at some
+ priority levels and system policy may limit access to high
+ priority contexts to appropriate system privilege level. The
+ default value for GLX_CONTEXT_PRIORITY_LEVEL_EXT is
+ GLX_CONTEXT_PRIORITY_MEDIUM_EXT."
+
+Additions to the GLX 1.4 specification
+
+ To Table 3.5 "Context attributes" add the row:
+
+ Attribute Type Description
+ GLX_CONTEXT_PRIORITY_LEVEL_EXT int Context priority level
+
+Issues
+
+ Refer to the issues in EGL_IMG_context_priority for further background.
+
+ 1) What enumerant values should we use here?
+
+ RESOLVED: Reuse the enums from EGL_IMG_context_priority. The window
+ system binding APIs have trended towards sharing enumerant space. The
+ range is not otherwise assigned for GLX, and Imagination have consented
+ to its reuse in GLX.
+
+Revision History
+
+ Version 2, 10 April 2019 (Adam Jackson)
+ - Resolve enumerant issue.
+
+ Version 1, 20 February 2019 (Adam Jackson)
+ - Clone from EGL_IMG_context_priority
diff --git a/extensions/NV/NV_vdpau_interop2.txt b/extensions/NV/NV_vdpau_interop2.txt
index 6d2106e..1779a58 100644
--- a/extensions/NV/NV_vdpau_interop2.txt
+++ b/extensions/NV/NV_vdpau_interop2.txt
@@ -25,7 +25,7 @@
Number
- OpenGL Extension #593
+ OpenGL Extension #533
Dependencies
@@ -47,7 +47,7 @@
IP Status
- There are no known IP issues.
+ There are no known IP issues.
New Types
@@ -68,13 +68,13 @@
Additions to Chapter 8 of the OpenGL 4.6 (unabridged) Specification
(Textures and Samplers)
-
- Replace the paragraph that begins with 'The command
+
+ Replace the paragraph that begins with 'The command
vdpauSurfaceNV VDPAURegisterVideoSurfaceNV' and the following two paragraphs,
including table 3.8.3.1, with the following:
The commands
-
+
vdpauSurfaceNV VDPAURegisterVideoSurfaceNV (const void *vdpSurface,
enum target,
sizei numTextureNames,
@@ -92,9 +92,9 @@
determines how many textures are defined. <textureNames> contains
the names of the textures that are defined. The surface is
transitioned into the registered state.
-
- VDPAURegisterVideoSurfaceNV is equivalent to calling
- VDPAURegisterVideoSurfaceWithPictureStructureNV with <isFrameStructure>
+
+ VDPAURegisterVideoSurfaceNV is equivalent to calling
+ VDPAURegisterVideoSurfaceWithPictureStructureNV with <isFrameStructure>
set to FALSE.
Legal values for <numTextureNames>,<isFrameStructure> are derived from the
@@ -141,10 +141,10 @@
1 w x h R8G8 Chroma
Table 8.7.1: Supported VdpChromaType values, and derived values
- of <numTextureNames>,<isFrameStructure> and texture parameters for
+ of <numTextureNames>,<isFrameStructure> and texture parameters for
each texture.
- VDPAURegisterVideoSurfaceWithPictureStructureNV's return value is a handle
+ VDPAURegisterVideoSurfaceWithPictureStructureNV's return value is a handle
used by various other commands detailed in NV_vdpau_interop.
@@ -174,12 +174,12 @@
Errors
- INVALID_OPERATION is generated by
+ INVALID_OPERATION is generated by
VDPAURegisterVideoSurfaceWithPictureStructureNV if the VDPAU driver
refuses the request for some reason.
INVALID_OPERATION is generated if any texture named by an entry
- within the <textureNames> parameter of
+ within the <textureNames> parameter of
VDPAURegisterVideoSurfaceWithPictureStructureNV is marked as immutable.
INVALID_VALUE is generated if the VDPAU surface named by the
diff --git a/extensions/QCOM/QCOM_YUV_texture_gather.txt b/extensions/QCOM/QCOM_YUV_texture_gather.txt
index 57e11eb..95c9c5a 100644
--- a/extensions/QCOM/QCOM_YUV_texture_gather.txt
+++ b/extensions/QCOM/QCOM_YUV_texture_gather.txt
@@ -20,8 +20,8 @@
Version
- Last Modified Date: October 18, 2018
- Revision: 1
+ Last Modified Date: May 13,2019
+ Revision: 2
Number
@@ -31,7 +31,7 @@
Dependencies
Requires OpenGL ES 3.0
- Requires GL_EXT_YUV_target
+ Requires EXT_YUV_target
Requires EXT_gpu_shader5
@@ -60,13 +60,13 @@
Including the following line in a shader can be used to control the
language features described in this extension:
- #extension QCOM_YUV_texture_gather : <behavior>
+ #extension GL_QCOM_YUV_texture_gather : <behavior>
where <behavior> is as specified in section 3.4.
A new preprocessor #define is added to the OpenGL ES Shading Language:
- #define QCOM_YUV_texture_gather 1
+ #define GL_QCOM_YUV_texture_gather 1
Add to the list of texture gather functions as introduced with EXT_gpu_shader5
@@ -95,3 +95,4 @@
Rev. Date Author Changes
---- ---------- -------- -----------------------------------------
1 2018-10-18 jleger initial version
+ 2 2019-05-13 jleger prepend "GL_" to QCOM_YUV_texture_gather
diff --git a/extensions/esext.php b/extensions/esext.php
index 2f6c8a2..8125906 100644
--- a/extensions/esext.php
+++ b/extensions/esext.php
@@ -657,4 +657,10 @@
</li>
<li value=316><a href="extensions/NV/NV_fragment_shader_barycentric.txt">GL_NV_fragment_shader_barycentric</a>
</li>
+<li value=317><a href="extensions/EXT/EXT_multiview_timer_query.txt">GL_EXT_multiview_timer_query</a>
+</li>
+<li value=318><a href="extensions/EXT/EXT_multiview_texture_multisample.txt">GL_EXT_multiview_texture_multisample</a>
+</li>
+<li value=319><a href="extensions/EXT/EXT_multiview_tessellation_geometry_shader.txt">GL_EXT_multiview_tessellation_geometry_shader</a>
+</li>
</ol>
diff --git a/extensions/glext.php b/extensions/glext.php
index aab9187..dabce62 100644
--- a/extensions/glext.php
+++ b/extensions/glext.php
@@ -1001,10 +1001,18 @@
</li>
<li value=531><a href="extensions/NV/NV_shading_rate_image.txt">GL_NV_shading_rate_image</a>
</li>
-<li value=592><a href="extensions/ATI/WGL_ATI_render_texture_rectangle.txt">WGL_ATI_render_texture_rectangle</a>
+<li value=532><a href="extensions/ATI/WGL_ATI_render_texture_rectangle.txt">WGL_ATI_render_texture_rectangle</a>
</li>
-<li value=593><a href="extensions/NV/NV_vdpau_interop2.txt">GL_NV_vdpau_interop2</a>
+<li value=533><a href="extensions/NV/NV_vdpau_interop2.txt">GL_NV_vdpau_interop2</a>
</li>
-<li value=594><a href="extensions/EXT/EXT_texture_sRGB_R8.txt">GL_EXT_texture_sRGB_R8</a>
+<li value=534><a href="extensions/EXT/EXT_texture_sRGB_R8.txt">GL_EXT_texture_sRGB_R8</a>
+</li>
+<li value=535><a href="extensions/EXT/GLX_EXT_context_priority.txt">GLX_EXT_context_priority</a>
+</li>
+<li value=536><a href="extensions/EXT/EXT_multiview_timer_query.txt">GL_EXT_multiview_timer_query</a>
+</li>
+<li value=537><a href="extensions/EXT/EXT_multiview_texture_multisample.txt">GL_EXT_multiview_texture_multisample</a>
+</li>
+<li value=538><a href="extensions/EXT/EXT_multiview_tessellation_geometry_shader.txt">GL_EXT_multiview_tessellation_geometry_shader</a>
</li>
</ol>
diff --git a/extensions/registry.py b/extensions/registry.py
index 28f6161..2aeb4ec 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -1457,7 +1457,7 @@
'url' : 'extensions/ATI/ATI_pn_triangles.txt',
},
'WGL_ATI_render_texture_rectangle' : {
- 'number' : 592,
+ 'number' : 532,
'flags' : { 'public' },
'supporters' : { 'ATI' },
'url' : 'extensions/ATI/WGL_ATI_render_texture_rectangle.txt',
@@ -1659,6 +1659,11 @@
'flags' : { 'public' },
'url' : 'extensions/EXT/EXT_conservative_depth.txt',
},
+ 'GLX_EXT_context_priority' : {
+ 'number' : 535,
+ 'flags' : { 'public' },
+ 'url' : 'extensions/EXT/GLX_EXT_context_priority.txt',
+ },
'GL_EXT_convolution' : {
'number' : 12,
'flags' : { 'public' },
@@ -2001,6 +2006,27 @@
'flags' : { 'public' },
'url' : 'extensions/EXT/EXT_multiview_draw_buffers.txt',
},
+ 'GL_EXT_multiview_tessellation_geometry_shader' : {
+ 'number' : 538,
+ 'esnumber' : 319,
+ 'flags' : { 'public' },
+ 'supporters' : { 'NVIDIA' },
+ 'url' : 'extensions/EXT/EXT_multiview_tessellation_geometry_shader.txt',
+ },
+ 'GL_EXT_multiview_texture_multisample' : {
+ 'number' : 537,
+ 'esnumber' : 318,
+ 'flags' : { 'public' },
+ 'supporters' : { 'NVIDIA' },
+ 'url' : 'extensions/EXT/EXT_multiview_texture_multisample.txt',
+ },
+ 'GL_EXT_multiview_timer_query' : {
+ 'number' : 536,
+ 'esnumber' : 317,
+ 'flags' : { 'public' },
+ 'supporters' : { 'NVIDIA' },
+ 'url' : 'extensions/EXT/EXT_multiview_timer_query.txt',
+ },
'GLU_EXT_nurbs_tessellator' : {
'number' : 100,
'flags' : { 'public' },
@@ -2507,7 +2533,7 @@
'url' : 'extensions/EXT/EXT_texture_sRGB.txt',
},
'GL_EXT_texture_sRGB_R8' : {
- 'number' : 594,
+ 'number' : 534,
'esnumber' : 221,
'flags' : { 'public' },
'url' : 'extensions/EXT/EXT_texture_sRGB_R8.txt',
@@ -3861,7 +3887,7 @@
'url' : 'extensions/NV/NV_vdpau_interop.txt',
},
'GL_NV_vdpau_interop2' : {
- 'number' : 593,
+ 'number' : 533,
'flags' : { 'public' },
'supporters' : { 'NVIDIA' },
'url' : 'extensions/NV/NV_vdpau_interop2.txt',
diff --git a/xml/gl.xml b/xml/gl.xml
index b8b36ba..5e032d5 100644
--- a/xml/gl.xml
+++ b/xml/gl.xml
@@ -2301,7 +2301,6 @@
<enum name="GL_DEPTH_COMPONENT32_SGIX"/>
<enum name="GL_DEPTH_COMPONENT32F"/>
<enum name="GL_DEPTH_COMPONENT32F_NV"/>
- <enum name="GL_DEPTH_COMPONENT32F_NV"/>
<!-- Base internal format: GL_DEPTH_STENCIL -->
<enum name="GL_DEPTH_STENCIL"/>
<enum name="GL_DEPTH_STENCIL_EXT"/>
@@ -44663,6 +44662,9 @@
<command name="glGetIntegeri_vEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_multiview_tessellation_geometry_shader" supported="gl|glcore|gles2"/>
+ <extension name="GL_EXT_multiview_texture_multisample" supported="gl|glcore|gles2"/>
+ <extension name="GL_EXT_multiview_timer_query" supported="gl|glcore|gles2"/>
<extension name="GL_EXT_occlusion_query_boolean" supported="gles2">
<require>
<enum name="GL_ANY_SAMPLES_PASSED_EXT"/>
diff --git a/xml/glx.xml b/xml/glx.xml
index 6fadd17..0ce9cba 100644
--- a/xml/glx.xml
+++ b/xml/glx.xml
@@ -462,6 +462,13 @@
<unused start="0x21A9" end="0x21AF"/>
</enums>
+ <enums namespace="GLX" start="0x3100" end="0x3103" vendor="EXT" comment="Shared with EGL_IMG_context_priority">
+ <enum value="0x3100" name="GLX_CONTEXT_PRIORITY_LEVEL_EXT"/>
+ <enum value="0x3101" name="GLX_CONTEXT_PRIORITY_HIGH_EXT"/>
+ <enum value="0x3102" name="GLX_CONTEXT_PRIORITY_MEDIUM_EXT"/>
+ <enum value="0x3103" name="GLX_CONTEXT_PRIORITY_LOW_EXT"/>
+ </enums>
+
<enums namespace="GLX" start="0x31B3" end="0x31B3" vendor="ARB" comment="Shared with WGL.">
<enum value="0x31B3" name="GLX_CONTEXT_OPENGL_NO_ERROR_ARB"/>
</enums>
@@ -1734,6 +1741,14 @@
<enum name="GLX_BACK_BUFFER_AGE_EXT"/>
</require>
</extension>
+ <extension name="GLX_EXT_context_priority" supported="glx">
+ <require>
+ <enum name="GLX_CONTEXT_PRIORITY_LEVEL_EXT"/>
+ <enum name="GLX_CONTEXT_PRIORITY_HIGH_EXT"/>
+ <enum name="GLX_CONTEXT_PRIORITY_MEDIUM_EXT"/>
+ <enum name="GLX_CONTEXT_PRIORITY_LOW_EXT"/>
+ </require>
+ </extension>
<extension name="GLX_EXT_create_context_es_profile" supported="glx">
<require>
<enum name="GLX_CONTEXT_ES_PROFILE_BIT_EXT"/>