Merge pull request #295 from gurchetansingh/EXT_EGL_image_storage
Clarify EGL_EXT_image_dma_buf_import / EXT_EGL_image_storage interact…
diff --git a/api/GL/glcorearb.h b/api/GL/glcorearb.h
index e568510..e8515a1 100755
--- a/api/GL/glcorearb.h
+++ b/api/GL/glcorearb.h
@@ -4026,6 +4026,10 @@
#endif
#endif /* GL_EXT_EGL_image_storage */
+#ifndef GL_EXT_EGL_sync
+#define GL_EXT_EGL_sync 1
+#endif /* GL_EXT_EGL_sync */
+
#ifndef GL_EXT_debug_label
#define GL_EXT_debug_label 1
#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
diff --git a/api/GL/glext.h b/api/GL/glext.h
index 8aa0157..8574817 100644
--- a/api/GL/glext.h
+++ b/api/GL/glext.h
@@ -51,7 +51,7 @@
#define GLAPI extern
#endif
-#define GL_GLEXT_VERSION 20190805
+#define GL_GLEXT_VERSION 20190911
#include <KHR/khrplatform.h>
@@ -6481,6 +6481,10 @@
#endif
#endif /* GL_EXT_EGL_image_storage */
+#ifndef GL_EXT_EGL_sync
+#define GL_EXT_EGL_sync 1
+#endif /* GL_EXT_EGL_sync */
+
#ifndef GL_EXT_abgr
#define GL_EXT_abgr 1
#define GL_ABGR_EXT 0x8000
diff --git a/api/GL/glxext.h b/api/GL/glxext.h
index a6f1c0c..662c265 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 20190728
+#define GLX_GLXEXT_VERSION 20190911
/* Generated C header for:
* API: glx
@@ -555,6 +555,15 @@
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
#endif /* GLX_NV_float_buffer */
+#ifndef GLX_NV_multigpu_context
+#define GLX_NV_multigpu_context 1
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_NV 0x20AA
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
+#define GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
+#endif /* GLX_NV_multigpu_context */
+
#ifndef GLX_NV_multisample_coverage
#define GLX_NV_multisample_coverage 1
#define GLX_COVERAGE_SAMPLES_NV 100001
diff --git a/api/GLES/gl.h b/api/GLES/gl.h
index ea586eb..e59ff13 100644
--- a/api/GLES/gl.h
+++ b/api/GLES/gl.h
@@ -36,7 +36,7 @@
#include <GLES/glplatform.h>
-/* Generated on date 20190805 */
+/* Generated on date 20190911 */
/* Generated C header for:
* API: gles1
diff --git a/api/GLES/glext.h b/api/GLES/glext.h
index be8a569..49df24e 100644
--- a/api/GLES/glext.h
+++ b/api/GLES/glext.h
@@ -38,7 +38,7 @@
#define GL_APIENTRYP GL_APIENTRY*
#endif
-/* Generated on date 20190805 */
+/* Generated on date 20190911 */
/* Generated C header for:
* API: gles1
diff --git a/api/GLES2/gl2.h b/api/GLES2/gl2.h
index f1e3dc6..e43cd5d 100644
--- a/api/GLES2/gl2.h
+++ b/api/GLES2/gl2.h
@@ -44,7 +44,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20190805 */
+/* Generated on date 20190911 */
/* Generated C header for:
* API: gles2
diff --git a/api/GLES2/gl2ext.h b/api/GLES2/gl2ext.h
index cab1c45..141e4d6 100644
--- a/api/GLES2/gl2ext.h
+++ b/api/GLES2/gl2ext.h
@@ -38,7 +38,7 @@
#define GL_APIENTRYP GL_APIENTRY*
#endif
-/* Generated on date 20190805 */
+/* Generated on date 20190911 */
/* Generated C header for:
* API: gles2
diff --git a/api/GLES3/gl3.h b/api/GLES3/gl3.h
index 838286c..822f4c6 100644
--- a/api/GLES3/gl3.h
+++ b/api/GLES3/gl3.h
@@ -44,7 +44,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20190805 */
+/* Generated on date 20190911 */
/* Generated C header for:
* API: gles2
diff --git a/extensions/ARB/ARB_draw_elements_base_vertex.txt b/extensions/ARB/ARB_draw_elements_base_vertex.txt
index f140691..245f050 100644
--- a/extensions/ARB/ARB_draw_elements_base_vertex.txt
+++ b/extensions/ARB/ARB_draw_elements_base_vertex.txt
@@ -40,8 +40,8 @@
Version
- Last Modified Date: August 2, 2009
- Version: 3
+ Last Modified Date: August 22, 2019
+ Version: 4
Number
@@ -120,16 +120,16 @@
New Procedures and Functions
void DrawElementsBaseVertex(enum mode, sizei count, enum type,
- void *indices, int basevertex);
+ const void *indices, int basevertex);
void DrawRangeElementsBaseVertex(enum mode, uint start, uint end,
- sizei count, enum type, void *indices, int basevertex);
+ sizei count, enum type, const void *indices, int basevertex);
void DrawElementsInstancedBaseVertex(enum mode, sizei count,
- enum type, const void *indices, sizei primcount, int basevertex);
+ enum type, const void *indices, sizei instancecount, int basevertex);
- void MultiDrawElementsBaseVertex(enum mode, sizei *count, enum type,
- void **indices, sizei primcount, int *basevertex)
+ void MultiDrawElementsBaseVertex(enum mode, const sizei *count, enum type,
+ const void *const *indices, sizei drawcount, const int *basevertex)
New Tokens
@@ -147,13 +147,13 @@
"The commands
void DrawElementsBaseVertex(enum mode, sizei count, enum type,
- void *indices, int basevertex);
+ const void *indices, int basevertex);
void DrawRangeElementsBaseVertex(enum mode, uint start, uint end,
- sizei count, enum type, void *indices, int basevertex);
+ sizei count, enum type, const void *indices, int basevertex);
void DrawElementsInstancedBaseVertex(enum mode, sizei count,
- enum type, const void *indices, sizei primcount, int basevertex);
+ enum type, const void *indices, sizei instancecount, int basevertex);
are equivalent to the commands with the same base name (without the
"BaseVertex" suffix) except that the <i>th element transferred by
@@ -171,14 +171,14 @@
The command
- void MultiDrawElementsBaseVertex(enum mode, sizei *count,
- enum type, void **indices, sizei primcount, int *basevertex);
+ void MultiDrawElementsBaseVertex(enum mode, const sizei *count,
+ enum type, const void *const *indices, sizei drawcount, const int *basevertex);
behaves identically to DrawElementsBaseVertex except that
- <primcount> separate lists of elements are specified instead. It has
+ <drawcount> separate lists of elements are specified instead. It has
the same effect as:
- for (i = 0; i < primcount; i++) {
+ for (i = 0; i < drawcount; i++) {
if (count[i] > 0)
DrawElementsBaseVertex(mode, count[i], type, indices[i],
basevertex[i]);
@@ -468,3 +468,4 @@
2 7/21/09 dgkoch resync language with 20090630 3.2 spec
3 8/02/09 Jon Leech Reformat to 80 columns and assign ARB
extension number.
+ 4 8/22/19 N Stewart Parameter naming and const aligned to 4.6 core spec.
diff --git a/extensions/EXT/EXT_EGL_sync.txt b/extensions/EXT/EXT_EGL_sync.txt
new file mode 100644
index 0000000..3f2c70b
--- /dev/null
+++ b/extensions/EXT/EXT_EGL_sync.txt
@@ -0,0 +1,85 @@
+Name
+
+ EXT_EGL_sync
+
+Name Strings
+
+ GL_EXT_EGL_sync
+
+Contact
+
+ Heinrich Fink, DAQRI (heinrich.fink 'at' daqri.com)
+
+Contributors
+
+ Heinrich Fink, DAQRI
+ Daniel Stone, Collabora
+ Marek Olšák, AMD
+
+Status
+
+ Proposal
+
+Version
+
+ Version 4, Sept 11, 2019
+
+Number
+
+ OpenGL Extension #546
+
+Dependencies
+
+ EGL_KHR_fence_sync is required.
+
+ This extension is written against the EGL 1.2 Specification, as modified by
+ the EGL_KHR_fence_sync extension.
+
+Overview
+
+ This extension extends EGL_KHR_fence_sync with client API support for
+ OpenGL (compatibility or core profiles) as an EXT extension.
+
+ The "GL_EXT_EGL_sync" string indicates that a fence sync object can be
+ created in association with a fence command placed in the command stream
+ of a bound OpenGL context.
+
+IP Status
+
+ None
+
+New Procedures and Functions
+
+ None
+
+New Tokens
+
+ None
+
+Additions to Chapter 3 of the EGL 1.2 Specification (EGL Functions and Errors)
+
+ Modify Section 3.8.1 Sync Objects, page 43
+
+ After "Each client API which supports..." add a new paragraph:
+
+ If the GL_EXT_EGL_sync extension is supported by OpenGL (compatibility or
+ core profile), a fence sync object may be created when the currently bound API
+ is OpenGL.
+
+Errors
+
+ None
+
+Revision History
+
+ Version 4, Sept 11th, 2019
+ Change scope from MESA to EXT on request by James Jones (NVIDIA)
+
+ Version 3, Sept 6th, 2019
+ Update extension no
+
+ Version 2, July 29th, 2019
+ Update extension no in draft
+
+ Version 1, June 5th, 2019
+ Initial draft (Heinrich Fink)
diff --git a/extensions/NV/GLX_NV_multigpu_context.txt b/extensions/NV/GLX_NV_multigpu_context.txt
new file mode 100644
index 0000000..9830311
--- /dev/null
+++ b/extensions/NV/GLX_NV_multigpu_context.txt
@@ -0,0 +1,142 @@
+Name
+
+ NV_multigpu_context
+
+Name Strings
+
+ GLX_NV_multigpu_context
+
+Contact
+
+ Ben Quest (bquest 'at' nvidia.com)
+
+Contributors
+
+ Ben Quest, NVIDIA
+ Joshua Schnarr, NVIDIA
+ Ralf Biermann, NVIDIA
+ Ingo Esser, NVIDIA
+ Robert Menzel, NVIDIA
+ James Jones, NVIDIA
+
+Notice
+
+ Copyright (c) 2019 NVIDIA
+
+Status
+
+ Complete.
+
+Version
+
+ Last Modified Date: 2019-05-17
+ Author Revision: 1
+
+Number
+
+ OpenGL Extension #545
+
+Dependencies
+
+ GLX_NV_multigpu_context is written against the GLX 1.4 and
+ GLX_ARB_create_context specifications. Both are required.
+
+ This extension interacts with NV_gpu_multicast.
+
+Overview
+
+ This extension allows the creation of an OpenGL context in a multi-GPU
+ environment with a specified multi-GPU strategy (known as SLI mode) which
+ takes precedence over process-wide multi-GPU mode settings.
+
+ The multi-GPU mode denotes vendor specific techniques to allow distributed
+ rendering on multiple GPUs, further called AFR (alternate frame rendering)
+ and Multicast (as defined in NV_gpu_multicast).
+
+ OpenGL supports multiple contexts. The semantics of switching contexts
+ is generally left to window system binding APIs such as WGL, GLX and EGL.
+ The extension GLX_NV_multigpu_context allows to specify a preferred
+ multi-GPU rendering mode per context, thus context switching can also
+ switch the current multi-GPU rendering mode.
+
+ In addition to the modes described above, this extension allows creating
+ contexts in single mode to force all rendering to be done on a single GPU,
+ and multi-display multicast mode to allow multicast rendering on a
+ multi-display configuration where displays attached to multiple GPUs are
+ linked together in a desktop configuration spanning multiple GPUs.
+
+ The implementation is platform dependent and the actual multi-GPU rendering
+ mode of the created context may vary on different hardware and operation
+ system platforms.
+
+New Procedures and Functions
+
+ None
+
+New Tokens (GLX)
+
+ Accepted as an attribute name in the <*attrib_list> argument to
+ glXCreateContextAttribsARB:
+
+ GLX_CONTEXT_MULTIGPU_ATTRIB_NV 0x20AA
+
+ Accepted as an attribute value for GLX_CONTEXT_MULTIGPU_ATTRIB_NV in
+ the <*attrib_list> argument to glXCreateContextAttribsARB:
+
+ GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV 0x20AB
+ GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV 0x20AC
+ GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV 0x20AD
+ GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV 0x20AE
+
+Additions to the GLX 1.4 Specification
+
+ This extension modifies language specified in the GLX_ARB_create_context
+ extension.
+
+ Add a new paragraph to the description of glXCreateContextAttribsARB:
+
+ "The attribute name GLX_CONTEXT_MULTIGPU_ATTRIB_NV indicates the
+ preferred multi-GPU rendering mode for the OpenGL context.
+ This specified mode precedes other selected configuration settings."
+
+ Add a new context creation error to glXCreateContextAttribsARB:
+
+ "If attribute GLX_CONTEXT_MULTIGPU_ATTRIB_NV does not describe a valid and
+ supported SLI rendering mode, BadValue is generated."
+
+ Append a new paragraph to the end of section 3.5 "Rendering Contexts":
+
+ "When multiple contexts created with a multigpu context attribute are being
+ used, glXMakeCurrent and glXMakeContextCurrent will return FALSE if the
+ GLXDrawable is already current with a context using a different multigpu
+ attribute."
+
+GLX Errors
+
+ BadValue is generated if GLX_CONTEXT_MULTIGPU_ATTRIB_NV does not describe a
+ valid and supported SLI rendering mode.
+
+ GLXBadContextState is generated if glXMakeCurrent is called with a context
+ created with a different multigpu attribute than the context previously
+ current to the drawable.
+
+GLX Protocol
+
+ None
+
+New State
+
+ None
+
+Issues
+
+ All non-window-system dependent issues described in the
+ WGL_NV_multigpu_context extension specification apply equally to
+ GLX_NV_multigpu_context.
+
+Revision History
+
+ Rev. Date Author Changes
+ ---- ---------- -------- ---------------------------------------------
+ 1 2019-05-17 bquest Fork from WGL_NV_multigpu_context
+
diff --git a/extensions/NV/NV_compute_shader_derivatives.txt b/extensions/NV/NV_compute_shader_derivatives.txt
index 4bc891b..bdd9f6c 100644
--- a/extensions/NV/NV_compute_shader_derivatives.txt
+++ b/extensions/NV/NV_compute_shader_derivatives.txt
@@ -22,8 +22,8 @@
Version
- Last Modified: November 9, 2018
- Revision: 2
+ Last Modified: September 4, 2019
+ Revision: 3
Number
@@ -37,6 +37,8 @@
OpenGL 4.5 or OpenGL ES 3.2 is required.
+ This extension interacts with ARB_compute_variable_group_size.
+
This extension requires support for the OpenGL Shading Language (GLSL)
extension "NV_compute_shader_derivatives", which can be found at the
Khronos Group Github site here:
@@ -88,12 +90,62 @@
None
+Dependencies on ARB_compute_variable_group_size
+
+ If ARB_compute_variable_group_size is supported, the GLSL compiler/linker is
+ unable to enforce the following restrictions:
+
+ * Compute shaders using the "derivative_group_quadsNV" mode must have a
+ local workgroup size whose width and height are both multiples of two.
+
+ * Compute shaders using the "derivative_group_linearNV" mode must have a
+ local workgroup size whose total number of invocations is a multiple of four.
+
+ Instead, we need to enforce this restriction at run time.
+
+ Add the following to the list of errors under the heading of "insert at the
+ end of the first error block, shared between DispatchCompute and
+ DispatchComputeGroupSizeARB, p. 586" in ARB_compute_variable_group_size:
+
+ * An INVALID_VALUE error is generated by DispatchComputeGroupSizeARB if the
+ active program for the compute shader stage has a compute shader using the
+ "derivative_group_quadsNV" layout qualifier and <group_size_x> or
+ <group_size_y> is not a multiple of two.
+
+ * An INVALID_VALUE error is generated by DispatchComputeGroupSizeARB if the
+ active program for the compute shader stage has a compute shader using the
+ "derivative_group_linearNV" layout qualifier and the product of
+ <group_size_x>, <group_size_y>, and <group_size_z> is not a multiple of
+ four.
+
+ Note that as of September 2019, this issue does not apply to SPIR-V compute
+ shaders because SPIR-V does not provide a mechanism to specify variable
+ local group sizes. If this changes in the future, the INVALID_VALUE error
+ above would apply both to GLSL and SPIR-V compute shaders.
+
+
Issues
- None, but please refer to issues in the GLSL extension specification.
+ (1) How does this extension interact with ARB_compute_variable_group_size?
+
+ RESOLVED: For compute shaders with fixed group size, the GLSL
+ specification calls for a compile- or link-time error if the local group
+ size is inconsistent with the derivative mode specified using the
+ "derivative_group_quadsNV" or "derivative_group_linearNV" layout
+ qualifiers. However, this sort of error can not be generated if
+ "local_size_variable" is also specified because the local group size is
+ not known until DispatchComputeGroupSizeARB is called. To deal with this,
+ we specify an INVALID_VALUE error if DispatchComputeGroupSizeARB is called
+ with a bad local group size.
Revision History
+ Revision 3 (pbrown), 2019/09/04
+ - Add an interaction with ARB_compute_variable_group_size, specifying
+ that INVALID_VALUE is generated by DispatchComputeGroupSizeARB if the
+ derivative mode is inconsistent with the local group size specified in the
+ dispatch command.
+
Revision 2 (mchock)
- Added OpenGL ES support.
diff --git a/extensions/NV/NV_mesh_shader.txt b/extensions/NV/NV_mesh_shader.txt
index 7914378..5acf1cb 100644
--- a/extensions/NV/NV_mesh_shader.txt
+++ b/extensions/NV/NV_mesh_shader.txt
@@ -23,8 +23,8 @@
Version
- Last Modified Date: February 7, 2019
- NVIDIA Revision: 4
+ Last Modified Date: September 5, 2019
+ NVIDIA Revision: 5
Number
@@ -814,7 +814,7 @@
+------------------------------------------+-----------+---------------+---------------------+-----------------------------------------------------------------------+--------+
| Get Value | Type | Get Command | Minimum Value | Description | Sec. |
+------------------------------------------+-----------+---------------+---------------------+-----------------------------------------------------------------------+--------+
- | MAX_DRAW_MESH_TASKS_COUNT_NV | Z+ | GetIntegerv | 2^32 - 1 | Maximum number of work groups that may be drawn by a single | X.6 |
+ | MAX_DRAW_MESH_TASKS_COUNT_NV | Z+ | GetIntegerv | 2^16 - 1 | Maximum number of work groups that may be drawn by a single | X.6 |
| | | | | draw mesh tasks command | |
| MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV | Z+ | GetIntegerv | - | Per-vertex output allocation granularity for mesh shaders | X.3 |
| MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV | Z+ | GetIntegerv | - | Per-primitive output allocation granularity for mesh shaders | X.3 |
@@ -1098,6 +1098,9 @@
Revision History
+ Revision 5 (pdaniell)
+ - Fix minimum implementation limit of MAX_DRAW_MESH_TASKS_COUNT_NV.
+
Revision 4 (pknowles)
- Add ES interactions.
diff --git a/extensions/glext.php b/extensions/glext.php
index c0204bd..8848c66 100644
--- a/extensions/glext.php
+++ b/extensions/glext.php
@@ -1027,4 +1027,8 @@
</li>
<li value=544><a href="extensions/NV/NV_shader_subgroup_partitioned.txt">GL_NV_shader_subgroup_partitioned</a>
</li>
+<li value=545><a href="extensions/NV/GLX_NV_multigpu_context.txt">GLX_NV_multigpu_context</a>
+</li>
+<li value=546><a href="extensions/EXT/EXT_EGL_sync.txt">GL_EXT_EGL_sync</a>
+</li>
</ol>
diff --git a/extensions/registry.py b/extensions/registry.py
index 1c176f4..966b3a6 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -1801,6 +1801,12 @@
'flags' : { 'public' },
'url' : 'extensions/EXT/EXT_EGL_image_storage.txt',
},
+ 'GL_EXT_EGL_sync' : {
+ 'number' : 546,
+ 'flags' : { 'public' },
+ 'supporters' : { 'MESA' },
+ 'url' : 'extensions/EXT/EXT_EGL_sync.txt',
+ },
'GL_EXT_memory_object' : {
'number' : 503,
'esnumber' : 280,
@@ -5544,4 +5550,10 @@
'supporters' : { 'NVIDIA' },
'url' : 'extensions/NV/WGL_NV_multigpu_context.txt',
},
+ 'GLX_NV_multigpu_context' : {
+ 'number' : 545,
+ 'flags' : { 'public' },
+ 'supporters' : { 'NVIDIA' },
+ 'url' : 'extensions/NV/GLX_NV_multigpu_context.txt',
+ },
}
diff --git a/xml/gl.xml b/xml/gl.xml
index 4c6b317..3a2010f 100644
--- a/xml/gl.xml
+++ b/xml/gl.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<comment>
-Copyright (c) 2013-2018 The Khronos Group Inc.
+Copyright (c) 2013-2019 The Khronos Group Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -79,7 +79,18 @@
<type>typedef void (<apientry/> *<name>GLVULKANPROCNV</name>)(void);</type>
</types>
- <!-- SECTION: GL parameter class type definitions. -->
+ <!-- SECTION: GL parameter class type definitions.
+ The groups are intended to contain all the possible legal values
+ for corresponding function parameters, but it is likely that many
+ of the groups are out of date relative to current OpenGL and OpenGL
+ ES specifications, and the many extensions to those specifications.
+ As such, they may not be a reliable source for enumeration info.
+
+ We welcome assistance from the community in achieving and
+ maintaining the completeness of the enum groups. Khronos does not
+ use the enum group information, and the OpenGL Working Group does
+ not have internal resources to bring it up to date.
+ -->
<groups>
<group name="EvalMapsModeNV">
@@ -2585,6 +2596,20 @@
<enum name="GL_DEPTH24_STENCIL8_OES"/>
<enum name="GL_DEPTH32F_STENCIL8"/>
<enum name="GL_DEPTH32F_STENCIL8_NV"/>
+ <!-- Base internal format: GL_STENCIL_INDEX -->
+ <enum name="GL_STENCIL_INDEX"/>
+ <enum name="GL_STENCIL_INDEX_OES"/>
+ <enum name="GL_STENCIL_INDEX1"/>
+ <enum name="GL_STENCIL_INDEX1_OES"/>
+ <enum name="GL_STENCIL_INDEX1_EXT"/>
+ <enum name="GL_STENCIL_INDEX4"/>
+ <enum name="GL_STENCIL_INDEX4_OES"/>
+ <enum name="GL_STENCIL_INDEX4_EXT"/>
+ <enum name="GL_STENCIL_INDEX8"/>
+ <enum name="GL_STENCIL_INDEX8_OES"/>
+ <enum name="GL_STENCIL_INDEX8_EXT"/>
+ <enum name="GL_STENCIL_INDEX16"/>
+ <enum name="GL_STENCIL_INDEX16_EXT"/>
<!-- Compressed base internal formats -->
<enum name="GL_COMPRESSED_RED"/>
<enum name="GL_COMPRESSED_RG"/>
@@ -2620,6 +2645,83 @@
<enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT"/>
<enum name="GL_COMPRESSED_RGBA_S3TC_DXT5_EXT"/>
<enum name="GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT"/>
+ <!-- Compressed ASTC internal formats -->
+ <enum name="GL_COMPRESSED_RGBA_ASTC_3x3x3_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x3x3_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x3_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_4x4x4_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x4x4_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x4_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_5x5x5_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x5x5_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x5_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_6x6x6_OES"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x5"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x6"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x8"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x10"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x5"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x6"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x8"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x10"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x12"/>
+ <enum name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12"/>
+ <enum name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
</group>
<group name="PixelMap">
@@ -44067,6 +44169,7 @@
<command name="glEGLImageTargetTextureStorageEXT"/>
</require>
</extension>
+ <extension name="GL_EXT_EGL_sync" supported="gl|glcore"/>
<extension name="GL_EXT_YUV_target" supported="gles2">
<require>
<enum name="GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT"/>
diff --git a/xml/glx.xml b/xml/glx.xml
index 0ce9cba..4ddd2f6 100644
--- a/xml/glx.xml
+++ b/xml/glx.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<comment>
-Copyright (c) 2013-2018 The Khronos Group Inc.
+Copyright (c) 2013-2019 The Khronos Group Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -387,6 +387,11 @@
</enums>
<enums namespace="GLX" start="0x20A0" end="0x219F" vendor="NV" comment="Shared with WGL">
+ <enum value="0x20AA" name="GLX_CONTEXT_MULTIGPU_ATTRIB_NV"/>
+ <enum value="0x20AB" name="GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV"/>
+ <enum value="0x20AC" name="GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV"/>
+ <enum value="0x20AD" name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV"/>
+ <enum value="0x20AE" name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV"/>
<enum value="0x20B0" name="GLX_FLOAT_COMPONENTS_NV"/>
<enum value="0x20B1" name="GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT"/>
<enum value="0x20B2" name="GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB"/>
@@ -2198,5 +2203,14 @@
<command name="glXGetTransparentIndexSUN"/>
</require>
</extension>
+ <extension name="GLX_NV_multigpu_context" supported="glx">
+ <require>
+ <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_NV"/>
+ <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_SINGLE_NV"/>
+ <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_AFR_NV"/>
+ <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTICAST_NV"/>
+ <enum name="GLX_CONTEXT_MULTIGPU_ATTRIB_MULTI_DISPLAY_MULTICAST_NV"/>
+ </require>
+ </extension>
</extensions>
</registry>
diff --git a/xml/wgl.xml b/xml/wgl.xml
index 87e8fe2..88922eb 100644
--- a/xml/wgl.xml
+++ b/xml/wgl.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<registry>
<comment>
-Copyright (c) 2013-2018 The Khronos Group Inc.
+Copyright (c) 2013-2019 The Khronos Group Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.