Merge pull request #278 from hfink-daqri/gl-mesa-egl-sync
Add GL_MESA_EGL_sync extension
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 ea970a0..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 20190822
+#define GLX_GLXEXT_VERSION 20190911
/* Generated C header for:
* API: glx
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/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/glext.php b/extensions/glext.php
index 9baab5d..8848c66 100644
--- a/extensions/glext.php
+++ b/extensions/glext.php
@@ -1029,4 +1029,6 @@
</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 acd3d7f..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,
diff --git a/xml/gl.xml b/xml/gl.xml
index 0a7b86b..8a325e3 100644
--- a/xml/gl.xml
+++ b/xml/gl.xml
@@ -44169,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"/>