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"/>