Merge pull request #428 from SunSerega/name-obj-types
[xml] Definition of object namespaces
diff --git a/api/GL/glcorearb.h b/api/GL/glcorearb.h
index 63235ef..d625420 100755
--- a/api/GL/glcorearb.h
+++ b/api/GL/glcorearb.h
@@ -1876,7 +1876,7 @@
#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
#define GL_UNDEFINED_VERTEX 0x8260
typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
-typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
@@ -1965,7 +1965,7 @@
typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glReleaseShaderCompiler (void);
-GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
GLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f);
GLAPI void APIENTRY glClearDepthf (GLfloat d);
diff --git a/api/GL/glext.h b/api/GL/glext.h
index 3593419..20b7ae2 100644
--- a/api/GL/glext.h
+++ b/api/GL/glext.h
@@ -32,7 +32,7 @@
#define GLAPI extern
#endif
-#define GL_GLEXT_VERSION 20200814
+#define GL_GLEXT_VERSION 20200929
#include <KHR/khrplatform.h>
@@ -1824,7 +1824,7 @@
#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F
#define GL_UNDEFINED_VERTEX 0x8260
typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
-typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
@@ -1913,7 +1913,7 @@
typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data);
#ifdef GL_GLEXT_PROTOTYPES
GLAPI void APIENTRY glReleaseShaderCompiler (void);
-GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
GLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f);
GLAPI void APIENTRY glClearDepthf (GLfloat d);
@@ -2562,6 +2562,18 @@
#define GL_LOSE_CONTEXT_ON_RESET 0x8252
#define GL_NO_RESET_NOTIFICATION 0x8261
#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
+#define GL_COLOR_TABLE 0x80D0
+#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
+#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
+#define GL_PROXY_COLOR_TABLE 0x80D3
+#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
+#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
+#define GL_CONVOLUTION_1D 0x8010
+#define GL_CONVOLUTION_2D 0x8011
+#define GL_SEPARABLE_2D 0x8012
+#define GL_HISTOGRAM 0x8024
+#define GL_PROXY_HISTOGRAM 0x8025
+#define GL_MINMAX 0x802E
#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
typedef void (APIENTRYP PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth);
@@ -3451,9 +3463,6 @@
#ifndef GL_ARB_imaging
#define GL_ARB_imaging 1
-#define GL_CONVOLUTION_1D 0x8010
-#define GL_CONVOLUTION_2D 0x8011
-#define GL_SEPARABLE_2D 0x8012
#define GL_CONVOLUTION_BORDER_MODE 0x8013
#define GL_CONVOLUTION_FILTER_SCALE 0x8014
#define GL_CONVOLUTION_FILTER_BIAS 0x8015
@@ -3471,8 +3480,6 @@
#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
-#define GL_HISTOGRAM 0x8024
-#define GL_PROXY_HISTOGRAM 0x8025
#define GL_HISTOGRAM_WIDTH 0x8026
#define GL_HISTOGRAM_FORMAT 0x8027
#define GL_HISTOGRAM_RED_SIZE 0x8028
@@ -3481,7 +3488,6 @@
#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
#define GL_HISTOGRAM_SINK 0x802D
-#define GL_MINMAX 0x802E
#define GL_MINMAX_FORMAT 0x802F
#define GL_MINMAX_SINK 0x8030
#define GL_TABLE_TOO_LARGE 0x8031
@@ -3496,12 +3502,6 @@
#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
-#define GL_COLOR_TABLE 0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
-#define GL_PROXY_COLOR_TABLE 0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
#define GL_COLOR_TABLE_SCALE 0x80D6
#define GL_COLOR_TABLE_BIAS 0x80D7
#define GL_COLOR_TABLE_FORMAT 0x80D8
diff --git a/api/GL/glxext.h b/api/GL/glxext.h
index e0dbe7f..e397eed 100755
--- a/api/GL/glxext.h
+++ b/api/GL/glxext.h
@@ -15,7 +15,7 @@
** https://github.com/KhronosGroup/OpenGL-Registry
*/
-#define GLX_GLXEXT_VERSION 20200813
+#define GLX_GLXEXT_VERSION 20200929
/* Generated C header for:
* API: glx
@@ -290,6 +290,10 @@
#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2
#endif /* GLX_EXT_framebuffer_sRGB */
+#ifndef GLX_EXT_get_drawable_type
+#define GLX_EXT_get_drawable_type 1
+#endif /* GLX_EXT_get_drawable_type */
+
#ifndef GLX_EXT_import_context
#define GLX_EXT_import_context 1
#define GLX_SHARE_CONTEXT_EXT 0x800A
diff --git a/api/GLES2/gl2.h b/api/GLES2/gl2.h
index 3b1925a..fcb8084 100644
--- a/api/GLES2/gl2.h
+++ b/api/GLES2/gl2.h
@@ -25,7 +25,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20200814 */
+/* Generated on date 20200929 */
/* Generated C header for:
* API: gles2
@@ -458,7 +458,7 @@
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
@@ -601,7 +601,7 @@
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
-GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
diff --git a/api/GLES3/gl3.h b/api/GLES3/gl3.h
index 8530c3e..86728ff 100644
--- a/api/GLES3/gl3.h
+++ b/api/GLES3/gl3.h
@@ -25,7 +25,7 @@
#define GL_GLES_PROTOTYPES 1
#endif
-/* Generated on date 20200814 */
+/* Generated on date 20200929 */
/* Generated C header for:
* API: gles2
@@ -458,7 +458,7 @@
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
@@ -601,7 +601,7 @@
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
-GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
+GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
diff --git a/extensions/EXT/GLX_EXT_get_drawable_type.txt b/extensions/EXT/GLX_EXT_get_drawable_type.txt
new file mode 100644
index 0000000..a46c5f4
--- /dev/null
+++ b/extensions/EXT/GLX_EXT_get_drawable_type.txt
@@ -0,0 +1,93 @@
+Name
+
+ EXT_get_drawable_type
+
+Name Strings
+
+ GLX_EXT_get_drawable_type
+
+Contributors
+
+ Adam Jackson, Red Hat
+ Kyle Brenneman, NVIDIA
+
+Contacts
+
+ Adam Jackson <ajax@redhat.com>
+
+Status
+
+ Complete.
+
+Version
+
+ Version 3, 24 September 2020
+
+Number
+
+ OpenGL Extension #552
+
+Dependencies
+
+ GLX 1.3 or higher is required.
+
+ This extension is written against the text of the GLX 1.4 specification.
+
+Overview
+
+ This extension adds to the set of drawable attributes that are sent in
+ a GLXGetDrawableAttributes request, and that can be queried with
+ glXQueryDrawable. While this is primarily a convenience for the client
+ library implementation, it may also be useful for applications.
+
+New Types
+
+ None
+
+New Procedures and Functions
+
+ None
+
+New Tokens
+
+ New attributes accepted for the <attribute> argument of
+ glXQueryDrawable:
+
+ GLX_DRAWABLE_TYPE 0x8010
+
+Additions to the GLX 1.4 specification
+
+ In Section 3.3.6 "Querying Attributes", add GLX_DRAWABLE_TYPE to the
+ list of legal values for the <attribute> parameter. The returned value
+ must have exactly one of GLX_{WINDOW,PIXMAP,PBUFFER}_BIT set.
+
+Issues
+
+ 1) Why add GLX_DRAWABLE_TYPE?
+
+ An X client may get the XID of a GLXDrawable from another process. When
+ this happens, the client library needs to import the drawable's state as
+ if the client had created it itself. Since different drawable types may
+ require different handling, this attribute allows the client library to
+ distinguish between windows, pixmaps, and pbuffers.
+
+ 2) Why use GLX_*_BIT for the GLX_DRAWABLE_TYPE value?
+
+ GLX_WINDOW and GLX_PBUFFER exist, but GLX_PIXMAP does not.
+
+ 3) Are there other attributes we should add?
+
+ RESOLVED. No, there aren't any other drawable (not fbconfig) attributes in
+ core GLX that aren't currently exposed, as far as we can tell. Drawable
+ attributes added by GLX extensions can be added in separate extensions.
+
+Revision History
+
+ Version 3, 24 September 2020
+ - Resolve issues, assign extension number, and mark as complete.
+
+ Version 2, 9 September 2020
+ - Change name to GLX_EXT_get_drawable_type.
+
+ Version 1, 24 August 2020
+ - Initial draft.
diff --git a/extensions/EXT/GLX_EXT_no_config_context.txt b/extensions/EXT/GLX_EXT_no_config_context.txt
index c776fe2..fbf354b 100644
--- a/extensions/EXT/GLX_EXT_no_config_context.txt
+++ b/extensions/EXT/GLX_EXT_no_config_context.txt
@@ -40,7 +40,11 @@
Version
- Version 6, 2017/12/05
+ Version 8, 2020/10/05
+
+Number
+
+ OpenGL Extension #553
Dependencies
@@ -260,6 +264,9 @@
Revision History
+ Version 8, 2020/10/05 (Adam Jackson)
+ - Add extension number
+
Version 7, 2017/12/05 (Adam Jackson)
- Mark complete.
diff --git a/extensions/glext.php b/extensions/glext.php
index e76db85..89618c1 100644
--- a/extensions/glext.php
+++ b/extensions/glext.php
@@ -1041,4 +1041,8 @@
</li>
<li value=551><a href="extensions/NV/NV_timeline_semaphore.txt">GL_NV_timeline_semaphore</a>
</li>
+<li value=552><a href="extensions/EXT/GLX_EXT_get_drawable_type.txt">GLX_EXT_get_drawable_type</a>
+</li>
+<li value=553><a href="extensions/EXT/GLX_EXT_no_config_context.txt">GLX_EXT_no_config_context</a>
+</li>
</ol>
diff --git a/extensions/registry.py b/extensions/registry.py
index 8f3fa4e..41f8fda 100644
--- a/extensions/registry.py
+++ b/extensions/registry.py
@@ -1896,6 +1896,12 @@
'supporters' : { 'NVIDIA' },
'url' : 'extensions/EXT/EXT_geometry_shader4.txt',
},
+ 'GLX_EXT_get_drawable_type' : {
+ 'number' : 552,
+ 'flags' : { 'public' },
+ 'supporters' : { 'MESA' },
+ 'url' : 'extensions/EXT/GLX_EXT_get_drawable_type.txt',
+ },
'GLX_EXT_stereo_tree' : {
'number' : 452,
'flags' : { 'public' },
@@ -2038,6 +2044,11 @@
'supporters' : { 'NVIDIA' },
'url' : 'extensions/EXT/EXT_multiview_timer_query.txt',
},
+ 'GLX_EXT_no_config_context' : {
+ 'number' : 553,
+ 'flags' : { 'public' },
+ 'url' : 'extensions/EXT/GLX_EXT_no_config_context.txt',
+ },
'GLU_EXT_nurbs_tessellator' : {
'number' : 100,
'flags' : { 'public' },
diff --git a/xml/glx.xml b/xml/glx.xml
index 797d51d..698b7af 100644
--- a/xml/glx.xml
+++ b/xml/glx.xml
@@ -1761,6 +1761,11 @@
<enum name="GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT"/>
</require>
</extension>
+ <extension name="GLX_EXT_get_drawable_type" supported="glx">
+ <require>
+ <enum name="GLX_DRAWABLE_TYPE"/>
+ </require>
+ </extension>
<extension name="GLX_EXT_import_context" supported="glx">
<require>
<enum name="GLX_SHARE_CONTEXT_EXT"/>