]> git.lizzy.rs Git - irrlicht.git/blob - include/mt_opengl.h
Reduce IrrCompileConfig usage to files that actually need it
[irrlicht.git] / include / mt_opengl.h
1 // This code was generated by scripts/BindingGenerator.lua
2 // Do not modify it, modify and run the generator instead.
3
4 #pragma once
5
6 #include <string>
7 #include <unordered_set>
8 #include "IrrCompileConfig.h" // for IRRLICHT_API
9 #include "irrTypes.h"
10 #include "IContextManager.h"
11 #include <KHR/khrplatform.h>
12
13 #ifndef APIENTRY
14         #define APIENTRY
15 #endif
16 #ifndef APIENTRYP
17         #define APIENTRYP APIENTRY *
18 #endif
19 #ifndef GLAPI
20         #define GLAPI extern
21 #endif
22
23 class OpenGLProcedures {
24 private:
25         // ./glcorearb.h
26         typedef void GLvoid;
27         typedef unsigned int GLenum;
28         typedef khronos_float_t GLfloat;
29         typedef int GLint;
30         typedef int GLsizei;
31         typedef unsigned int GLbitfield;
32         typedef double GLdouble;
33         typedef unsigned int GLuint;
34         typedef unsigned char GLboolean;
35         typedef khronos_uint8_t GLubyte;
36         typedef khronos_float_t GLclampf;
37         typedef double GLclampd;
38         typedef khronos_ssize_t GLsizeiptr;
39         typedef khronos_intptr_t GLintptr;
40         typedef char GLchar;
41         typedef khronos_int16_t GLshort;
42         typedef khronos_int8_t GLbyte;
43         typedef khronos_uint16_t GLushort;
44         typedef khronos_uint16_t GLhalf;
45         typedef struct __GLsync *GLsync;
46         typedef khronos_uint64_t GLuint64;
47         typedef khronos_int64_t GLint64;
48         typedef khronos_uint64_t GLuint64EXT;
49         typedef void *GLeglImageOES;
50         typedef khronos_int64_t GLint64EXT;
51
52         typedef void *GLeglClientBufferEXT;
53         // The script will miss this particular typedef thinking it's a PFN,
54         // so we have to paste it in manually. It's the only such type in OpenGL.
55         typedef void (APIENTRY *GLDEBUGPROC)
56                 (GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
57
58         typedef void (APIENTRYP PFNGLCULLFACEPROC_MT) (GLenum mode);
59         typedef void (APIENTRYP PFNGLFRONTFACEPROC_MT) (GLenum mode);
60         typedef void (APIENTRYP PFNGLHINTPROC_MT) (GLenum target, GLenum mode);
61         typedef void (APIENTRYP PFNGLLINEWIDTHPROC_MT) (GLfloat width);
62         typedef void (APIENTRYP PFNGLPOINTSIZEPROC_MT) (GLfloat size);
63         typedef void (APIENTRYP PFNGLPOLYGONMODEPROC_MT) (GLenum face, GLenum mode);
64         typedef void (APIENTRYP PFNGLSCISSORPROC_MT) (GLint x, GLint y, GLsizei width, GLsizei height);
65         typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC_MT) (GLenum target, GLenum pname, GLfloat param);
66         typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC_MT) (GLenum target, GLenum pname, const GLfloat * params);
67         typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC_MT) (GLenum target, GLenum pname, GLint param);
68         typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC_MT) (GLenum target, GLenum pname, const GLint * params);
69         typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC_MT) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void * pixels);
70         typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC_MT) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
71         typedef void (APIENTRYP PFNGLDRAWBUFFERPROC_MT) (GLenum buf);
72         typedef void (APIENTRYP PFNGLCLEARPROC_MT) (GLbitfield mask);
73         typedef void (APIENTRYP PFNGLCLEARCOLORPROC_MT) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
74         typedef void (APIENTRYP PFNGLCLEARSTENCILPROC_MT) (GLint s);
75         typedef void (APIENTRYP PFNGLCLEARDEPTHPROC_MT) (GLdouble depth);
76         typedef void (APIENTRYP PFNGLSTENCILMASKPROC_MT) (GLuint mask);
77         typedef void (APIENTRYP PFNGLCOLORMASKPROC_MT) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
78         typedef void (APIENTRYP PFNGLDEPTHMASKPROC_MT) (GLboolean flag);
79         typedef void (APIENTRYP PFNGLDISABLEPROC_MT) (GLenum cap);
80         typedef void (APIENTRYP PFNGLENABLEPROC_MT) (GLenum cap);
81         typedef void (APIENTRYP PFNGLFINISHPROC_MT) ( void);
82         typedef void (APIENTRYP PFNGLFLUSHPROC_MT) ( void);
83         typedef void (APIENTRYP PFNGLBLENDFUNCPROC_MT) (GLenum sfactor, GLenum dfactor);
84         typedef void (APIENTRYP PFNGLLOGICOPPROC_MT) (GLenum opcode);
85         typedef void (APIENTRYP PFNGLSTENCILFUNCPROC_MT) (GLenum func, GLint ref, GLuint mask);
86         typedef void (APIENTRYP PFNGLSTENCILOPPROC_MT) (GLenum fail, GLenum zfail, GLenum zpass);
87         typedef void (APIENTRYP PFNGLDEPTHFUNCPROC_MT) (GLenum func);
88         typedef void (APIENTRYP PFNGLPIXELSTOREFPROC_MT) (GLenum pname, GLfloat param);
89         typedef void (APIENTRYP PFNGLPIXELSTOREIPROC_MT) (GLenum pname, GLint param);
90         typedef void (APIENTRYP PFNGLREADBUFFERPROC_MT) (GLenum src);
91         typedef void (APIENTRYP PFNGLREADPIXELSPROC_MT) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels);
92         typedef void (APIENTRYP PFNGLGETBOOLEANVPROC_MT) (GLenum pname, GLboolean * data);
93         typedef void (APIENTRYP PFNGLGETDOUBLEVPROC_MT) (GLenum pname, GLdouble * data);
94         typedef GLenum (APIENTRYP PFNGLGETERRORPROC_MT) ( void);
95         typedef void (APIENTRYP PFNGLGETFLOATVPROC_MT) (GLenum pname, GLfloat * data);
96         typedef void (APIENTRYP PFNGLGETINTEGERVPROC_MT) (GLenum pname, GLint * data);
97         typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC_MT) (GLenum name);
98         typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC_MT) (GLenum target, GLint level, GLenum format, GLenum type, void * pixels);
99         typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC_MT) (GLenum target, GLenum pname, GLfloat * params);
100         typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC_MT) (GLenum target, GLenum pname, GLint * params);
101         typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC_MT) (GLenum target, GLint level, GLenum pname, GLfloat * params);
102         typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC_MT) (GLenum target, GLint level, GLenum pname, GLint * params);
103         typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC_MT) (GLenum cap);
104         typedef void (APIENTRYP PFNGLDEPTHRANGEPROC_MT) (GLdouble n, GLdouble f);
105         typedef void (APIENTRYP PFNGLVIEWPORTPROC_MT) (GLint x, GLint y, GLsizei width, GLsizei height);
106         typedef void (APIENTRYP PFNGLDRAWARRAYSPROC_MT) (GLenum mode, GLint first, GLsizei count);
107         typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC_MT) (GLenum mode, GLsizei count, GLenum type, const void * indices);
108         typedef void (APIENTRYP PFNGLGETPOINTERVPROC_MT) (GLenum pname, void ** params);
109         typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC_MT) (GLfloat factor, GLfloat units);
110         typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC_MT) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
111         typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC_MT) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
112         typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
113         typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
114         typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
115         typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
116         typedef void (APIENTRYP PFNGLBINDTEXTUREPROC_MT) (GLenum target, GLuint texture);
117         typedef void (APIENTRYP PFNGLDELETETEXTURESPROC_MT) (GLsizei n, const GLuint * textures);
118         typedef void (APIENTRYP PFNGLGENTEXTURESPROC_MT) (GLsizei n, GLuint * textures);
119         typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC_MT) (GLuint texture);
120         typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC_MT) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices);
121         typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC_MT) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels);
122         typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
123         typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
124         typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC_MT) (GLenum texture);
125         typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC_MT) (GLfloat value, GLboolean invert);
126         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC_MT) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data);
127         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC_MT) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
128         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC_MT) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void * data);
129         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
130         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
131         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC_MT) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
132         typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC_MT) (GLenum target, GLint level, void * img);
133         typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC_MT) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
134         typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC_MT) (GLenum mode, const GLint * first, const GLsizei * count, GLsizei drawcount);
135         typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC_MT) (GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount);
136         typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC_MT) (GLenum pname, GLfloat param);
137         typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC_MT) (GLenum pname, const GLfloat * params);
138         typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC_MT) (GLenum pname, GLint param);
139         typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC_MT) (GLenum pname, const GLint * params);
140         typedef void (APIENTRYP PFNGLBLENDCOLORPROC_MT) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
141         typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC_MT) (GLenum mode);
142         typedef void (APIENTRYP PFNGLGENQUERIESPROC_MT) (GLsizei n, GLuint * ids);
143         typedef void (APIENTRYP PFNGLDELETEQUERIESPROC_MT) (GLsizei n, const GLuint * ids);
144         typedef GLboolean (APIENTRYP PFNGLISQUERYPROC_MT) (GLuint id);
145         typedef void (APIENTRYP PFNGLBEGINQUERYPROC_MT) (GLenum target, GLuint id);
146         typedef void (APIENTRYP PFNGLENDQUERYPROC_MT) (GLenum target);
147         typedef void (APIENTRYP PFNGLGETQUERYIVPROC_MT) (GLenum target, GLenum pname, GLint * params);
148         typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC_MT) (GLuint id, GLenum pname, GLint * params);
149         typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC_MT) (GLuint id, GLenum pname, GLuint * params);
150         typedef void (APIENTRYP PFNGLBINDBUFFERPROC_MT) (GLenum target, GLuint buffer);
151         typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC_MT) (GLsizei n, const GLuint * buffers);
152         typedef void (APIENTRYP PFNGLGENBUFFERSPROC_MT) (GLsizei n, GLuint * buffers);
153         typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC_MT) (GLuint buffer);
154         typedef void (APIENTRYP PFNGLBUFFERDATAPROC_MT) (GLenum target, GLsizeiptr size, const void * data, GLenum usage);
155         typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC_MT) (GLenum target, GLintptr offset, GLsizeiptr size, const void * data);
156         typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC_MT) (GLenum target, GLintptr offset, GLsizeiptr size, void * data);
157         typedef void * (APIENTRYP PFNGLMAPBUFFERPROC_MT) (GLenum target, GLenum access);
158         typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC_MT) (GLenum target);
159         typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC_MT) (GLenum target, GLenum pname, GLint * params);
160         typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC_MT) (GLenum target, GLenum pname, void ** params);
161         typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC_MT) (GLenum modeRGB, GLenum modeAlpha);
162         typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC_MT) (GLsizei n, const GLenum * bufs);
163         typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC_MT) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
164         typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC_MT) (GLenum face, GLenum func, GLint ref, GLuint mask);
165         typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC_MT) (GLenum face, GLuint mask);
166         typedef void (APIENTRYP PFNGLATTACHSHADERPROC_MT) (GLuint program, GLuint shader);
167         typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC_MT) (GLuint program, GLuint index, const GLchar * name);
168         typedef void (APIENTRYP PFNGLCOMPILESHADERPROC_MT) (GLuint shader);
169         typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC_MT) ( void);
170         typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC_MT) (GLenum type);
171         typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC_MT) (GLuint program);
172         typedef void (APIENTRYP PFNGLDELETESHADERPROC_MT) (GLuint shader);
173         typedef void (APIENTRYP PFNGLDETACHSHADERPROC_MT) (GLuint program, GLuint shader);
174         typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC_MT) (GLuint index);
175         typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC_MT) (GLuint index);
176         typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC_MT) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
177         typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC_MT) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
178         typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC_MT) (GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
179         typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC_MT) (GLuint program, const GLchar * name);
180         typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC_MT) (GLuint program, GLenum pname, GLint * params);
181         typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC_MT) (GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
182         typedef void (APIENTRYP PFNGLGETSHADERIVPROC_MT) (GLuint shader, GLenum pname, GLint * params);
183         typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC_MT) (GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
184         typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC_MT) (GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
185         typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC_MT) (GLuint program, const GLchar * name);
186         typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC_MT) (GLuint program, GLint location, GLfloat * params);
187         typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC_MT) (GLuint program, GLint location, GLint * params);
188         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC_MT) (GLuint index, GLenum pname, GLdouble * params);
189         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC_MT) (GLuint index, GLenum pname, GLfloat * params);
190         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC_MT) (GLuint index, GLenum pname, GLint * params);
191         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC_MT) (GLuint index, GLenum pname, void ** pointer);
192         typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC_MT) (GLuint program);
193         typedef GLboolean (APIENTRYP PFNGLISSHADERPROC_MT) (GLuint shader);
194         typedef void (APIENTRYP PFNGLLINKPROGRAMPROC_MT) (GLuint program);
195         typedef void (APIENTRYP PFNGLSHADERSOURCEPROC_MT) (GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
196         typedef void (APIENTRYP PFNGLUSEPROGRAMPROC_MT) (GLuint program);
197         typedef void (APIENTRYP PFNGLUNIFORM1FPROC_MT) (GLint location, GLfloat v0);
198         typedef void (APIENTRYP PFNGLUNIFORM2FPROC_MT) (GLint location, GLfloat v0, GLfloat v1);
199         typedef void (APIENTRYP PFNGLUNIFORM3FPROC_MT) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
200         typedef void (APIENTRYP PFNGLUNIFORM4FPROC_MT) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
201         typedef void (APIENTRYP PFNGLUNIFORM1IPROC_MT) (GLint location, GLint v0);
202         typedef void (APIENTRYP PFNGLUNIFORM2IPROC_MT) (GLint location, GLint v0, GLint v1);
203         typedef void (APIENTRYP PFNGLUNIFORM3IPROC_MT) (GLint location, GLint v0, GLint v1, GLint v2);
204         typedef void (APIENTRYP PFNGLUNIFORM4IPROC_MT) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
205         typedef void (APIENTRYP PFNGLUNIFORM1FVPROC_MT) (GLint location, GLsizei count, const GLfloat * value);
206         typedef void (APIENTRYP PFNGLUNIFORM2FVPROC_MT) (GLint location, GLsizei count, const GLfloat * value);
207         typedef void (APIENTRYP PFNGLUNIFORM3FVPROC_MT) (GLint location, GLsizei count, const GLfloat * value);
208         typedef void (APIENTRYP PFNGLUNIFORM4FVPROC_MT) (GLint location, GLsizei count, const GLfloat * value);
209         typedef void (APIENTRYP PFNGLUNIFORM1IVPROC_MT) (GLint location, GLsizei count, const GLint * value);
210         typedef void (APIENTRYP PFNGLUNIFORM2IVPROC_MT) (GLint location, GLsizei count, const GLint * value);
211         typedef void (APIENTRYP PFNGLUNIFORM3IVPROC_MT) (GLint location, GLsizei count, const GLint * value);
212         typedef void (APIENTRYP PFNGLUNIFORM4IVPROC_MT) (GLint location, GLsizei count, const GLint * value);
213         typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
214         typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
215         typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
216         typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC_MT) (GLuint program);
217         typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC_MT) (GLuint index, GLdouble x);
218         typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC_MT) (GLuint index, const GLdouble * v);
219         typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC_MT) (GLuint index, GLfloat x);
220         typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC_MT) (GLuint index, const GLfloat * v);
221         typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC_MT) (GLuint index, GLshort x);
222         typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC_MT) (GLuint index, const GLshort * v);
223         typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC_MT) (GLuint index, GLdouble x, GLdouble y);
224         typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC_MT) (GLuint index, const GLdouble * v);
225         typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC_MT) (GLuint index, GLfloat x, GLfloat y);
226         typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC_MT) (GLuint index, const GLfloat * v);
227         typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC_MT) (GLuint index, GLshort x, GLshort y);
228         typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC_MT) (GLuint index, const GLshort * v);
229         typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC_MT) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
230         typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC_MT) (GLuint index, const GLdouble * v);
231         typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC_MT) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
232         typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC_MT) (GLuint index, const GLfloat * v);
233         typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC_MT) (GLuint index, GLshort x, GLshort y, GLshort z);
234         typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC_MT) (GLuint index, const GLshort * v);
235         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC_MT) (GLuint index, const GLbyte * v);
236         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC_MT) (GLuint index, const GLint * v);
237         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC_MT) (GLuint index, const GLshort * v);
238         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC_MT) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
239         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC_MT) (GLuint index, const GLubyte * v);
240         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC_MT) (GLuint index, const GLuint * v);
241         typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC_MT) (GLuint index, const GLushort * v);
242         typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC_MT) (GLuint index, const GLbyte * v);
243         typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC_MT) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
244         typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC_MT) (GLuint index, const GLdouble * v);
245         typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC_MT) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
246         typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC_MT) (GLuint index, const GLfloat * v);
247         typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC_MT) (GLuint index, const GLint * v);
248         typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC_MT) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
249         typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC_MT) (GLuint index, const GLshort * v);
250         typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC_MT) (GLuint index, const GLubyte * v);
251         typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC_MT) (GLuint index, const GLuint * v);
252         typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC_MT) (GLuint index, const GLushort * v);
253         typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC_MT) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
254         typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
255         typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
256         typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
257         typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
258         typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
259         typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
260         typedef void (APIENTRYP PFNGLCOLORMASKIPROC_MT) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
261         typedef void (APIENTRYP PFNGLENABLEIPROC_MT) (GLenum target, GLuint index);
262         typedef void (APIENTRYP PFNGLDISABLEIPROC_MT) (GLenum target, GLuint index);
263         typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC_MT) (GLenum target, GLuint index);
264         typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC_MT) (GLenum primitiveMode);
265         typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC_MT) ( void);
266         typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC_MT) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
267         typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC_MT) (GLenum target, GLuint index, GLuint buffer);
268         typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC_MT) (GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode);
269         typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC_MT) (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name);
270         typedef void (APIENTRYP PFNGLCLAMPCOLORPROC_MT) (GLenum target, GLenum clamp);
271         typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC_MT) (GLuint id, GLenum mode);
272         typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC_MT) ( void);
273         typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC_MT) (GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
274         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC_MT) (GLuint index, GLenum pname, GLint * params);
275         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC_MT) (GLuint index, GLenum pname, GLuint * params);
276         typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC_MT) (GLuint index, GLint x);
277         typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC_MT) (GLuint index, GLint x, GLint y);
278         typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC_MT) (GLuint index, GLint x, GLint y, GLint z);
279         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC_MT) (GLuint index, GLint x, GLint y, GLint z, GLint w);
280         typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC_MT) (GLuint index, GLuint x);
281         typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC_MT) (GLuint index, GLuint x, GLuint y);
282         typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC_MT) (GLuint index, GLuint x, GLuint y, GLuint z);
283         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC_MT) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
284         typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC_MT) (GLuint index, const GLint * v);
285         typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC_MT) (GLuint index, const GLint * v);
286         typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC_MT) (GLuint index, const GLint * v);
287         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC_MT) (GLuint index, const GLint * v);
288         typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC_MT) (GLuint index, const GLuint * v);
289         typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC_MT) (GLuint index, const GLuint * v);
290         typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC_MT) (GLuint index, const GLuint * v);
291         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC_MT) (GLuint index, const GLuint * v);
292         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC_MT) (GLuint index, const GLbyte * v);
293         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC_MT) (GLuint index, const GLshort * v);
294         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC_MT) (GLuint index, const GLubyte * v);
295         typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC_MT) (GLuint index, const GLushort * v);
296         typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC_MT) (GLuint program, GLint location, GLuint * params);
297         typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC_MT) (GLuint program, GLuint color, const GLchar * name);
298         typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC_MT) (GLuint program, const GLchar * name);
299         typedef void (APIENTRYP PFNGLUNIFORM1UIPROC_MT) (GLint location, GLuint v0);
300         typedef void (APIENTRYP PFNGLUNIFORM2UIPROC_MT) (GLint location, GLuint v0, GLuint v1);
301         typedef void (APIENTRYP PFNGLUNIFORM3UIPROC_MT) (GLint location, GLuint v0, GLuint v1, GLuint v2);
302         typedef void (APIENTRYP PFNGLUNIFORM4UIPROC_MT) (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
303         typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC_MT) (GLint location, GLsizei count, const GLuint * value);
304         typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC_MT) (GLint location, GLsizei count, const GLuint * value);
305         typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC_MT) (GLint location, GLsizei count, const GLuint * value);
306         typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC_MT) (GLint location, GLsizei count, const GLuint * value);
307         typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC_MT) (GLenum target, GLenum pname, const GLint * params);
308         typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC_MT) (GLenum target, GLenum pname, const GLuint * params);
309         typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC_MT) (GLenum target, GLenum pname, GLint * params);
310         typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC_MT) (GLenum target, GLenum pname, GLuint * params);
311         typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC_MT) (GLenum buffer, GLint drawbuffer, const GLint * value);
312         typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC_MT) (GLenum buffer, GLint drawbuffer, const GLuint * value);
313         typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC_MT) (GLenum buffer, GLint drawbuffer, const GLfloat * value);
314         typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC_MT) (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
315         typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC_MT) (GLenum name, GLuint index);
316         typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC_MT) (GLuint renderbuffer);
317         typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC_MT) (GLenum target, GLuint renderbuffer);
318         typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC_MT) (GLsizei n, const GLuint * renderbuffers);
319         typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC_MT) (GLsizei n, GLuint * renderbuffers);
320         typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC_MT) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
321         typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC_MT) (GLenum target, GLenum pname, GLint * params);
322         typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC_MT) (GLuint framebuffer);
323         typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC_MT) (GLenum target, GLuint framebuffer);
324         typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC_MT) (GLsizei n, const GLuint * framebuffers);
325         typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC_MT) (GLsizei n, GLuint * framebuffers);
326         typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC_MT) (GLenum target);
327         typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC_MT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
328         typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC_MT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
329         typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC_MT) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
330         typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC_MT) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
331         typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC_MT) (GLenum target, GLenum attachment, GLenum pname, GLint * params);
332         typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC_MT) (GLenum target);
333         typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC_MT) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
334         typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC_MT) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
335         typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC_MT) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
336         typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC_MT) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
337         typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC_MT) (GLenum target, GLintptr offset, GLsizeiptr length);
338         typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC_MT) (GLuint array);
339         typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC_MT) (GLsizei n, const GLuint * arrays);
340         typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC_MT) (GLsizei n, GLuint * arrays);
341         typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC_MT) (GLuint array);
342         typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC_MT) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
343         typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC_MT) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount);
344         typedef void (APIENTRYP PFNGLTEXBUFFERPROC_MT) (GLenum target, GLenum internalformat, GLuint buffer);
345         typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC_MT) (GLuint index);
346         typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC_MT) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
347         typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC_MT) (GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint * uniformIndices);
348         typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC_MT) (GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint * params);
349         typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC_MT) (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformName);
350         typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC_MT) (GLuint program, const GLchar * uniformBlockName);
351         typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC_MT) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint * params);
352         typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC_MT) (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei * length, GLchar * uniformBlockName);
353         typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC_MT) (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
354         typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC_MT) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLint basevertex);
355         typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC_MT) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices, GLint basevertex);
356         typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC_MT) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex);
357         typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC_MT) (GLenum mode, const GLsizei * count, GLenum type, const void *const* indices, GLsizei drawcount, const GLint * basevertex);
358         typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC_MT) (GLenum mode);
359         typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC_MT) (GLenum condition, GLbitfield flags);
360         typedef GLboolean (APIENTRYP PFNGLISSYNCPROC_MT) (GLsync sync);
361         typedef void (APIENTRYP PFNGLDELETESYNCPROC_MT) (GLsync sync);
362         typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC_MT) (GLsync sync, GLbitfield flags, GLuint64 timeout);
363         typedef void (APIENTRYP PFNGLWAITSYNCPROC_MT) (GLsync sync, GLbitfield flags, GLuint64 timeout);
364         typedef void (APIENTRYP PFNGLGETINTEGER64VPROC_MT) (GLenum pname, GLint64 * data);
365         typedef void (APIENTRYP PFNGLGETSYNCIVPROC_MT) (GLsync sync, GLenum pname, GLsizei count, GLsizei * length, GLint * values);
366         typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC_MT) (GLenum target, GLenum pname, GLint64 * params);
367         typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC_MT) (GLenum target, GLenum attachment, GLuint texture, GLint level);
368         typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC_MT) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
369         typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC_MT) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
370         typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC_MT) (GLenum pname, GLuint index, GLfloat * val);
371         typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC_MT) (GLuint maskNumber, GLbitfield mask);
372         typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC_MT) (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name);
373         typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC_MT) (GLuint program, const GLchar * name);
374         typedef void (APIENTRYP PFNGLGENSAMPLERSPROC_MT) (GLsizei count, GLuint * samplers);
375         typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC_MT) (GLsizei count, const GLuint * samplers);
376         typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC_MT) (GLuint sampler);
377         typedef void (APIENTRYP PFNGLBINDSAMPLERPROC_MT) (GLuint unit, GLuint sampler);
378         typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC_MT) (GLuint sampler, GLenum pname, GLint param);
379         typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC_MT) (GLuint sampler, GLenum pname, const GLint * param);
380         typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC_MT) (GLuint sampler, GLenum pname, GLfloat param);
381         typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC_MT) (GLuint sampler, GLenum pname, const GLfloat * param);
382         typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC_MT) (GLuint sampler, GLenum pname, const GLint * param);
383         typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC_MT) (GLuint sampler, GLenum pname, const GLuint * param);
384         typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC_MT) (GLuint sampler, GLenum pname, GLint * params);
385         typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC_MT) (GLuint sampler, GLenum pname, GLint * params);
386         typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC_MT) (GLuint sampler, GLenum pname, GLfloat * params);
387         typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC_MT) (GLuint sampler, GLenum pname, GLuint * params);
388         typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC_MT) (GLuint id, GLenum target);
389         typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC_MT) (GLuint id, GLenum pname, GLint64 * params);
390         typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC_MT) (GLuint id, GLenum pname, GLuint64 * params);
391         typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC_MT) (GLuint index, GLuint divisor);
392         typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC_MT) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
393         typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC_MT) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
394         typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC_MT) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
395         typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC_MT) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
396         typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC_MT) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
397         typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC_MT) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
398         typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC_MT) (GLuint index, GLenum type, GLboolean normalized, GLuint value);
399         typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC_MT) (GLuint index, GLenum type, GLboolean normalized, const GLuint * value);
400         typedef void (APIENTRYP PFNGLMINSAMPLESHADINGPROC_MT) (GLfloat value);
401         typedef void (APIENTRYP PFNGLBLENDEQUATIONIPROC_MT) (GLuint buf, GLenum mode);
402         typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEIPROC_MT) (GLuint buf, GLenum modeRGB, GLenum modeAlpha);
403         typedef void (APIENTRYP PFNGLBLENDFUNCIPROC_MT) (GLuint buf, GLenum src, GLenum dst);
404         typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEIPROC_MT) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
405         typedef void (APIENTRYP PFNGLDRAWARRAYSINDIRECTPROC_MT) (GLenum mode, const void * indirect);
406         typedef void (APIENTRYP PFNGLDRAWELEMENTSINDIRECTPROC_MT) (GLenum mode, GLenum type, const void * indirect);
407         typedef void (APIENTRYP PFNGLUNIFORM1DPROC_MT) (GLint location, GLdouble x);
408         typedef void (APIENTRYP PFNGLUNIFORM2DPROC_MT) (GLint location, GLdouble x, GLdouble y);
409         typedef void (APIENTRYP PFNGLUNIFORM3DPROC_MT) (GLint location, GLdouble x, GLdouble y, GLdouble z);
410         typedef void (APIENTRYP PFNGLUNIFORM4DPROC_MT) (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
411         typedef void (APIENTRYP PFNGLUNIFORM1DVPROC_MT) (GLint location, GLsizei count, const GLdouble * value);
412         typedef void (APIENTRYP PFNGLUNIFORM2DVPROC_MT) (GLint location, GLsizei count, const GLdouble * value);
413         typedef void (APIENTRYP PFNGLUNIFORM3DVPROC_MT) (GLint location, GLsizei count, const GLdouble * value);
414         typedef void (APIENTRYP PFNGLUNIFORM4DVPROC_MT) (GLint location, GLsizei count, const GLdouble * value);
415         typedef void (APIENTRYP PFNGLUNIFORMMATRIX2DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
416         typedef void (APIENTRYP PFNGLUNIFORMMATRIX3DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
417         typedef void (APIENTRYP PFNGLUNIFORMMATRIX4DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
418         typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
419         typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
420         typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
421         typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
422         typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
423         typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3DVPROC_MT) (GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
424         typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC_MT) (GLuint program, GLint location, GLdouble * params);
425         typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC_MT) (GLuint program, GLenum shadertype, const GLchar * name);
426         typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC_MT) (GLuint program, GLenum shadertype, const GLchar * name);
427         typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC_MT) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint * values);
428         typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC_MT) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name);
429         typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC_MT) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name);
430         typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC_MT) (GLenum shadertype, GLsizei count, const GLuint * indices);
431         typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC_MT) (GLenum shadertype, GLint location, GLuint * params);
432         typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC_MT) (GLuint program, GLenum shadertype, GLenum pname, GLint * values);
433         typedef void (APIENTRYP PFNGLPATCHPARAMETERIPROC_MT) (GLenum pname, GLint value);
434         typedef void (APIENTRYP PFNGLPATCHPARAMETERFVPROC_MT) (GLenum pname, const GLfloat * values);
435         typedef void (APIENTRYP PFNGLBINDTRANSFORMFEEDBACKPROC_MT) (GLenum target, GLuint id);
436         typedef void (APIENTRYP PFNGLDELETETRANSFORMFEEDBACKSPROC_MT) (GLsizei n, const GLuint * ids);
437         typedef void (APIENTRYP PFNGLGENTRANSFORMFEEDBACKSPROC_MT) (GLsizei n, GLuint * ids);
438         typedef GLboolean (APIENTRYP PFNGLISTRANSFORMFEEDBACKPROC_MT) (GLuint id);
439         typedef void (APIENTRYP PFNGLPAUSETRANSFORMFEEDBACKPROC_MT) ( void);
440         typedef void (APIENTRYP PFNGLRESUMETRANSFORMFEEDBACKPROC_MT) ( void);
441         typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKPROC_MT) (GLenum mode, GLuint id);
442         typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC_MT) (GLenum mode, GLuint id, GLuint stream);
443         typedef void (APIENTRYP PFNGLBEGINQUERYINDEXEDPROC_MT) (GLenum target, GLuint index, GLuint id);
444         typedef void (APIENTRYP PFNGLENDQUERYINDEXEDPROC_MT) (GLenum target, GLuint index);
445         typedef void (APIENTRYP PFNGLGETQUERYINDEXEDIVPROC_MT) (GLenum target, GLuint index, GLenum pname, GLint * params);
446         typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC_MT) ( void);
447         typedef void (APIENTRYP PFNGLSHADERBINARYPROC_MT) (GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length);
448         typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC_MT) (GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision);
449         typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC_MT) (GLfloat n, GLfloat f);
450         typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC_MT) (GLfloat d);
451         typedef void (APIENTRYP PFNGLGETPROGRAMBINARYPROC_MT) (GLuint program, GLsizei bufSize, GLsizei * length, GLenum * binaryFormat, void * binary);
452         typedef void (APIENTRYP PFNGLPROGRAMBINARYPROC_MT) (GLuint program, GLenum binaryFormat, const void * binary, GLsizei length);
453         typedef void (APIENTRYP PFNGLPROGRAMPARAMETERIPROC_MT) (GLuint program, GLenum pname, GLint value);
454         typedef void (APIENTRYP PFNGLUSEPROGRAMSTAGESPROC_MT) (GLuint pipeline, GLbitfield stages, GLuint program);
455         typedef void (APIENTRYP PFNGLACTIVESHADERPROGRAMPROC_MT) (GLuint pipeline, GLuint program);
456         typedef GLuint (APIENTRYP PFNGLCREATESHADERPROGRAMVPROC_MT) (GLenum type, GLsizei count, const GLchar *const* strings);
457         typedef void (APIENTRYP PFNGLBINDPROGRAMPIPELINEPROC_MT) (GLuint pipeline);
458         typedef void (APIENTRYP PFNGLDELETEPROGRAMPIPELINESPROC_MT) (GLsizei n, const GLuint * pipelines);
459         typedef void (APIENTRYP PFNGLGENPROGRAMPIPELINESPROC_MT) (GLsizei n, GLuint * pipelines);
460         typedef GLboolean (APIENTRYP PFNGLISPROGRAMPIPELINEPROC_MT) (GLuint pipeline);
461         typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEIVPROC_MT) (GLuint pipeline, GLenum pname, GLint * params);
462         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IPROC_MT) (GLuint program, GLint location, GLint v0);
463         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1IVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint * value);
464         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FPROC_MT) (GLuint program, GLint location, GLfloat v0);
465         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1FVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLfloat * value);
466         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DPROC_MT) (GLuint program, GLint location, GLdouble v0);
467         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLdouble * value);
468         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIPROC_MT) (GLuint program, GLint location, GLuint v0);
469         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UIVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint * value);
470         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IPROC_MT) (GLuint program, GLint location, GLint v0, GLint v1);
471         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2IVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint * value);
472         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FPROC_MT) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
473         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2FVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLfloat * value);
474         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DPROC_MT) (GLuint program, GLint location, GLdouble v0, GLdouble v1);
475         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2DVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLdouble * value);
476         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIPROC_MT) (GLuint program, GLint location, GLuint v0, GLuint v1);
477         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UIVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint * value);
478         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IPROC_MT) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
479         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3IVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint * value);
480         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FPROC_MT) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
481         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3FVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLfloat * value);
482         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DPROC_MT) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
483         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3DVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLdouble * value);
484         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIPROC_MT) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
485         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UIVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint * value);
486         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IPROC_MT) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
487         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4IVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint * value);
488         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FPROC_MT) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
489         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4FVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLfloat * value);
490         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DPROC_MT) (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
491         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4DVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLdouble * value);
492         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIPROC_MT) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
493         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UIVPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint * value);
494         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
495         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
496         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
497         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
498         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
499         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
500         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
501         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
502         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
503         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
504         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
505         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
506         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
507         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
508         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
509         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
510         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
511         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC_MT) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble * value);
512         typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEPROC_MT) (GLuint pipeline);
513         typedef void (APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGPROC_MT) (GLuint pipeline, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
514         typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DPROC_MT) (GLuint index, GLdouble x);
515         typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DPROC_MT) (GLuint index, GLdouble x, GLdouble y);
516         typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DPROC_MT) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
517         typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DPROC_MT) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
518         typedef void (APIENTRYP PFNGLVERTEXATTRIBL1DVPROC_MT) (GLuint index, const GLdouble * v);
519         typedef void (APIENTRYP PFNGLVERTEXATTRIBL2DVPROC_MT) (GLuint index, const GLdouble * v);
520         typedef void (APIENTRYP PFNGLVERTEXATTRIBL3DVPROC_MT) (GLuint index, const GLdouble * v);
521         typedef void (APIENTRYP PFNGLVERTEXATTRIBL4DVPROC_MT) (GLuint index, const GLdouble * v);
522         typedef void (APIENTRYP PFNGLVERTEXATTRIBLPOINTERPROC_MT) (GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer);
523         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLDVPROC_MT) (GLuint index, GLenum pname, GLdouble * params);
524         typedef void (APIENTRYP PFNGLVIEWPORTARRAYVPROC_MT) (GLuint first, GLsizei count, const GLfloat * v);
525         typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFPROC_MT) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
526         typedef void (APIENTRYP PFNGLVIEWPORTINDEXEDFVPROC_MT) (GLuint index, const GLfloat * v);
527         typedef void (APIENTRYP PFNGLSCISSORARRAYVPROC_MT) (GLuint first, GLsizei count, const GLint * v);
528         typedef void (APIENTRYP PFNGLSCISSORINDEXEDPROC_MT) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
529         typedef void (APIENTRYP PFNGLSCISSORINDEXEDVPROC_MT) (GLuint index, const GLint * v);
530         typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYVPROC_MT) (GLuint first, GLsizei count, const GLdouble * v);
531         typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDPROC_MT) (GLuint index, GLdouble n, GLdouble f);
532         typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC_MT) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
533         typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC_MT) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLuint baseinstance);
534         typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC_MT) (GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
535         typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC_MT) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint * params);
536         typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC_MT) (GLuint program, GLuint bufferIndex, GLenum pname, GLint * params);
537         typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC_MT) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
538         typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC_MT) (GLbitfield barriers);
539         typedef void (APIENTRYP PFNGLTEXSTORAGE1DPROC_MT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
540         typedef void (APIENTRYP PFNGLTEXSTORAGE2DPROC_MT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
541         typedef void (APIENTRYP PFNGLTEXSTORAGE3DPROC_MT) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
542         typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC_MT) (GLenum mode, GLuint id, GLsizei instancecount);
543         typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC_MT) (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount);
544         typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC_MT) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void * data);
545         typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC_MT) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
546         typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEPROC_MT) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
547         typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC_MT) (GLintptr indirect);
548         typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC_MT) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
549         typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC_MT) (GLenum target, GLenum pname, GLint param);
550         typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC_MT) (GLenum target, GLenum pname, GLint * params);
551         typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC_MT) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 * params);
552         typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
553         typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC_MT) (GLuint texture, GLint level);
554         typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC_MT) (GLuint buffer, GLintptr offset, GLsizeiptr length);
555         typedef void (APIENTRYP PFNGLINVALIDATEBUFFERDATAPROC_MT) (GLuint buffer);
556         typedef void (APIENTRYP PFNGLINVALIDATEFRAMEBUFFERPROC_MT) (GLenum target, GLsizei numAttachments, const GLenum * attachments);
557         typedef void (APIENTRYP PFNGLINVALIDATESUBFRAMEBUFFERPROC_MT) (GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height);
558         typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTPROC_MT) (GLenum mode, const void * indirect, GLsizei drawcount, GLsizei stride);
559         typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC_MT) (GLenum mode, GLenum type, const void * indirect, GLsizei drawcount, GLsizei stride);
560         typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC_MT) (GLuint program, GLenum programInterface, GLenum pname, GLint * params);
561         typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC_MT) (GLuint program, GLenum programInterface, const GLchar * name);
562         typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC_MT) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei * length, GLchar * name);
563         typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC_MT) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei count, GLsizei * length, GLint * params);
564         typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC_MT) (GLuint program, GLenum programInterface, const GLchar * name);
565         typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC_MT) (GLuint program, GLenum programInterface, const GLchar * name);
566         typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC_MT) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding);
567         typedef void (APIENTRYP PFNGLTEXBUFFERRANGEPROC_MT) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
568         typedef void (APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEPROC_MT) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
569         typedef void (APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEPROC_MT) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
570         typedef void (APIENTRYP PFNGLTEXTUREVIEWPROC_MT) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
571         typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERPROC_MT) (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
572         typedef void (APIENTRYP PFNGLVERTEXATTRIBFORMATPROC_MT) (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
573         typedef void (APIENTRYP PFNGLVERTEXATTRIBIFORMATPROC_MT) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
574         typedef void (APIENTRYP PFNGLVERTEXATTRIBLFORMATPROC_MT) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
575         typedef void (APIENTRYP PFNGLVERTEXATTRIBBINDINGPROC_MT) (GLuint attribindex, GLuint bindingindex);
576         typedef void (APIENTRYP PFNGLVERTEXBINDINGDIVISORPROC_MT) (GLuint bindingindex, GLuint divisor);
577         typedef void (APIENTRYP PFNGLDEBUGMESSAGECONTROLPROC_MT) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint * ids, GLboolean enabled);
578         typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTPROC_MT) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar * buf);
579         typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKPROC_MT) (GLDEBUGPROC callback, const void * userParam);
580         typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGPROC_MT) (GLuint count, GLsizei bufSize, GLenum * sources, GLenum * types, GLuint * ids, GLenum * severities, GLsizei * lengths, GLchar * messageLog);
581         typedef void (APIENTRYP PFNGLPUSHDEBUGGROUPPROC_MT) (GLenum source, GLuint id, GLsizei length, const GLchar * message);
582         typedef void (APIENTRYP PFNGLPOPDEBUGGROUPPROC_MT) ( void);
583         typedef void (APIENTRYP PFNGLOBJECTLABELPROC_MT) (GLenum identifier, GLuint name, GLsizei length, const GLchar * label);
584         typedef void (APIENTRYP PFNGLGETOBJECTLABELPROC_MT) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei * length, GLchar * label);
585         typedef void (APIENTRYP PFNGLOBJECTPTRLABELPROC_MT) (const void * ptr, GLsizei length, const GLchar * label);
586         typedef void (APIENTRYP PFNGLGETOBJECTPTRLABELPROC_MT) (const void * ptr, GLsizei bufSize, GLsizei * length, GLchar * label);
587         typedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC_MT) (GLenum target, GLsizeiptr size, const void * data, GLbitfield flags);
588         typedef void (APIENTRYP PFNGLCLEARTEXIMAGEPROC_MT) (GLuint texture, GLint level, GLenum format, GLenum type, const void * data);
589         typedef void (APIENTRYP PFNGLCLEARTEXSUBIMAGEPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * data);
590         typedef void (APIENTRYP PFNGLBINDBUFFERSBASEPROC_MT) (GLenum target, GLuint first, GLsizei count, const GLuint * buffers);
591         typedef void (APIENTRYP PFNGLBINDBUFFERSRANGEPROC_MT) (GLenum target, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizeiptr * sizes);
592         typedef void (APIENTRYP PFNGLBINDTEXTURESPROC_MT) (GLuint first, GLsizei count, const GLuint * textures);
593         typedef void (APIENTRYP PFNGLBINDSAMPLERSPROC_MT) (GLuint first, GLsizei count, const GLuint * samplers);
594         typedef void (APIENTRYP PFNGLBINDIMAGETEXTURESPROC_MT) (GLuint first, GLsizei count, const GLuint * textures);
595         typedef void (APIENTRYP PFNGLBINDVERTEXBUFFERSPROC_MT) (GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides);
596         typedef void (APIENTRYP PFNGLCLIPCONTROLPROC_MT) (GLenum origin, GLenum depth);
597         typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC_MT) (GLsizei n, GLuint * ids);
598         typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC_MT) (GLuint xfb, GLuint index, GLuint buffer);
599         typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC_MT) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
600         typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC_MT) (GLuint xfb, GLenum pname, GLint * param);
601         typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC_MT) (GLsizei n, GLuint * buffers);
602         typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC_MT) (GLuint buffer, GLsizeiptr size, const void * data, GLbitfield flags);
603         typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC_MT) (GLuint buffer, GLsizeiptr size, const void * data, GLenum usage);
604         typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC_MT) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void * data);
605         typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC_MT) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
606         typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC_MT) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void * data);
607         typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC_MT) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void * data);
608         typedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERPROC_MT) (GLuint buffer, GLenum access);
609         typedef void * (APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC_MT) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
610         typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC_MT) (GLuint buffer);
611         typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC_MT) (GLuint buffer, GLintptr offset, GLsizeiptr length);
612         typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC_MT) (GLuint buffer, GLenum pname, GLint * params);
613         typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC_MT) (GLuint buffer, GLenum pname, GLint64 * params);
614         typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC_MT) (GLuint buffer, GLenum pname, void ** params);
615         typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC_MT) (GLuint buffer, GLintptr offset, GLsizeiptr size, void * data);
616         typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC_MT) (GLsizei n, GLuint * framebuffers);
617         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC_MT) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
618         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC_MT) (GLuint framebuffer, GLenum pname, GLint param);
619         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC_MT) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
620         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC_MT) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
621         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC_MT) (GLuint framebuffer, GLenum buf);
622         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC_MT) (GLuint framebuffer, GLsizei n, const GLenum * bufs);
623         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC_MT) (GLuint framebuffer, GLenum src);
624         typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC_MT) (GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments);
625         typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC_MT) (GLuint framebuffer, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height);
626         typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC_MT) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint * value);
627         typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC_MT) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint * value);
628         typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC_MT) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat * value);
629         typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC_MT) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
630         typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC_MT) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
631         typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC_MT) (GLuint framebuffer, GLenum target);
632         typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC_MT) (GLuint framebuffer, GLenum pname, GLint * param);
633         typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC_MT) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint * params);
634         typedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC_MT) (GLsizei n, GLuint * renderbuffers);
635         typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC_MT) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
636         typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC_MT) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
637         typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC_MT) (GLuint renderbuffer, GLenum pname, GLint * params);
638         typedef void (APIENTRYP PFNGLCREATETEXTURESPROC_MT) (GLenum target, GLsizei n, GLuint * textures);
639         typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC_MT) (GLuint texture, GLenum internalformat, GLuint buffer);
640         typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC_MT) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
641         typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC_MT) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
642         typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC_MT) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
643         typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC_MT) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
644         typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC_MT) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
645         typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC_MT) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
646         typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void * pixels);
647         typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
648         typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels);
649         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void * data);
650         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
651         typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data);
652         typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
653         typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
654         typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
655         typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC_MT) (GLuint texture, GLenum pname, GLfloat param);
656         typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC_MT) (GLuint texture, GLenum pname, const GLfloat * param);
657         typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC_MT) (GLuint texture, GLenum pname, GLint param);
658         typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC_MT) (GLuint texture, GLenum pname, const GLint * params);
659         typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC_MT) (GLuint texture, GLenum pname, const GLuint * params);
660         typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC_MT) (GLuint texture, GLenum pname, const GLint * param);
661         typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC_MT) (GLuint texture);
662         typedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC_MT) (GLuint unit, GLuint texture);
663         typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC_MT) (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
664         typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC_MT) (GLuint texture, GLint level, GLsizei bufSize, void * pixels);
665         typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC_MT) (GLuint texture, GLint level, GLenum pname, GLfloat * params);
666         typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC_MT) (GLuint texture, GLint level, GLenum pname, GLint * params);
667         typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC_MT) (GLuint texture, GLenum pname, GLfloat * params);
668         typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC_MT) (GLuint texture, GLenum pname, GLint * params);
669         typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC_MT) (GLuint texture, GLenum pname, GLuint * params);
670         typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC_MT) (GLuint texture, GLenum pname, GLint * params);
671         typedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC_MT) (GLsizei n, GLuint * arrays);
672         typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC_MT) (GLuint vaobj, GLuint index);
673         typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC_MT) (GLuint vaobj, GLuint index);
674         typedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC_MT) (GLuint vaobj, GLuint buffer);
675         typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC_MT) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
676         typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC_MT) (GLuint vaobj, GLuint first, GLsizei count, const GLuint * buffers, const GLintptr * offsets, const GLsizei * strides);
677         typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC_MT) (GLuint vaobj, GLuint attribindex, GLuint bindingindex);
678         typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC_MT) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
679         typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC_MT) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
680         typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC_MT) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
681         typedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC_MT) (GLuint vaobj, GLuint bindingindex, GLuint divisor);
682         typedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC_MT) (GLuint vaobj, GLenum pname, GLint * param);
683         typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC_MT) (GLuint vaobj, GLuint index, GLenum pname, GLint * param);
684         typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC_MT) (GLuint vaobj, GLuint index, GLenum pname, GLint64 * param);
685         typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC_MT) (GLsizei n, GLuint * samplers);
686         typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC_MT) (GLsizei n, GLuint * pipelines);
687         typedef void (APIENTRYP PFNGLCREATEQUERIESPROC_MT) (GLenum target, GLsizei n, GLuint * ids);
688         typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC_MT) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
689         typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC_MT) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
690         typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC_MT) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
691         typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC_MT) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset);
692         typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC_MT) (GLbitfield barriers);
693         typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
694         typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC_MT) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void * pixels);
695         typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC_MT) ( void);
696         typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC_MT) (GLenum target, GLint lod, GLsizei bufSize, void * pixels);
697         typedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC_MT) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void * pixels);
698         typedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC_MT) (GLuint program, GLint location, GLsizei bufSize, GLdouble * params);
699         typedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC_MT) (GLuint program, GLint location, GLsizei bufSize, GLfloat * params);
700         typedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC_MT) (GLuint program, GLint location, GLsizei bufSize, GLint * params);
701         typedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC_MT) (GLuint program, GLint location, GLsizei bufSize, GLuint * params);
702         typedef void (APIENTRYP PFNGLREADNPIXELSPROC_MT) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void * data);
703         typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC_MT) ( void);
704         typedef void (APIENTRYP PFNGLSPECIALIZESHADERPROC_MT) (GLuint shader, const GLchar * pEntryPoint, GLuint numSpecializationConstants, const GLuint * pConstantIndex, const GLuint * pConstantValue);
705         typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC_MT) (GLenum mode, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
706         typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC_MT) (GLenum mode, GLenum type, const void * indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride);
707         typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC_MT) (GLfloat factor, GLfloat units, GLfloat clamp);
708         typedef void (APIENTRYP PFNGLGENPERFMONITORSEXPROC_MT) (GLsizei n, GLuint * monitors);
709         typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXPROC_MT) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
710         typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLEPROC_MT) (GLuint texture);
711         typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEPROC_MT) (GLuint texture, GLuint sampler);
712         typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTPROC_MT) (GLuint64 handle);
713         typedef void (APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTPROC_MT) (GLuint64 handle);
714         typedef GLuint64 (APIENTRYP PFNGLGETIMAGEHANDLEPROC_MT) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format);
715         typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTPROC_MT) (GLuint64 handle, GLenum access);
716         typedef void (APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTPROC_MT) (GLuint64 handle);
717         typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64PROC_MT) (GLint location, GLuint64 value);
718         typedef void (APIENTRYP PFNGLUNIFORMHANDLEUI64VPROC_MT) (GLint location, GLsizei count, const GLuint64 * value);
719         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64PROC_MT) (GLuint program, GLint location, GLuint64 value);
720         typedef void (APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint64 * values);
721         typedef GLboolean (APIENTRYP PFNGLISTEXTUREHANDLERESIDENTPROC_MT) (GLuint64 handle);
722         typedef GLboolean (APIENTRYP PFNGLISIMAGEHANDLERESIDENTPROC_MT) (GLuint64 handle);
723         typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64PROC_MT) (GLuint index, GLuint64 x);
724         typedef void (APIENTRYP PFNGLVERTEXATTRIBL1UI64VPROC_MT) (GLuint index, const GLuint64 * v);
725         typedef void (APIENTRYP PFNGLGETVERTEXATTRIBLUI64VPROC_MT) (GLuint index, GLenum pname, GLuint64 * params);
726         typedef GLsync (APIENTRYP PFNGLCREATESYNCFROMCLEVENTPROC_MT) (struct _cl_context * context, struct _cl_event * event, GLbitfield flags);
727         typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEGROUPSIZEPROC_MT) (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z);
728         typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEPROC_MT) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face);
729         typedef void (APIENTRYP PFNGLUNIFORM1I64PROC_MT) (GLint location, GLint64 x);
730         typedef void (APIENTRYP PFNGLUNIFORM2I64PROC_MT) (GLint location, GLint64 x, GLint64 y);
731         typedef void (APIENTRYP PFNGLUNIFORM3I64PROC_MT) (GLint location, GLint64 x, GLint64 y, GLint64 z);
732         typedef void (APIENTRYP PFNGLUNIFORM4I64PROC_MT) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
733         typedef void (APIENTRYP PFNGLUNIFORM1I64VPROC_MT) (GLint location, GLsizei count, const GLint64 * value);
734         typedef void (APIENTRYP PFNGLUNIFORM2I64VPROC_MT) (GLint location, GLsizei count, const GLint64 * value);
735         typedef void (APIENTRYP PFNGLUNIFORM3I64VPROC_MT) (GLint location, GLsizei count, const GLint64 * value);
736         typedef void (APIENTRYP PFNGLUNIFORM4I64VPROC_MT) (GLint location, GLsizei count, const GLint64 * value);
737         typedef void (APIENTRYP PFNGLUNIFORM1UI64PROC_MT) (GLint location, GLuint64 x);
738         typedef void (APIENTRYP PFNGLUNIFORM2UI64PROC_MT) (GLint location, GLuint64 x, GLuint64 y);
739         typedef void (APIENTRYP PFNGLUNIFORM3UI64PROC_MT) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
740         typedef void (APIENTRYP PFNGLUNIFORM4UI64PROC_MT) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
741         typedef void (APIENTRYP PFNGLUNIFORM1UI64VPROC_MT) (GLint location, GLsizei count, const GLuint64 * value);
742         typedef void (APIENTRYP PFNGLUNIFORM2UI64VPROC_MT) (GLint location, GLsizei count, const GLuint64 * value);
743         typedef void (APIENTRYP PFNGLUNIFORM3UI64VPROC_MT) (GLint location, GLsizei count, const GLuint64 * value);
744         typedef void (APIENTRYP PFNGLUNIFORM4UI64VPROC_MT) (GLint location, GLsizei count, const GLuint64 * value);
745         typedef void (APIENTRYP PFNGLGETUNIFORMI64VPROC_MT) (GLuint program, GLint location, GLint64 * params);
746         typedef void (APIENTRYP PFNGLGETUNIFORMUI64VPROC_MT) (GLuint program, GLint location, GLuint64 * params);
747         typedef void (APIENTRYP PFNGLGETNUNIFORMI64VPROC_MT) (GLuint program, GLint location, GLsizei bufSize, GLint64 * params);
748         typedef void (APIENTRYP PFNGLGETNUNIFORMUI64VPROC_MT) (GLuint program, GLint location, GLsizei bufSize, GLuint64 * params);
749         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64PROC_MT) (GLuint program, GLint location, GLint64 x);
750         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64PROC_MT) (GLuint program, GLint location, GLint64 x, GLint64 y);
751         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64PROC_MT) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z);
752         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64PROC_MT) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w);
753         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint64 * value);
754         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint64 * value);
755         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint64 * value);
756         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLint64 * value);
757         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64PROC_MT) (GLuint program, GLint location, GLuint64 x);
758         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64PROC_MT) (GLuint program, GLint location, GLuint64 x, GLuint64 y);
759         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64PROC_MT) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z);
760         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64PROC_MT) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w);
761         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint64 * value);
762         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint64 * value);
763         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint64 * value);
764         typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VPROC_MT) (GLuint program, GLint location, GLsizei count, const GLuint64 * value);
765         typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSPROC_MT) (GLuint count);
766         typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVPROC_MT) (GLenum target, GLuint start, GLsizei count, const GLfloat * v);
767         typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVPROC_MT) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat * v);
768         typedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESPROC_MT) ( void);
769         typedef void (APIENTRYP PFNGLNAMEDSTRINGPROC_MT) (GLenum type, GLint namelen, const GLchar * name, GLint stringlen, const GLchar * string);
770         typedef void (APIENTRYP PFNGLDELETENAMEDSTRINGPROC_MT) (GLint namelen, const GLchar * name);
771         typedef void (APIENTRYP PFNGLCOMPILESHADERINCLUDEPROC_MT) (GLuint shader, GLsizei count, const GLchar *const* path, const GLint * length);
772         typedef GLboolean (APIENTRYP PFNGLISNAMEDSTRINGPROC_MT) (GLint namelen, const GLchar * name);
773         typedef void (APIENTRYP PFNGLGETNAMEDSTRINGPROC_MT) (GLint namelen, const GLchar * name, GLsizei bufSize, GLint * stringlen, GLchar * string);
774         typedef void (APIENTRYP PFNGLGETNAMEDSTRINGIVPROC_MT) (GLint namelen, const GLchar * name, GLenum pname, GLint * params);
775         typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTPROC_MT) (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit);
776         typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTPROC_MT) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
777         typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTPROC_MT) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
778
779         std::unordered_set<std::string> extensions;
780 public:
781         // Call this once after creating the context.
782         void LoadAllProcedures(irr::video::IContextManager *cmgr);
783         // Check if an extension is supported.
784         inline bool IsExtensionPresent(const std::string &ext)
785         {
786                 return extensions.find(ext) != extensions.end();
787         }
788
789         PFNGLCULLFACEPROC_MT CullFace = NULL;
790         PFNGLFRONTFACEPROC_MT FrontFace = NULL;
791         PFNGLHINTPROC_MT Hint = NULL;
792         PFNGLLINEWIDTHPROC_MT LineWidth = NULL;
793         PFNGLPOINTSIZEPROC_MT PointSize = NULL;
794         PFNGLPOLYGONMODEPROC_MT PolygonMode = NULL;
795         PFNGLSCISSORPROC_MT Scissor = NULL;
796         PFNGLTEXPARAMETERFPROC_MT TexParameterf = NULL;
797         PFNGLTEXPARAMETERFVPROC_MT TexParameterfv = NULL;
798         PFNGLTEXPARAMETERIPROC_MT TexParameteri = NULL;
799         PFNGLTEXPARAMETERIVPROC_MT TexParameteriv = NULL;
800         PFNGLTEXIMAGE1DPROC_MT TexImage1D = NULL;
801         PFNGLTEXIMAGE2DPROC_MT TexImage2D = NULL;
802         PFNGLDRAWBUFFERPROC_MT DrawBuffer = NULL;
803         PFNGLCLEARPROC_MT Clear = NULL;
804         PFNGLCLEARCOLORPROC_MT ClearColor = NULL;
805         PFNGLCLEARSTENCILPROC_MT ClearStencil = NULL;
806         PFNGLCLEARDEPTHPROC_MT ClearDepth = NULL;
807         PFNGLSTENCILMASKPROC_MT StencilMask = NULL;
808         PFNGLCOLORMASKPROC_MT ColorMask = NULL;
809         PFNGLDEPTHMASKPROC_MT DepthMask = NULL;
810         PFNGLDISABLEPROC_MT Disable = NULL;
811         PFNGLENABLEPROC_MT Enable = NULL;
812         PFNGLFINISHPROC_MT Finish = NULL;
813         PFNGLFLUSHPROC_MT Flush = NULL;
814         PFNGLBLENDFUNCPROC_MT BlendFunc = NULL;
815         PFNGLLOGICOPPROC_MT LogicOp = NULL;
816         PFNGLSTENCILFUNCPROC_MT StencilFunc = NULL;
817         PFNGLSTENCILOPPROC_MT StencilOp = NULL;
818         PFNGLDEPTHFUNCPROC_MT DepthFunc = NULL;
819         PFNGLPIXELSTOREFPROC_MT PixelStoref = NULL;
820         PFNGLPIXELSTOREIPROC_MT PixelStorei = NULL;
821         PFNGLREADBUFFERPROC_MT ReadBuffer = NULL;
822         PFNGLREADPIXELSPROC_MT ReadPixels = NULL;
823         PFNGLGETBOOLEANVPROC_MT GetBooleanv = NULL;
824         PFNGLGETDOUBLEVPROC_MT GetDoublev = NULL;
825         PFNGLGETERRORPROC_MT GetError = NULL;
826         PFNGLGETFLOATVPROC_MT GetFloatv = NULL;
827         PFNGLGETINTEGERVPROC_MT GetIntegerv = NULL;
828         PFNGLGETSTRINGPROC_MT GetString = NULL;
829         PFNGLGETTEXIMAGEPROC_MT GetTexImage = NULL;
830         PFNGLGETTEXPARAMETERFVPROC_MT GetTexParameterfv = NULL;
831         PFNGLGETTEXPARAMETERIVPROC_MT GetTexParameteriv = NULL;
832         PFNGLGETTEXLEVELPARAMETERFVPROC_MT GetTexLevelParameterfv = NULL;
833         PFNGLGETTEXLEVELPARAMETERIVPROC_MT GetTexLevelParameteriv = NULL;
834         PFNGLISENABLEDPROC_MT IsEnabled = NULL;
835         PFNGLDEPTHRANGEPROC_MT DepthRange = NULL;
836         PFNGLVIEWPORTPROC_MT Viewport = NULL;
837         PFNGLDRAWARRAYSPROC_MT DrawArrays = NULL;
838         PFNGLDRAWELEMENTSPROC_MT DrawElements = NULL;
839         PFNGLGETPOINTERVPROC_MT GetPointerv = NULL;
840         PFNGLPOLYGONOFFSETPROC_MT PolygonOffset = NULL;
841         PFNGLCOPYTEXIMAGE1DPROC_MT CopyTexImage1D = NULL;
842         PFNGLCOPYTEXIMAGE2DPROC_MT CopyTexImage2D = NULL;
843         PFNGLCOPYTEXSUBIMAGE1DPROC_MT CopyTexSubImage1D = NULL;
844         PFNGLCOPYTEXSUBIMAGE2DPROC_MT CopyTexSubImage2D = NULL;
845         PFNGLTEXSUBIMAGE1DPROC_MT TexSubImage1D = NULL;
846         PFNGLTEXSUBIMAGE2DPROC_MT TexSubImage2D = NULL;
847         PFNGLBINDTEXTUREPROC_MT BindTexture = NULL;
848         PFNGLDELETETEXTURESPROC_MT DeleteTextures = NULL;
849         PFNGLGENTEXTURESPROC_MT GenTextures = NULL;
850         PFNGLISTEXTUREPROC_MT IsTexture = NULL;
851         PFNGLDRAWRANGEELEMENTSPROC_MT DrawRangeElements = NULL;
852         PFNGLTEXIMAGE3DPROC_MT TexImage3D = NULL;
853         PFNGLTEXSUBIMAGE3DPROC_MT TexSubImage3D = NULL;
854         PFNGLCOPYTEXSUBIMAGE3DPROC_MT CopyTexSubImage3D = NULL;
855         PFNGLACTIVETEXTUREPROC_MT ActiveTexture = NULL;
856         PFNGLSAMPLECOVERAGEPROC_MT SampleCoverage = NULL;
857         PFNGLCOMPRESSEDTEXIMAGE3DPROC_MT CompressedTexImage3D = NULL;
858         PFNGLCOMPRESSEDTEXIMAGE2DPROC_MT CompressedTexImage2D = NULL;
859         PFNGLCOMPRESSEDTEXIMAGE1DPROC_MT CompressedTexImage1D = NULL;
860         PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC_MT CompressedTexSubImage3D = NULL;
861         PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC_MT CompressedTexSubImage2D = NULL;
862         PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC_MT CompressedTexSubImage1D = NULL;
863         PFNGLGETCOMPRESSEDTEXIMAGEPROC_MT GetCompressedTexImage = NULL;
864         PFNGLBLENDFUNCSEPARATEPROC_MT BlendFuncSeparate = NULL;
865         PFNGLMULTIDRAWARRAYSPROC_MT MultiDrawArrays = NULL;
866         PFNGLMULTIDRAWELEMENTSPROC_MT MultiDrawElements = NULL;
867         PFNGLPOINTPARAMETERFPROC_MT PointParameterf = NULL;
868         PFNGLPOINTPARAMETERFVPROC_MT PointParameterfv = NULL;
869         PFNGLPOINTPARAMETERIPROC_MT PointParameteri = NULL;
870         PFNGLPOINTPARAMETERIVPROC_MT PointParameteriv = NULL;
871         PFNGLBLENDCOLORPROC_MT BlendColor = NULL;
872         PFNGLBLENDEQUATIONPROC_MT BlendEquation = NULL;
873         PFNGLGENQUERIESPROC_MT GenQueries = NULL;
874         PFNGLDELETEQUERIESPROC_MT DeleteQueries = NULL;
875         PFNGLISQUERYPROC_MT IsQuery = NULL;
876         PFNGLBEGINQUERYPROC_MT BeginQuery = NULL;
877         PFNGLENDQUERYPROC_MT EndQuery = NULL;
878         PFNGLGETQUERYIVPROC_MT GetQueryiv = NULL;
879         PFNGLGETQUERYOBJECTIVPROC_MT GetQueryObjectiv = NULL;
880         PFNGLGETQUERYOBJECTUIVPROC_MT GetQueryObjectuiv = NULL;
881         PFNGLBINDBUFFERPROC_MT BindBuffer = NULL;
882         PFNGLDELETEBUFFERSPROC_MT DeleteBuffers = NULL;
883         PFNGLGENBUFFERSPROC_MT GenBuffers = NULL;
884         PFNGLISBUFFERPROC_MT IsBuffer = NULL;
885         PFNGLBUFFERDATAPROC_MT BufferData = NULL;
886         PFNGLBUFFERSUBDATAPROC_MT BufferSubData = NULL;
887         PFNGLGETBUFFERSUBDATAPROC_MT GetBufferSubData = NULL;
888         PFNGLMAPBUFFERPROC_MT MapBuffer = NULL;
889         PFNGLUNMAPBUFFERPROC_MT UnmapBuffer = NULL;
890         PFNGLGETBUFFERPARAMETERIVPROC_MT GetBufferParameteriv = NULL;
891         PFNGLGETBUFFERPOINTERVPROC_MT GetBufferPointerv = NULL;
892         PFNGLBLENDEQUATIONSEPARATEPROC_MT BlendEquationSeparate = NULL;
893         PFNGLDRAWBUFFERSPROC_MT DrawBuffers = NULL;
894         PFNGLSTENCILOPSEPARATEPROC_MT StencilOpSeparate = NULL;
895         PFNGLSTENCILFUNCSEPARATEPROC_MT StencilFuncSeparate = NULL;
896         PFNGLSTENCILMASKSEPARATEPROC_MT StencilMaskSeparate = NULL;
897         PFNGLATTACHSHADERPROC_MT AttachShader = NULL;
898         PFNGLBINDATTRIBLOCATIONPROC_MT BindAttribLocation = NULL;
899         PFNGLCOMPILESHADERPROC_MT CompileShader = NULL;
900         PFNGLCREATEPROGRAMPROC_MT CreateProgram = NULL;
901         PFNGLCREATESHADERPROC_MT CreateShader = NULL;
902         PFNGLDELETEPROGRAMPROC_MT DeleteProgram = NULL;
903         PFNGLDELETESHADERPROC_MT DeleteShader = NULL;
904         PFNGLDETACHSHADERPROC_MT DetachShader = NULL;
905         PFNGLDISABLEVERTEXATTRIBARRAYPROC_MT DisableVertexAttribArray = NULL;
906         PFNGLENABLEVERTEXATTRIBARRAYPROC_MT EnableVertexAttribArray = NULL;
907         PFNGLGETACTIVEATTRIBPROC_MT GetActiveAttrib = NULL;
908         PFNGLGETACTIVEUNIFORMPROC_MT GetActiveUniform = NULL;
909         PFNGLGETATTACHEDSHADERSPROC_MT GetAttachedShaders = NULL;
910         PFNGLGETATTRIBLOCATIONPROC_MT GetAttribLocation = NULL;
911         PFNGLGETPROGRAMIVPROC_MT GetProgramiv = NULL;
912         PFNGLGETPROGRAMINFOLOGPROC_MT GetProgramInfoLog = NULL;
913         PFNGLGETSHADERIVPROC_MT GetShaderiv = NULL;
914         PFNGLGETSHADERINFOLOGPROC_MT GetShaderInfoLog = NULL;
915         PFNGLGETSHADERSOURCEPROC_MT GetShaderSource = NULL;
916         PFNGLGETUNIFORMLOCATIONPROC_MT GetUniformLocation = NULL;
917         PFNGLGETUNIFORMFVPROC_MT GetUniformfv = NULL;
918         PFNGLGETUNIFORMIVPROC_MT GetUniformiv = NULL;
919         PFNGLGETVERTEXATTRIBDVPROC_MT GetVertexAttribdv = NULL;
920         PFNGLGETVERTEXATTRIBFVPROC_MT GetVertexAttribfv = NULL;
921         PFNGLGETVERTEXATTRIBIVPROC_MT GetVertexAttribiv = NULL;
922         PFNGLGETVERTEXATTRIBPOINTERVPROC_MT GetVertexAttribPointerv = NULL;
923         PFNGLISPROGRAMPROC_MT IsProgram = NULL;
924         PFNGLISSHADERPROC_MT IsShader = NULL;
925         PFNGLLINKPROGRAMPROC_MT LinkProgram = NULL;
926         PFNGLSHADERSOURCEPROC_MT ShaderSource = NULL;
927         PFNGLUSEPROGRAMPROC_MT UseProgram = NULL;
928         PFNGLUNIFORM1FPROC_MT Uniform1f = NULL;
929         PFNGLUNIFORM2FPROC_MT Uniform2f = NULL;
930         PFNGLUNIFORM3FPROC_MT Uniform3f = NULL;
931         PFNGLUNIFORM4FPROC_MT Uniform4f = NULL;
932         PFNGLUNIFORM1IPROC_MT Uniform1i = NULL;
933         PFNGLUNIFORM2IPROC_MT Uniform2i = NULL;
934         PFNGLUNIFORM3IPROC_MT Uniform3i = NULL;
935         PFNGLUNIFORM4IPROC_MT Uniform4i = NULL;
936         PFNGLUNIFORM1FVPROC_MT Uniform1fv = NULL;
937         PFNGLUNIFORM2FVPROC_MT Uniform2fv = NULL;
938         PFNGLUNIFORM3FVPROC_MT Uniform3fv = NULL;
939         PFNGLUNIFORM4FVPROC_MT Uniform4fv = NULL;
940         PFNGLUNIFORM1IVPROC_MT Uniform1iv = NULL;
941         PFNGLUNIFORM2IVPROC_MT Uniform2iv = NULL;
942         PFNGLUNIFORM3IVPROC_MT Uniform3iv = NULL;
943         PFNGLUNIFORM4IVPROC_MT Uniform4iv = NULL;
944         PFNGLUNIFORMMATRIX2FVPROC_MT UniformMatrix2fv = NULL;
945         PFNGLUNIFORMMATRIX3FVPROC_MT UniformMatrix3fv = NULL;
946         PFNGLUNIFORMMATRIX4FVPROC_MT UniformMatrix4fv = NULL;
947         PFNGLVALIDATEPROGRAMPROC_MT ValidateProgram = NULL;
948         PFNGLVERTEXATTRIB1DPROC_MT VertexAttrib1d = NULL;
949         PFNGLVERTEXATTRIB1DVPROC_MT VertexAttrib1dv = NULL;
950         PFNGLVERTEXATTRIB1FPROC_MT VertexAttrib1f = NULL;
951         PFNGLVERTEXATTRIB1FVPROC_MT VertexAttrib1fv = NULL;
952         PFNGLVERTEXATTRIB1SPROC_MT VertexAttrib1s = NULL;
953         PFNGLVERTEXATTRIB1SVPROC_MT VertexAttrib1sv = NULL;
954         PFNGLVERTEXATTRIB2DPROC_MT VertexAttrib2d = NULL;
955         PFNGLVERTEXATTRIB2DVPROC_MT VertexAttrib2dv = NULL;
956         PFNGLVERTEXATTRIB2FPROC_MT VertexAttrib2f = NULL;
957         PFNGLVERTEXATTRIB2FVPROC_MT VertexAttrib2fv = NULL;
958         PFNGLVERTEXATTRIB2SPROC_MT VertexAttrib2s = NULL;
959         PFNGLVERTEXATTRIB2SVPROC_MT VertexAttrib2sv = NULL;
960         PFNGLVERTEXATTRIB3DPROC_MT VertexAttrib3d = NULL;
961         PFNGLVERTEXATTRIB3DVPROC_MT VertexAttrib3dv = NULL;
962         PFNGLVERTEXATTRIB3FPROC_MT VertexAttrib3f = NULL;
963         PFNGLVERTEXATTRIB3FVPROC_MT VertexAttrib3fv = NULL;
964         PFNGLVERTEXATTRIB3SPROC_MT VertexAttrib3s = NULL;
965         PFNGLVERTEXATTRIB3SVPROC_MT VertexAttrib3sv = NULL;
966         PFNGLVERTEXATTRIB4NBVPROC_MT VertexAttrib4Nbv = NULL;
967         PFNGLVERTEXATTRIB4NIVPROC_MT VertexAttrib4Niv = NULL;
968         PFNGLVERTEXATTRIB4NSVPROC_MT VertexAttrib4Nsv = NULL;
969         PFNGLVERTEXATTRIB4NUBPROC_MT VertexAttrib4Nub = NULL;
970         PFNGLVERTEXATTRIB4NUBVPROC_MT VertexAttrib4Nubv = NULL;
971         PFNGLVERTEXATTRIB4NUIVPROC_MT VertexAttrib4Nuiv = NULL;
972         PFNGLVERTEXATTRIB4NUSVPROC_MT VertexAttrib4Nusv = NULL;
973         PFNGLVERTEXATTRIB4BVPROC_MT VertexAttrib4bv = NULL;
974         PFNGLVERTEXATTRIB4DPROC_MT VertexAttrib4d = NULL;
975         PFNGLVERTEXATTRIB4DVPROC_MT VertexAttrib4dv = NULL;
976         PFNGLVERTEXATTRIB4FPROC_MT VertexAttrib4f = NULL;
977         PFNGLVERTEXATTRIB4FVPROC_MT VertexAttrib4fv = NULL;
978         PFNGLVERTEXATTRIB4IVPROC_MT VertexAttrib4iv = NULL;
979         PFNGLVERTEXATTRIB4SPROC_MT VertexAttrib4s = NULL;
980         PFNGLVERTEXATTRIB4SVPROC_MT VertexAttrib4sv = NULL;
981         PFNGLVERTEXATTRIB4UBVPROC_MT VertexAttrib4ubv = NULL;
982         PFNGLVERTEXATTRIB4UIVPROC_MT VertexAttrib4uiv = NULL;
983         PFNGLVERTEXATTRIB4USVPROC_MT VertexAttrib4usv = NULL;
984         PFNGLVERTEXATTRIBPOINTERPROC_MT VertexAttribPointer = NULL;
985         PFNGLUNIFORMMATRIX2X3FVPROC_MT UniformMatrix2x3fv = NULL;
986         PFNGLUNIFORMMATRIX3X2FVPROC_MT UniformMatrix3x2fv = NULL;
987         PFNGLUNIFORMMATRIX2X4FVPROC_MT UniformMatrix2x4fv = NULL;
988         PFNGLUNIFORMMATRIX4X2FVPROC_MT UniformMatrix4x2fv = NULL;
989         PFNGLUNIFORMMATRIX3X4FVPROC_MT UniformMatrix3x4fv = NULL;
990         PFNGLUNIFORMMATRIX4X3FVPROC_MT UniformMatrix4x3fv = NULL;
991         PFNGLCOLORMASKIPROC_MT ColorMaski = NULL;
992         PFNGLENABLEIPROC_MT Enablei = NULL;
993         PFNGLDISABLEIPROC_MT Disablei = NULL;
994         PFNGLISENABLEDIPROC_MT IsEnabledi = NULL;
995         PFNGLBEGINTRANSFORMFEEDBACKPROC_MT BeginTransformFeedback = NULL;
996         PFNGLENDTRANSFORMFEEDBACKPROC_MT EndTransformFeedback = NULL;
997         PFNGLBINDBUFFERRANGEPROC_MT BindBufferRange = NULL;
998         PFNGLBINDBUFFERBASEPROC_MT BindBufferBase = NULL;
999         PFNGLTRANSFORMFEEDBACKVARYINGSPROC_MT TransformFeedbackVaryings = NULL;
1000         PFNGLGETTRANSFORMFEEDBACKVARYINGPROC_MT GetTransformFeedbackVarying = NULL;
1001         PFNGLCLAMPCOLORPROC_MT ClampColor = NULL;
1002         PFNGLBEGINCONDITIONALRENDERPROC_MT BeginConditionalRender = NULL;
1003         PFNGLENDCONDITIONALRENDERPROC_MT EndConditionalRender = NULL;
1004         PFNGLVERTEXATTRIBIPOINTERPROC_MT VertexAttribIPointer = NULL;
1005         PFNGLGETVERTEXATTRIBIIVPROC_MT GetVertexAttribIiv = NULL;
1006         PFNGLGETVERTEXATTRIBIUIVPROC_MT GetVertexAttribIuiv = NULL;
1007         PFNGLVERTEXATTRIBI1IPROC_MT VertexAttribI1i = NULL;
1008         PFNGLVERTEXATTRIBI2IPROC_MT VertexAttribI2i = NULL;
1009         PFNGLVERTEXATTRIBI3IPROC_MT VertexAttribI3i = NULL;
1010         PFNGLVERTEXATTRIBI4IPROC_MT VertexAttribI4i = NULL;
1011         PFNGLVERTEXATTRIBI1UIPROC_MT VertexAttribI1ui = NULL;
1012         PFNGLVERTEXATTRIBI2UIPROC_MT VertexAttribI2ui = NULL;
1013         PFNGLVERTEXATTRIBI3UIPROC_MT VertexAttribI3ui = NULL;
1014         PFNGLVERTEXATTRIBI4UIPROC_MT VertexAttribI4ui = NULL;
1015         PFNGLVERTEXATTRIBI1IVPROC_MT VertexAttribI1iv = NULL;
1016         PFNGLVERTEXATTRIBI2IVPROC_MT VertexAttribI2iv = NULL;
1017         PFNGLVERTEXATTRIBI3IVPROC_MT VertexAttribI3iv = NULL;
1018         PFNGLVERTEXATTRIBI4IVPROC_MT VertexAttribI4iv = NULL;
1019         PFNGLVERTEXATTRIBI1UIVPROC_MT VertexAttribI1uiv = NULL;
1020         PFNGLVERTEXATTRIBI2UIVPROC_MT VertexAttribI2uiv = NULL;
1021         PFNGLVERTEXATTRIBI3UIVPROC_MT VertexAttribI3uiv = NULL;
1022         PFNGLVERTEXATTRIBI4UIVPROC_MT VertexAttribI4uiv = NULL;
1023         PFNGLVERTEXATTRIBI4BVPROC_MT VertexAttribI4bv = NULL;
1024         PFNGLVERTEXATTRIBI4SVPROC_MT VertexAttribI4sv = NULL;
1025         PFNGLVERTEXATTRIBI4UBVPROC_MT VertexAttribI4ubv = NULL;
1026         PFNGLVERTEXATTRIBI4USVPROC_MT VertexAttribI4usv = NULL;
1027         PFNGLGETUNIFORMUIVPROC_MT GetUniformuiv = NULL;
1028         PFNGLBINDFRAGDATALOCATIONPROC_MT BindFragDataLocation = NULL;
1029         PFNGLGETFRAGDATALOCATIONPROC_MT GetFragDataLocation = NULL;
1030         PFNGLUNIFORM1UIPROC_MT Uniform1ui = NULL;
1031         PFNGLUNIFORM2UIPROC_MT Uniform2ui = NULL;
1032         PFNGLUNIFORM3UIPROC_MT Uniform3ui = NULL;
1033         PFNGLUNIFORM4UIPROC_MT Uniform4ui = NULL;
1034         PFNGLUNIFORM1UIVPROC_MT Uniform1uiv = NULL;
1035         PFNGLUNIFORM2UIVPROC_MT Uniform2uiv = NULL;
1036         PFNGLUNIFORM3UIVPROC_MT Uniform3uiv = NULL;
1037         PFNGLUNIFORM4UIVPROC_MT Uniform4uiv = NULL;
1038         PFNGLTEXPARAMETERIIVPROC_MT TexParameterIiv = NULL;
1039         PFNGLTEXPARAMETERIUIVPROC_MT TexParameterIuiv = NULL;
1040         PFNGLGETTEXPARAMETERIIVPROC_MT GetTexParameterIiv = NULL;
1041         PFNGLGETTEXPARAMETERIUIVPROC_MT GetTexParameterIuiv = NULL;
1042         PFNGLCLEARBUFFERIVPROC_MT ClearBufferiv = NULL;
1043         PFNGLCLEARBUFFERUIVPROC_MT ClearBufferuiv = NULL;
1044         PFNGLCLEARBUFFERFVPROC_MT ClearBufferfv = NULL;
1045         PFNGLCLEARBUFFERFIPROC_MT ClearBufferfi = NULL;
1046         PFNGLGETSTRINGIPROC_MT GetStringi = NULL;
1047         PFNGLISRENDERBUFFERPROC_MT IsRenderbuffer = NULL;
1048         PFNGLBINDRENDERBUFFERPROC_MT BindRenderbuffer = NULL;
1049         PFNGLDELETERENDERBUFFERSPROC_MT DeleteRenderbuffers = NULL;
1050         PFNGLGENRENDERBUFFERSPROC_MT GenRenderbuffers = NULL;
1051         PFNGLRENDERBUFFERSTORAGEPROC_MT RenderbufferStorage = NULL;
1052         PFNGLGETRENDERBUFFERPARAMETERIVPROC_MT GetRenderbufferParameteriv = NULL;
1053         PFNGLISFRAMEBUFFERPROC_MT IsFramebuffer = NULL;
1054         PFNGLBINDFRAMEBUFFERPROC_MT BindFramebuffer = NULL;
1055         PFNGLDELETEFRAMEBUFFERSPROC_MT DeleteFramebuffers = NULL;
1056         PFNGLGENFRAMEBUFFERSPROC_MT GenFramebuffers = NULL;
1057         PFNGLCHECKFRAMEBUFFERSTATUSPROC_MT CheckFramebufferStatus = NULL;
1058         PFNGLFRAMEBUFFERTEXTURE1DPROC_MT FramebufferTexture1D = NULL;
1059         PFNGLFRAMEBUFFERTEXTURE2DPROC_MT FramebufferTexture2D = NULL;
1060         PFNGLFRAMEBUFFERTEXTURE3DPROC_MT FramebufferTexture3D = NULL;
1061         PFNGLFRAMEBUFFERRENDERBUFFERPROC_MT FramebufferRenderbuffer = NULL;
1062         PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC_MT GetFramebufferAttachmentParameteriv = NULL;
1063         PFNGLGENERATEMIPMAPPROC_MT GenerateMipmap = NULL;
1064         PFNGLBLITFRAMEBUFFERPROC_MT BlitFramebuffer = NULL;
1065         PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC_MT RenderbufferStorageMultisample = NULL;
1066         PFNGLFRAMEBUFFERTEXTURELAYERPROC_MT FramebufferTextureLayer = NULL;
1067         PFNGLMAPBUFFERRANGEPROC_MT MapBufferRange = NULL;
1068         PFNGLFLUSHMAPPEDBUFFERRANGEPROC_MT FlushMappedBufferRange = NULL;
1069         PFNGLBINDVERTEXARRAYPROC_MT BindVertexArray = NULL;
1070         PFNGLDELETEVERTEXARRAYSPROC_MT DeleteVertexArrays = NULL;
1071         PFNGLGENVERTEXARRAYSPROC_MT GenVertexArrays = NULL;
1072         PFNGLISVERTEXARRAYPROC_MT IsVertexArray = NULL;
1073         PFNGLDRAWARRAYSINSTANCEDPROC_MT DrawArraysInstanced = NULL;
1074         PFNGLDRAWELEMENTSINSTANCEDPROC_MT DrawElementsInstanced = NULL;
1075         PFNGLTEXBUFFERPROC_MT TexBuffer = NULL;
1076         PFNGLPRIMITIVERESTARTINDEXPROC_MT PrimitiveRestartIndex = NULL;
1077         PFNGLCOPYBUFFERSUBDATAPROC_MT CopyBufferSubData = NULL;
1078         PFNGLGETUNIFORMINDICESPROC_MT GetUniformIndices = NULL;
1079         PFNGLGETACTIVEUNIFORMSIVPROC_MT GetActiveUniformsiv = NULL;
1080         PFNGLGETACTIVEUNIFORMNAMEPROC_MT GetActiveUniformName = NULL;
1081         PFNGLGETUNIFORMBLOCKINDEXPROC_MT GetUniformBlockIndex = NULL;
1082         PFNGLGETACTIVEUNIFORMBLOCKIVPROC_MT GetActiveUniformBlockiv = NULL;
1083         PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC_MT GetActiveUniformBlockName = NULL;
1084         PFNGLUNIFORMBLOCKBINDINGPROC_MT UniformBlockBinding = NULL;
1085         PFNGLDRAWELEMENTSBASEVERTEXPROC_MT DrawElementsBaseVertex = NULL;
1086         PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC_MT DrawRangeElementsBaseVertex = NULL;
1087         PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC_MT DrawElementsInstancedBaseVertex = NULL;
1088         PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC_MT MultiDrawElementsBaseVertex = NULL;
1089         PFNGLPROVOKINGVERTEXPROC_MT ProvokingVertex = NULL;
1090         PFNGLFENCESYNCPROC_MT FenceSync = NULL;
1091         PFNGLISSYNCPROC_MT IsSync = NULL;
1092         PFNGLDELETESYNCPROC_MT DeleteSync = NULL;
1093         PFNGLCLIENTWAITSYNCPROC_MT ClientWaitSync = NULL;
1094         PFNGLWAITSYNCPROC_MT WaitSync = NULL;
1095         PFNGLGETINTEGER64VPROC_MT GetInteger64v = NULL;
1096         PFNGLGETSYNCIVPROC_MT GetSynciv = NULL;
1097         PFNGLGETBUFFERPARAMETERI64VPROC_MT GetBufferParameteri64v = NULL;
1098         PFNGLFRAMEBUFFERTEXTUREPROC_MT FramebufferTexture = NULL;
1099         PFNGLTEXIMAGE2DMULTISAMPLEPROC_MT TexImage2DMultisample = NULL;
1100         PFNGLTEXIMAGE3DMULTISAMPLEPROC_MT TexImage3DMultisample = NULL;
1101         PFNGLGETMULTISAMPLEFVPROC_MT GetMultisamplefv = NULL;
1102         PFNGLSAMPLEMASKIPROC_MT SampleMaski = NULL;
1103         PFNGLBINDFRAGDATALOCATIONINDEXEDPROC_MT BindFragDataLocationIndexed = NULL;
1104         PFNGLGETFRAGDATAINDEXPROC_MT GetFragDataIndex = NULL;
1105         PFNGLGENSAMPLERSPROC_MT GenSamplers = NULL;
1106         PFNGLDELETESAMPLERSPROC_MT DeleteSamplers = NULL;
1107         PFNGLISSAMPLERPROC_MT IsSampler = NULL;
1108         PFNGLBINDSAMPLERPROC_MT BindSampler = NULL;
1109         PFNGLSAMPLERPARAMETERIPROC_MT SamplerParameteri = NULL;
1110         PFNGLSAMPLERPARAMETERIVPROC_MT SamplerParameteriv = NULL;
1111         PFNGLSAMPLERPARAMETERFPROC_MT SamplerParameterf = NULL;
1112         PFNGLSAMPLERPARAMETERFVPROC_MT SamplerParameterfv = NULL;
1113         PFNGLSAMPLERPARAMETERIIVPROC_MT SamplerParameterIiv = NULL;
1114         PFNGLSAMPLERPARAMETERIUIVPROC_MT SamplerParameterIuiv = NULL;
1115         PFNGLGETSAMPLERPARAMETERIVPROC_MT GetSamplerParameteriv = NULL;
1116         PFNGLGETSAMPLERPARAMETERIIVPROC_MT GetSamplerParameterIiv = NULL;
1117         PFNGLGETSAMPLERPARAMETERFVPROC_MT GetSamplerParameterfv = NULL;
1118         PFNGLGETSAMPLERPARAMETERIUIVPROC_MT GetSamplerParameterIuiv = NULL;
1119         PFNGLQUERYCOUNTERPROC_MT QueryCounter = NULL;
1120         PFNGLGETQUERYOBJECTI64VPROC_MT GetQueryObjecti64v = NULL;
1121         PFNGLGETQUERYOBJECTUI64VPROC_MT GetQueryObjectui64v = NULL;
1122         PFNGLVERTEXATTRIBDIVISORPROC_MT VertexAttribDivisor = NULL;
1123         PFNGLVERTEXATTRIBP1UIPROC_MT VertexAttribP1ui = NULL;
1124         PFNGLVERTEXATTRIBP1UIVPROC_MT VertexAttribP1uiv = NULL;
1125         PFNGLVERTEXATTRIBP2UIPROC_MT VertexAttribP2ui = NULL;
1126         PFNGLVERTEXATTRIBP2UIVPROC_MT VertexAttribP2uiv = NULL;
1127         PFNGLVERTEXATTRIBP3UIPROC_MT VertexAttribP3ui = NULL;
1128         PFNGLVERTEXATTRIBP3UIVPROC_MT VertexAttribP3uiv = NULL;
1129         PFNGLVERTEXATTRIBP4UIPROC_MT VertexAttribP4ui = NULL;
1130         PFNGLVERTEXATTRIBP4UIVPROC_MT VertexAttribP4uiv = NULL;
1131         PFNGLMINSAMPLESHADINGPROC_MT MinSampleShading = NULL;
1132         PFNGLBLENDEQUATIONIPROC_MT BlendEquationi = NULL;
1133         PFNGLBLENDEQUATIONSEPARATEIPROC_MT BlendEquationSeparatei = NULL;
1134         PFNGLBLENDFUNCIPROC_MT BlendFunci = NULL;
1135         PFNGLBLENDFUNCSEPARATEIPROC_MT BlendFuncSeparatei = NULL;
1136         PFNGLDRAWARRAYSINDIRECTPROC_MT DrawArraysIndirect = NULL;
1137         PFNGLDRAWELEMENTSINDIRECTPROC_MT DrawElementsIndirect = NULL;
1138         PFNGLUNIFORM1DPROC_MT Uniform1d = NULL;
1139         PFNGLUNIFORM2DPROC_MT Uniform2d = NULL;
1140         PFNGLUNIFORM3DPROC_MT Uniform3d = NULL;
1141         PFNGLUNIFORM4DPROC_MT Uniform4d = NULL;
1142         PFNGLUNIFORM1DVPROC_MT Uniform1dv = NULL;
1143         PFNGLUNIFORM2DVPROC_MT Uniform2dv = NULL;
1144         PFNGLUNIFORM3DVPROC_MT Uniform3dv = NULL;
1145         PFNGLUNIFORM4DVPROC_MT Uniform4dv = NULL;
1146         PFNGLUNIFORMMATRIX2DVPROC_MT UniformMatrix2dv = NULL;
1147         PFNGLUNIFORMMATRIX3DVPROC_MT UniformMatrix3dv = NULL;
1148         PFNGLUNIFORMMATRIX4DVPROC_MT UniformMatrix4dv = NULL;
1149         PFNGLUNIFORMMATRIX2X3DVPROC_MT UniformMatrix2x3dv = NULL;
1150         PFNGLUNIFORMMATRIX2X4DVPROC_MT UniformMatrix2x4dv = NULL;
1151         PFNGLUNIFORMMATRIX3X2DVPROC_MT UniformMatrix3x2dv = NULL;
1152         PFNGLUNIFORMMATRIX3X4DVPROC_MT UniformMatrix3x4dv = NULL;
1153         PFNGLUNIFORMMATRIX4X2DVPROC_MT UniformMatrix4x2dv = NULL;
1154         PFNGLUNIFORMMATRIX4X3DVPROC_MT UniformMatrix4x3dv = NULL;
1155         PFNGLGETUNIFORMDVPROC_MT GetUniformdv = NULL;
1156         PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC_MT GetSubroutineUniformLocation = NULL;
1157         PFNGLGETSUBROUTINEINDEXPROC_MT GetSubroutineIndex = NULL;
1158         PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC_MT GetActiveSubroutineUniformiv = NULL;
1159         PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC_MT GetActiveSubroutineUniformName = NULL;
1160         PFNGLGETACTIVESUBROUTINENAMEPROC_MT GetActiveSubroutineName = NULL;
1161         PFNGLUNIFORMSUBROUTINESUIVPROC_MT UniformSubroutinesuiv = NULL;
1162         PFNGLGETUNIFORMSUBROUTINEUIVPROC_MT GetUniformSubroutineuiv = NULL;
1163         PFNGLGETPROGRAMSTAGEIVPROC_MT GetProgramStageiv = NULL;
1164         PFNGLPATCHPARAMETERIPROC_MT PatchParameteri = NULL;
1165         PFNGLPATCHPARAMETERFVPROC_MT PatchParameterfv = NULL;
1166         PFNGLBINDTRANSFORMFEEDBACKPROC_MT BindTransformFeedback = NULL;
1167         PFNGLDELETETRANSFORMFEEDBACKSPROC_MT DeleteTransformFeedbacks = NULL;
1168         PFNGLGENTRANSFORMFEEDBACKSPROC_MT GenTransformFeedbacks = NULL;
1169         PFNGLISTRANSFORMFEEDBACKPROC_MT IsTransformFeedback = NULL;
1170         PFNGLPAUSETRANSFORMFEEDBACKPROC_MT PauseTransformFeedback = NULL;
1171         PFNGLRESUMETRANSFORMFEEDBACKPROC_MT ResumeTransformFeedback = NULL;
1172         PFNGLDRAWTRANSFORMFEEDBACKPROC_MT DrawTransformFeedback = NULL;
1173         PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC_MT DrawTransformFeedbackStream = NULL;
1174         PFNGLBEGINQUERYINDEXEDPROC_MT BeginQueryIndexed = NULL;
1175         PFNGLENDQUERYINDEXEDPROC_MT EndQueryIndexed = NULL;
1176         PFNGLGETQUERYINDEXEDIVPROC_MT GetQueryIndexediv = NULL;
1177         PFNGLRELEASESHADERCOMPILERPROC_MT ReleaseShaderCompiler = NULL;
1178         PFNGLSHADERBINARYPROC_MT ShaderBinary = NULL;
1179         PFNGLGETSHADERPRECISIONFORMATPROC_MT GetShaderPrecisionFormat = NULL;
1180         PFNGLDEPTHRANGEFPROC_MT DepthRangef = NULL;
1181         PFNGLCLEARDEPTHFPROC_MT ClearDepthf = NULL;
1182         PFNGLGETPROGRAMBINARYPROC_MT GetProgramBinary = NULL;
1183         PFNGLPROGRAMBINARYPROC_MT ProgramBinary = NULL;
1184         PFNGLPROGRAMPARAMETERIPROC_MT ProgramParameteri = NULL;
1185         PFNGLUSEPROGRAMSTAGESPROC_MT UseProgramStages = NULL;
1186         PFNGLACTIVESHADERPROGRAMPROC_MT ActiveShaderProgram = NULL;
1187         PFNGLCREATESHADERPROGRAMVPROC_MT CreateShaderProgramv = NULL;
1188         PFNGLBINDPROGRAMPIPELINEPROC_MT BindProgramPipeline = NULL;
1189         PFNGLDELETEPROGRAMPIPELINESPROC_MT DeleteProgramPipelines = NULL;
1190         PFNGLGENPROGRAMPIPELINESPROC_MT GenProgramPipelines = NULL;
1191         PFNGLISPROGRAMPIPELINEPROC_MT IsProgramPipeline = NULL;
1192         PFNGLGETPROGRAMPIPELINEIVPROC_MT GetProgramPipelineiv = NULL;
1193         PFNGLPROGRAMUNIFORM1IPROC_MT ProgramUniform1i = NULL;
1194         PFNGLPROGRAMUNIFORM1IVPROC_MT ProgramUniform1iv = NULL;
1195         PFNGLPROGRAMUNIFORM1FPROC_MT ProgramUniform1f = NULL;
1196         PFNGLPROGRAMUNIFORM1FVPROC_MT ProgramUniform1fv = NULL;
1197         PFNGLPROGRAMUNIFORM1DPROC_MT ProgramUniform1d = NULL;
1198         PFNGLPROGRAMUNIFORM1DVPROC_MT ProgramUniform1dv = NULL;
1199         PFNGLPROGRAMUNIFORM1UIPROC_MT ProgramUniform1ui = NULL;
1200         PFNGLPROGRAMUNIFORM1UIVPROC_MT ProgramUniform1uiv = NULL;
1201         PFNGLPROGRAMUNIFORM2IPROC_MT ProgramUniform2i = NULL;
1202         PFNGLPROGRAMUNIFORM2IVPROC_MT ProgramUniform2iv = NULL;
1203         PFNGLPROGRAMUNIFORM2FPROC_MT ProgramUniform2f = NULL;
1204         PFNGLPROGRAMUNIFORM2FVPROC_MT ProgramUniform2fv = NULL;
1205         PFNGLPROGRAMUNIFORM2DPROC_MT ProgramUniform2d = NULL;
1206         PFNGLPROGRAMUNIFORM2DVPROC_MT ProgramUniform2dv = NULL;
1207         PFNGLPROGRAMUNIFORM2UIPROC_MT ProgramUniform2ui = NULL;
1208         PFNGLPROGRAMUNIFORM2UIVPROC_MT ProgramUniform2uiv = NULL;
1209         PFNGLPROGRAMUNIFORM3IPROC_MT ProgramUniform3i = NULL;
1210         PFNGLPROGRAMUNIFORM3IVPROC_MT ProgramUniform3iv = NULL;
1211         PFNGLPROGRAMUNIFORM3FPROC_MT ProgramUniform3f = NULL;
1212         PFNGLPROGRAMUNIFORM3FVPROC_MT ProgramUniform3fv = NULL;
1213         PFNGLPROGRAMUNIFORM3DPROC_MT ProgramUniform3d = NULL;
1214         PFNGLPROGRAMUNIFORM3DVPROC_MT ProgramUniform3dv = NULL;
1215         PFNGLPROGRAMUNIFORM3UIPROC_MT ProgramUniform3ui = NULL;
1216         PFNGLPROGRAMUNIFORM3UIVPROC_MT ProgramUniform3uiv = NULL;
1217         PFNGLPROGRAMUNIFORM4IPROC_MT ProgramUniform4i = NULL;
1218         PFNGLPROGRAMUNIFORM4IVPROC_MT ProgramUniform4iv = NULL;
1219         PFNGLPROGRAMUNIFORM4FPROC_MT ProgramUniform4f = NULL;
1220         PFNGLPROGRAMUNIFORM4FVPROC_MT ProgramUniform4fv = NULL;
1221         PFNGLPROGRAMUNIFORM4DPROC_MT ProgramUniform4d = NULL;
1222         PFNGLPROGRAMUNIFORM4DVPROC_MT ProgramUniform4dv = NULL;
1223         PFNGLPROGRAMUNIFORM4UIPROC_MT ProgramUniform4ui = NULL;
1224         PFNGLPROGRAMUNIFORM4UIVPROC_MT ProgramUniform4uiv = NULL;
1225         PFNGLPROGRAMUNIFORMMATRIX2FVPROC_MT ProgramUniformMatrix2fv = NULL;
1226         PFNGLPROGRAMUNIFORMMATRIX3FVPROC_MT ProgramUniformMatrix3fv = NULL;
1227         PFNGLPROGRAMUNIFORMMATRIX4FVPROC_MT ProgramUniformMatrix4fv = NULL;
1228         PFNGLPROGRAMUNIFORMMATRIX2DVPROC_MT ProgramUniformMatrix2dv = NULL;
1229         PFNGLPROGRAMUNIFORMMATRIX3DVPROC_MT ProgramUniformMatrix3dv = NULL;
1230         PFNGLPROGRAMUNIFORMMATRIX4DVPROC_MT ProgramUniformMatrix4dv = NULL;
1231         PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC_MT ProgramUniformMatrix2x3fv = NULL;
1232         PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC_MT ProgramUniformMatrix3x2fv = NULL;
1233         PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC_MT ProgramUniformMatrix2x4fv = NULL;
1234         PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC_MT ProgramUniformMatrix4x2fv = NULL;
1235         PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC_MT ProgramUniformMatrix3x4fv = NULL;
1236         PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC_MT ProgramUniformMatrix4x3fv = NULL;
1237         PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC_MT ProgramUniformMatrix2x3dv = NULL;
1238         PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC_MT ProgramUniformMatrix3x2dv = NULL;
1239         PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC_MT ProgramUniformMatrix2x4dv = NULL;
1240         PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC_MT ProgramUniformMatrix4x2dv = NULL;
1241         PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC_MT ProgramUniformMatrix3x4dv = NULL;
1242         PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC_MT ProgramUniformMatrix4x3dv = NULL;
1243         PFNGLVALIDATEPROGRAMPIPELINEPROC_MT ValidateProgramPipeline = NULL;
1244         PFNGLGETPROGRAMPIPELINEINFOLOGPROC_MT GetProgramPipelineInfoLog = NULL;
1245         PFNGLVERTEXATTRIBL1DPROC_MT VertexAttribL1d = NULL;
1246         PFNGLVERTEXATTRIBL2DPROC_MT VertexAttribL2d = NULL;
1247         PFNGLVERTEXATTRIBL3DPROC_MT VertexAttribL3d = NULL;
1248         PFNGLVERTEXATTRIBL4DPROC_MT VertexAttribL4d = NULL;
1249         PFNGLVERTEXATTRIBL1DVPROC_MT VertexAttribL1dv = NULL;
1250         PFNGLVERTEXATTRIBL2DVPROC_MT VertexAttribL2dv = NULL;
1251         PFNGLVERTEXATTRIBL3DVPROC_MT VertexAttribL3dv = NULL;
1252         PFNGLVERTEXATTRIBL4DVPROC_MT VertexAttribL4dv = NULL;
1253         PFNGLVERTEXATTRIBLPOINTERPROC_MT VertexAttribLPointer = NULL;
1254         PFNGLGETVERTEXATTRIBLDVPROC_MT GetVertexAttribLdv = NULL;
1255         PFNGLVIEWPORTARRAYVPROC_MT ViewportArrayv = NULL;
1256         PFNGLVIEWPORTINDEXEDFPROC_MT ViewportIndexedf = NULL;
1257         PFNGLVIEWPORTINDEXEDFVPROC_MT ViewportIndexedfv = NULL;
1258         PFNGLSCISSORARRAYVPROC_MT ScissorArrayv = NULL;
1259         PFNGLSCISSORINDEXEDPROC_MT ScissorIndexed = NULL;
1260         PFNGLSCISSORINDEXEDVPROC_MT ScissorIndexedv = NULL;
1261         PFNGLDEPTHRANGEARRAYVPROC_MT DepthRangeArrayv = NULL;
1262         PFNGLDEPTHRANGEINDEXEDPROC_MT DepthRangeIndexed = NULL;
1263         PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC_MT DrawArraysInstancedBaseInstance = NULL;
1264         PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC_MT DrawElementsInstancedBaseInstance = NULL;
1265         PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC_MT DrawElementsInstancedBaseVertexBaseInstance = NULL;
1266         PFNGLGETINTERNALFORMATIVPROC_MT GetInternalformativ = NULL;
1267         PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC_MT GetActiveAtomicCounterBufferiv = NULL;
1268         PFNGLBINDIMAGETEXTUREPROC_MT BindImageTexture = NULL;
1269         PFNGLMEMORYBARRIERPROC_MT MemoryBarrier = NULL;
1270         PFNGLTEXSTORAGE1DPROC_MT TexStorage1D = NULL;
1271         PFNGLTEXSTORAGE2DPROC_MT TexStorage2D = NULL;
1272         PFNGLTEXSTORAGE3DPROC_MT TexStorage3D = NULL;
1273         PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC_MT DrawTransformFeedbackInstanced = NULL;
1274         PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC_MT DrawTransformFeedbackStreamInstanced = NULL;
1275         PFNGLCLEARBUFFERDATAPROC_MT ClearBufferData = NULL;
1276         PFNGLCLEARBUFFERSUBDATAPROC_MT ClearBufferSubData = NULL;
1277         PFNGLDISPATCHCOMPUTEPROC_MT DispatchCompute = NULL;
1278         PFNGLDISPATCHCOMPUTEINDIRECTPROC_MT DispatchComputeIndirect = NULL;
1279         PFNGLCOPYIMAGESUBDATAPROC_MT CopyImageSubData = NULL;
1280         PFNGLFRAMEBUFFERPARAMETERIPROC_MT FramebufferParameteri = NULL;
1281         PFNGLGETFRAMEBUFFERPARAMETERIVPROC_MT GetFramebufferParameteriv = NULL;
1282         PFNGLGETINTERNALFORMATI64VPROC_MT GetInternalformati64v = NULL;
1283         PFNGLINVALIDATETEXSUBIMAGEPROC_MT InvalidateTexSubImage = NULL;
1284         PFNGLINVALIDATETEXIMAGEPROC_MT InvalidateTexImage = NULL;
1285         PFNGLINVALIDATEBUFFERSUBDATAPROC_MT InvalidateBufferSubData = NULL;
1286         PFNGLINVALIDATEBUFFERDATAPROC_MT InvalidateBufferData = NULL;
1287         PFNGLINVALIDATEFRAMEBUFFERPROC_MT InvalidateFramebuffer = NULL;
1288         PFNGLINVALIDATESUBFRAMEBUFFERPROC_MT InvalidateSubFramebuffer = NULL;
1289         PFNGLMULTIDRAWARRAYSINDIRECTPROC_MT MultiDrawArraysIndirect = NULL;
1290         PFNGLMULTIDRAWELEMENTSINDIRECTPROC_MT MultiDrawElementsIndirect = NULL;
1291         PFNGLGETPROGRAMINTERFACEIVPROC_MT GetProgramInterfaceiv = NULL;
1292         PFNGLGETPROGRAMRESOURCEINDEXPROC_MT GetProgramResourceIndex = NULL;
1293         PFNGLGETPROGRAMRESOURCENAMEPROC_MT GetProgramResourceName = NULL;
1294         PFNGLGETPROGRAMRESOURCEIVPROC_MT GetProgramResourceiv = NULL;
1295         PFNGLGETPROGRAMRESOURCELOCATIONPROC_MT GetProgramResourceLocation = NULL;
1296         PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC_MT GetProgramResourceLocationIndex = NULL;
1297         PFNGLSHADERSTORAGEBLOCKBINDINGPROC_MT ShaderStorageBlockBinding = NULL;
1298         PFNGLTEXBUFFERRANGEPROC_MT TexBufferRange = NULL;
1299         PFNGLTEXSTORAGE2DMULTISAMPLEPROC_MT TexStorage2DMultisample = NULL;
1300         PFNGLTEXSTORAGE3DMULTISAMPLEPROC_MT TexStorage3DMultisample = NULL;
1301         PFNGLTEXTUREVIEWPROC_MT TextureView = NULL;
1302         PFNGLBINDVERTEXBUFFERPROC_MT BindVertexBuffer = NULL;
1303         PFNGLVERTEXATTRIBFORMATPROC_MT VertexAttribFormat = NULL;
1304         PFNGLVERTEXATTRIBIFORMATPROC_MT VertexAttribIFormat = NULL;
1305         PFNGLVERTEXATTRIBLFORMATPROC_MT VertexAttribLFormat = NULL;
1306         PFNGLVERTEXATTRIBBINDINGPROC_MT VertexAttribBinding = NULL;
1307         PFNGLVERTEXBINDINGDIVISORPROC_MT VertexBindingDivisor = NULL;
1308         PFNGLDEBUGMESSAGECONTROLPROC_MT DebugMessageControl = NULL;
1309         PFNGLDEBUGMESSAGEINSERTPROC_MT DebugMessageInsert = NULL;
1310         PFNGLDEBUGMESSAGECALLBACKPROC_MT DebugMessageCallback = NULL;
1311         PFNGLGETDEBUGMESSAGELOGPROC_MT GetDebugMessageLog = NULL;
1312         PFNGLPUSHDEBUGGROUPPROC_MT PushDebugGroup = NULL;
1313         PFNGLPOPDEBUGGROUPPROC_MT PopDebugGroup = NULL;
1314         PFNGLOBJECTLABELPROC_MT ObjectLabel = NULL;
1315         PFNGLGETOBJECTLABELPROC_MT GetObjectLabel = NULL;
1316         PFNGLOBJECTPTRLABELPROC_MT ObjectPtrLabel = NULL;
1317         PFNGLGETOBJECTPTRLABELPROC_MT GetObjectPtrLabel = NULL;
1318         PFNGLBUFFERSTORAGEPROC_MT BufferStorage = NULL;
1319         PFNGLCLEARTEXIMAGEPROC_MT ClearTexImage = NULL;
1320         PFNGLCLEARTEXSUBIMAGEPROC_MT ClearTexSubImage = NULL;
1321         PFNGLBINDBUFFERSBASEPROC_MT BindBuffersBase = NULL;
1322         PFNGLBINDBUFFERSRANGEPROC_MT BindBuffersRange = NULL;
1323         PFNGLBINDTEXTURESPROC_MT BindTextures = NULL;
1324         PFNGLBINDSAMPLERSPROC_MT BindSamplers = NULL;
1325         PFNGLBINDIMAGETEXTURESPROC_MT BindImageTextures = NULL;
1326         PFNGLBINDVERTEXBUFFERSPROC_MT BindVertexBuffers = NULL;
1327         PFNGLCLIPCONTROLPROC_MT ClipControl = NULL;
1328         PFNGLCREATETRANSFORMFEEDBACKSPROC_MT CreateTransformFeedbacks = NULL;
1329         PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC_MT TransformFeedbackBufferBase = NULL;
1330         PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC_MT TransformFeedbackBufferRange = NULL;
1331         PFNGLGETTRANSFORMFEEDBACKIVPROC_MT GetTransformFeedbackiv = NULL;
1332         PFNGLCREATEBUFFERSPROC_MT CreateBuffers = NULL;
1333         PFNGLNAMEDBUFFERSTORAGEPROC_MT NamedBufferStorage = NULL;
1334         PFNGLNAMEDBUFFERDATAPROC_MT NamedBufferData = NULL;
1335         PFNGLNAMEDBUFFERSUBDATAPROC_MT NamedBufferSubData = NULL;
1336         PFNGLCOPYNAMEDBUFFERSUBDATAPROC_MT CopyNamedBufferSubData = NULL;
1337         PFNGLCLEARNAMEDBUFFERDATAPROC_MT ClearNamedBufferData = NULL;
1338         PFNGLCLEARNAMEDBUFFERSUBDATAPROC_MT ClearNamedBufferSubData = NULL;
1339         PFNGLMAPNAMEDBUFFERPROC_MT MapNamedBuffer = NULL;
1340         PFNGLMAPNAMEDBUFFERRANGEPROC_MT MapNamedBufferRange = NULL;
1341         PFNGLUNMAPNAMEDBUFFERPROC_MT UnmapNamedBuffer = NULL;
1342         PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC_MT FlushMappedNamedBufferRange = NULL;
1343         PFNGLGETNAMEDBUFFERPARAMETERIVPROC_MT GetNamedBufferParameteriv = NULL;
1344         PFNGLGETNAMEDBUFFERPARAMETERI64VPROC_MT GetNamedBufferParameteri64v = NULL;
1345         PFNGLGETNAMEDBUFFERPOINTERVPROC_MT GetNamedBufferPointerv = NULL;
1346         PFNGLGETNAMEDBUFFERSUBDATAPROC_MT GetNamedBufferSubData = NULL;
1347         PFNGLCREATEFRAMEBUFFERSPROC_MT CreateFramebuffers = NULL;
1348         PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC_MT NamedFramebufferRenderbuffer = NULL;
1349         PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC_MT NamedFramebufferParameteri = NULL;
1350         PFNGLNAMEDFRAMEBUFFERTEXTUREPROC_MT NamedFramebufferTexture = NULL;
1351         PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC_MT NamedFramebufferTextureLayer = NULL;
1352         PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC_MT NamedFramebufferDrawBuffer = NULL;
1353         PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC_MT NamedFramebufferDrawBuffers = NULL;
1354         PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC_MT NamedFramebufferReadBuffer = NULL;
1355         PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC_MT InvalidateNamedFramebufferData = NULL;
1356         PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC_MT InvalidateNamedFramebufferSubData = NULL;
1357         PFNGLCLEARNAMEDFRAMEBUFFERIVPROC_MT ClearNamedFramebufferiv = NULL;
1358         PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC_MT ClearNamedFramebufferuiv = NULL;
1359         PFNGLCLEARNAMEDFRAMEBUFFERFVPROC_MT ClearNamedFramebufferfv = NULL;
1360         PFNGLCLEARNAMEDFRAMEBUFFERFIPROC_MT ClearNamedFramebufferfi = NULL;
1361         PFNGLBLITNAMEDFRAMEBUFFERPROC_MT BlitNamedFramebuffer = NULL;
1362         PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC_MT CheckNamedFramebufferStatus = NULL;
1363         PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC_MT GetNamedFramebufferParameteriv = NULL;
1364         PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC_MT GetNamedFramebufferAttachmentParameteriv = NULL;
1365         PFNGLCREATERENDERBUFFERSPROC_MT CreateRenderbuffers = NULL;
1366         PFNGLNAMEDRENDERBUFFERSTORAGEPROC_MT NamedRenderbufferStorage = NULL;
1367         PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC_MT NamedRenderbufferStorageMultisample = NULL;
1368         PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC_MT GetNamedRenderbufferParameteriv = NULL;
1369         PFNGLCREATETEXTURESPROC_MT CreateTextures = NULL;
1370         PFNGLTEXTUREBUFFERPROC_MT TextureBuffer = NULL;
1371         PFNGLTEXTUREBUFFERRANGEPROC_MT TextureBufferRange = NULL;
1372         PFNGLTEXTURESTORAGE1DPROC_MT TextureStorage1D = NULL;
1373         PFNGLTEXTURESTORAGE2DPROC_MT TextureStorage2D = NULL;
1374         PFNGLTEXTURESTORAGE3DPROC_MT TextureStorage3D = NULL;
1375         PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC_MT TextureStorage2DMultisample = NULL;
1376         PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC_MT TextureStorage3DMultisample = NULL;
1377         PFNGLTEXTURESUBIMAGE1DPROC_MT TextureSubImage1D = NULL;
1378         PFNGLTEXTURESUBIMAGE2DPROC_MT TextureSubImage2D = NULL;
1379         PFNGLTEXTURESUBIMAGE3DPROC_MT TextureSubImage3D = NULL;
1380         PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC_MT CompressedTextureSubImage1D = NULL;
1381         PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC_MT CompressedTextureSubImage2D = NULL;
1382         PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC_MT CompressedTextureSubImage3D = NULL;
1383         PFNGLCOPYTEXTURESUBIMAGE1DPROC_MT CopyTextureSubImage1D = NULL;
1384         PFNGLCOPYTEXTURESUBIMAGE2DPROC_MT CopyTextureSubImage2D = NULL;
1385         PFNGLCOPYTEXTURESUBIMAGE3DPROC_MT CopyTextureSubImage3D = NULL;
1386         PFNGLTEXTUREPARAMETERFPROC_MT TextureParameterf = NULL;
1387         PFNGLTEXTUREPARAMETERFVPROC_MT TextureParameterfv = NULL;
1388         PFNGLTEXTUREPARAMETERIPROC_MT TextureParameteri = NULL;
1389         PFNGLTEXTUREPARAMETERIIVPROC_MT TextureParameterIiv = NULL;
1390         PFNGLTEXTUREPARAMETERIUIVPROC_MT TextureParameterIuiv = NULL;
1391         PFNGLTEXTUREPARAMETERIVPROC_MT TextureParameteriv = NULL;
1392         PFNGLGENERATETEXTUREMIPMAPPROC_MT GenerateTextureMipmap = NULL;
1393         PFNGLBINDTEXTUREUNITPROC_MT BindTextureUnit = NULL;
1394         PFNGLGETTEXTUREIMAGEPROC_MT GetTextureImage = NULL;
1395         PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC_MT GetCompressedTextureImage = NULL;
1396         PFNGLGETTEXTURELEVELPARAMETERFVPROC_MT GetTextureLevelParameterfv = NULL;
1397         PFNGLGETTEXTURELEVELPARAMETERIVPROC_MT GetTextureLevelParameteriv = NULL;
1398         PFNGLGETTEXTUREPARAMETERFVPROC_MT GetTextureParameterfv = NULL;
1399         PFNGLGETTEXTUREPARAMETERIIVPROC_MT GetTextureParameterIiv = NULL;
1400         PFNGLGETTEXTUREPARAMETERIUIVPROC_MT GetTextureParameterIuiv = NULL;
1401         PFNGLGETTEXTUREPARAMETERIVPROC_MT GetTextureParameteriv = NULL;
1402         PFNGLCREATEVERTEXARRAYSPROC_MT CreateVertexArrays = NULL;
1403         PFNGLDISABLEVERTEXARRAYATTRIBPROC_MT DisableVertexArrayAttrib = NULL;
1404         PFNGLENABLEVERTEXARRAYATTRIBPROC_MT EnableVertexArrayAttrib = NULL;
1405         PFNGLVERTEXARRAYELEMENTBUFFERPROC_MT VertexArrayElementBuffer = NULL;
1406         PFNGLVERTEXARRAYVERTEXBUFFERPROC_MT VertexArrayVertexBuffer = NULL;
1407         PFNGLVERTEXARRAYVERTEXBUFFERSPROC_MT VertexArrayVertexBuffers = NULL;
1408         PFNGLVERTEXARRAYATTRIBBINDINGPROC_MT VertexArrayAttribBinding = NULL;
1409         PFNGLVERTEXARRAYATTRIBFORMATPROC_MT VertexArrayAttribFormat = NULL;
1410         PFNGLVERTEXARRAYATTRIBIFORMATPROC_MT VertexArrayAttribIFormat = NULL;
1411         PFNGLVERTEXARRAYATTRIBLFORMATPROC_MT VertexArrayAttribLFormat = NULL;
1412         PFNGLVERTEXARRAYBINDINGDIVISORPROC_MT VertexArrayBindingDivisor = NULL;
1413         PFNGLGETVERTEXARRAYIVPROC_MT GetVertexArrayiv = NULL;
1414         PFNGLGETVERTEXARRAYINDEXEDIVPROC_MT GetVertexArrayIndexediv = NULL;
1415         PFNGLGETVERTEXARRAYINDEXED64IVPROC_MT GetVertexArrayIndexed64iv = NULL;
1416         PFNGLCREATESAMPLERSPROC_MT CreateSamplers = NULL;
1417         PFNGLCREATEPROGRAMPIPELINESPROC_MT CreateProgramPipelines = NULL;
1418         PFNGLCREATEQUERIESPROC_MT CreateQueries = NULL;
1419         PFNGLGETQUERYBUFFEROBJECTI64VPROC_MT GetQueryBufferObjecti64v = NULL;
1420         PFNGLGETQUERYBUFFEROBJECTIVPROC_MT GetQueryBufferObjectiv = NULL;
1421         PFNGLGETQUERYBUFFEROBJECTUI64VPROC_MT GetQueryBufferObjectui64v = NULL;
1422         PFNGLGETQUERYBUFFEROBJECTUIVPROC_MT GetQueryBufferObjectuiv = NULL;
1423         PFNGLMEMORYBARRIERBYREGIONPROC_MT MemoryBarrierByRegion = NULL;
1424         PFNGLGETTEXTURESUBIMAGEPROC_MT GetTextureSubImage = NULL;
1425         PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC_MT GetCompressedTextureSubImage = NULL;
1426         PFNGLGETGRAPHICSRESETSTATUSPROC_MT GetGraphicsResetStatus = NULL;
1427         PFNGLGETNCOMPRESSEDTEXIMAGEPROC_MT GetnCompressedTexImage = NULL;
1428         PFNGLGETNTEXIMAGEPROC_MT GetnTexImage = NULL;
1429         PFNGLGETNUNIFORMDVPROC_MT GetnUniformdv = NULL;
1430         PFNGLGETNUNIFORMFVPROC_MT GetnUniformfv = NULL;
1431         PFNGLGETNUNIFORMIVPROC_MT GetnUniformiv = NULL;
1432         PFNGLGETNUNIFORMUIVPROC_MT GetnUniformuiv = NULL;
1433         PFNGLREADNPIXELSPROC_MT ReadnPixels = NULL;
1434         PFNGLTEXTUREBARRIERPROC_MT TextureBarrier = NULL;
1435         PFNGLSPECIALIZESHADERPROC_MT SpecializeShader = NULL;
1436         PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC_MT MultiDrawArraysIndirectCount = NULL;
1437         PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC_MT MultiDrawElementsIndirectCount = NULL;
1438         PFNGLPOLYGONOFFSETCLAMPPROC_MT PolygonOffsetClamp = NULL;
1439         PFNGLGENPERFMONITORSEXPROC_MT GenPerfMonitorsEX = NULL;
1440         PFNGLPRIMITIVEBOUNDINGBOXPROC_MT PrimitiveBoundingBox = NULL;
1441         PFNGLGETTEXTUREHANDLEPROC_MT GetTextureHandle = NULL;
1442         PFNGLGETTEXTURESAMPLERHANDLEPROC_MT GetTextureSamplerHandle = NULL;
1443         PFNGLMAKETEXTUREHANDLERESIDENTPROC_MT MakeTextureHandleResident = NULL;
1444         PFNGLMAKETEXTUREHANDLENONRESIDENTPROC_MT MakeTextureHandleNonResident = NULL;
1445         PFNGLGETIMAGEHANDLEPROC_MT GetImageHandle = NULL;
1446         PFNGLMAKEIMAGEHANDLERESIDENTPROC_MT MakeImageHandleResident = NULL;
1447         PFNGLMAKEIMAGEHANDLENONRESIDENTPROC_MT MakeImageHandleNonResident = NULL;
1448         PFNGLUNIFORMHANDLEUI64PROC_MT UniformHandleui64 = NULL;
1449         PFNGLUNIFORMHANDLEUI64VPROC_MT UniformHandleui64v = NULL;
1450         PFNGLPROGRAMUNIFORMHANDLEUI64PROC_MT ProgramUniformHandleui64 = NULL;
1451         PFNGLPROGRAMUNIFORMHANDLEUI64VPROC_MT ProgramUniformHandleui64v = NULL;
1452         PFNGLISTEXTUREHANDLERESIDENTPROC_MT IsTextureHandleResident = NULL;
1453         PFNGLISIMAGEHANDLERESIDENTPROC_MT IsImageHandleResident = NULL;
1454         PFNGLVERTEXATTRIBL1UI64PROC_MT VertexAttribL1ui64 = NULL;
1455         PFNGLVERTEXATTRIBL1UI64VPROC_MT VertexAttribL1ui64v = NULL;
1456         PFNGLGETVERTEXATTRIBLUI64VPROC_MT GetVertexAttribLui64v = NULL;
1457         PFNGLCREATESYNCFROMCLEVENTPROC_MT CreateSyncFromCLevent = NULL;
1458         PFNGLDISPATCHCOMPUTEGROUPSIZEPROC_MT DispatchComputeGroupSize = NULL;
1459         PFNGLFRAMEBUFFERTEXTUREFACEPROC_MT FramebufferTextureFace = NULL;
1460         PFNGLUNIFORM1I64PROC_MT Uniform1i64 = NULL;
1461         PFNGLUNIFORM2I64PROC_MT Uniform2i64 = NULL;
1462         PFNGLUNIFORM3I64PROC_MT Uniform3i64 = NULL;
1463         PFNGLUNIFORM4I64PROC_MT Uniform4i64 = NULL;
1464         PFNGLUNIFORM1I64VPROC_MT Uniform1i64v = NULL;
1465         PFNGLUNIFORM2I64VPROC_MT Uniform2i64v = NULL;
1466         PFNGLUNIFORM3I64VPROC_MT Uniform3i64v = NULL;
1467         PFNGLUNIFORM4I64VPROC_MT Uniform4i64v = NULL;
1468         PFNGLUNIFORM1UI64PROC_MT Uniform1ui64 = NULL;
1469         PFNGLUNIFORM2UI64PROC_MT Uniform2ui64 = NULL;
1470         PFNGLUNIFORM3UI64PROC_MT Uniform3ui64 = NULL;
1471         PFNGLUNIFORM4UI64PROC_MT Uniform4ui64 = NULL;
1472         PFNGLUNIFORM1UI64VPROC_MT Uniform1ui64v = NULL;
1473         PFNGLUNIFORM2UI64VPROC_MT Uniform2ui64v = NULL;
1474         PFNGLUNIFORM3UI64VPROC_MT Uniform3ui64v = NULL;
1475         PFNGLUNIFORM4UI64VPROC_MT Uniform4ui64v = NULL;
1476         PFNGLGETUNIFORMI64VPROC_MT GetUniformi64v = NULL;
1477         PFNGLGETUNIFORMUI64VPROC_MT GetUniformui64v = NULL;
1478         PFNGLGETNUNIFORMI64VPROC_MT GetnUniformi64v = NULL;
1479         PFNGLGETNUNIFORMUI64VPROC_MT GetnUniformui64v = NULL;
1480         PFNGLPROGRAMUNIFORM1I64PROC_MT ProgramUniform1i64 = NULL;
1481         PFNGLPROGRAMUNIFORM2I64PROC_MT ProgramUniform2i64 = NULL;
1482         PFNGLPROGRAMUNIFORM3I64PROC_MT ProgramUniform3i64 = NULL;
1483         PFNGLPROGRAMUNIFORM4I64PROC_MT ProgramUniform4i64 = NULL;
1484         PFNGLPROGRAMUNIFORM1I64VPROC_MT ProgramUniform1i64v = NULL;
1485         PFNGLPROGRAMUNIFORM2I64VPROC_MT ProgramUniform2i64v = NULL;
1486         PFNGLPROGRAMUNIFORM3I64VPROC_MT ProgramUniform3i64v = NULL;
1487         PFNGLPROGRAMUNIFORM4I64VPROC_MT ProgramUniform4i64v = NULL;
1488         PFNGLPROGRAMUNIFORM1UI64PROC_MT ProgramUniform1ui64 = NULL;
1489         PFNGLPROGRAMUNIFORM2UI64PROC_MT ProgramUniform2ui64 = NULL;
1490         PFNGLPROGRAMUNIFORM3UI64PROC_MT ProgramUniform3ui64 = NULL;
1491         PFNGLPROGRAMUNIFORM4UI64PROC_MT ProgramUniform4ui64 = NULL;
1492         PFNGLPROGRAMUNIFORM1UI64VPROC_MT ProgramUniform1ui64v = NULL;
1493         PFNGLPROGRAMUNIFORM2UI64VPROC_MT ProgramUniform2ui64v = NULL;
1494         PFNGLPROGRAMUNIFORM3UI64VPROC_MT ProgramUniform3ui64v = NULL;
1495         PFNGLPROGRAMUNIFORM4UI64VPROC_MT ProgramUniform4ui64v = NULL;
1496         PFNGLMAXSHADERCOMPILERTHREADSPROC_MT MaxShaderCompilerThreads = NULL;
1497         PFNGLFRAMEBUFFERSAMPLELOCATIONSFVPROC_MT FramebufferSampleLocationsfv = NULL;
1498         PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVPROC_MT NamedFramebufferSampleLocationsfv = NULL;
1499         PFNGLEVALUATEDEPTHVALUESPROC_MT EvaluateDepthValues = NULL;
1500         PFNGLNAMEDSTRINGPROC_MT NamedString = NULL;
1501         PFNGLDELETENAMEDSTRINGPROC_MT DeleteNamedString = NULL;
1502         PFNGLCOMPILESHADERINCLUDEPROC_MT CompileShaderInclude = NULL;
1503         PFNGLISNAMEDSTRINGPROC_MT IsNamedString = NULL;
1504         PFNGLGETNAMEDSTRINGPROC_MT GetNamedString = NULL;
1505         PFNGLGETNAMEDSTRINGIVPROC_MT GetNamedStringiv = NULL;
1506         PFNGLBUFFERPAGECOMMITMENTPROC_MT BufferPageCommitment = NULL;
1507         PFNGLNAMEDBUFFERPAGECOMMITMENTPROC_MT NamedBufferPageCommitment = NULL;
1508         PFNGLTEXPAGECOMMITMENTPROC_MT TexPageCommitment = NULL;
1509
1510         static constexpr const GLenum DEPTH_BUFFER_BIT = 0x00000100;
1511         static constexpr const GLenum STENCIL_BUFFER_BIT = 0x00000400;
1512         static constexpr const GLenum COLOR_BUFFER_BIT = 0x00004000;
1513         static constexpr const GLenum POINTS = 0x0000;
1514         static constexpr const GLenum LINES = 0x0001;
1515         static constexpr const GLenum LINE_LOOP = 0x0002;
1516         static constexpr const GLenum LINE_STRIP = 0x0003;
1517         static constexpr const GLenum TRIANGLES = 0x0004;
1518         static constexpr const GLenum TRIANGLE_STRIP = 0x0005;
1519         static constexpr const GLenum TRIANGLE_FAN = 0x0006;
1520         static constexpr const GLenum QUADS = 0x0007;
1521         static constexpr const GLenum NEVER = 0x0200;
1522         static constexpr const GLenum LESS = 0x0201;
1523         static constexpr const GLenum EQUAL = 0x0202;
1524         static constexpr const GLenum LEQUAL = 0x0203;
1525         static constexpr const GLenum GREATER = 0x0204;
1526         static constexpr const GLenum NOTEQUAL = 0x0205;
1527         static constexpr const GLenum GEQUAL = 0x0206;
1528         static constexpr const GLenum ALWAYS = 0x0207;
1529         static constexpr const GLenum SRC_COLOR = 0x0300;
1530         static constexpr const GLenum ONE_MINUS_SRC_COLOR = 0x0301;
1531         static constexpr const GLenum SRC_ALPHA = 0x0302;
1532         static constexpr const GLenum ONE_MINUS_SRC_ALPHA = 0x0303;
1533         static constexpr const GLenum DST_ALPHA = 0x0304;
1534         static constexpr const GLenum ONE_MINUS_DST_ALPHA = 0x0305;
1535         static constexpr const GLenum DST_COLOR = 0x0306;
1536         static constexpr const GLenum ONE_MINUS_DST_COLOR = 0x0307;
1537         static constexpr const GLenum SRC_ALPHA_SATURATE = 0x0308;
1538         static constexpr const GLenum FRONT_LEFT = 0x0400;
1539         static constexpr const GLenum FRONT_RIGHT = 0x0401;
1540         static constexpr const GLenum BACK_LEFT = 0x0402;
1541         static constexpr const GLenum BACK_RIGHT = 0x0403;
1542         static constexpr const GLenum FRONT = 0x0404;
1543         static constexpr const GLenum BACK = 0x0405;
1544         static constexpr const GLenum LEFT = 0x0406;
1545         static constexpr const GLenum RIGHT = 0x0407;
1546         static constexpr const GLenum FRONT_AND_BACK = 0x0408;
1547         static constexpr const GLenum INVALID_ENUM = 0x0500;
1548         static constexpr const GLenum INVALID_VALUE = 0x0501;
1549         static constexpr const GLenum INVALID_OPERATION = 0x0502;
1550         static constexpr const GLenum OUT_OF_MEMORY = 0x0505;
1551         static constexpr const GLenum CW = 0x0900;
1552         static constexpr const GLenum CCW = 0x0901;
1553         static constexpr const GLenum POINT_SIZE = 0x0B11;
1554         static constexpr const GLenum POINT_SIZE_RANGE = 0x0B12;
1555         static constexpr const GLenum POINT_SIZE_GRANULARITY = 0x0B13;
1556         static constexpr const GLenum LINE_SMOOTH = 0x0B20;
1557         static constexpr const GLenum LINE_WIDTH = 0x0B21;
1558         static constexpr const GLenum LINE_WIDTH_RANGE = 0x0B22;
1559         static constexpr const GLenum LINE_WIDTH_GRANULARITY = 0x0B23;
1560         static constexpr const GLenum POLYGON_MODE = 0x0B40;
1561         static constexpr const GLenum POLYGON_SMOOTH = 0x0B41;
1562         static constexpr const GLenum CULL_FACE = 0x0B44;
1563         static constexpr const GLenum CULL_FACE_MODE = 0x0B45;
1564         static constexpr const GLenum FRONT_FACE = 0x0B46;
1565         static constexpr const GLenum DEPTH_RANGE = 0x0B70;
1566         static constexpr const GLenum DEPTH_TEST = 0x0B71;
1567         static constexpr const GLenum DEPTH_WRITEMASK = 0x0B72;
1568         static constexpr const GLenum DEPTH_CLEAR_VALUE = 0x0B73;
1569         static constexpr const GLenum DEPTH_FUNC = 0x0B74;
1570         static constexpr const GLenum STENCIL_TEST = 0x0B90;
1571         static constexpr const GLenum STENCIL_CLEAR_VALUE = 0x0B91;
1572         static constexpr const GLenum STENCIL_FUNC = 0x0B92;
1573         static constexpr const GLenum STENCIL_VALUE_MASK = 0x0B93;
1574         static constexpr const GLenum STENCIL_FAIL = 0x0B94;
1575         static constexpr const GLenum STENCIL_PASS_DEPTH_FAIL = 0x0B95;
1576         static constexpr const GLenum STENCIL_PASS_DEPTH_PASS = 0x0B96;
1577         static constexpr const GLenum STENCIL_REF = 0x0B97;
1578         static constexpr const GLenum STENCIL_WRITEMASK = 0x0B98;
1579         static constexpr const GLenum VIEWPORT = 0x0BA2;
1580         static constexpr const GLenum DITHER = 0x0BD0;
1581         static constexpr const GLenum BLEND_DST = 0x0BE0;
1582         static constexpr const GLenum BLEND_SRC = 0x0BE1;
1583         static constexpr const GLenum BLEND = 0x0BE2;
1584         static constexpr const GLenum LOGIC_OP_MODE = 0x0BF0;
1585         static constexpr const GLenum DRAW_BUFFER = 0x0C01;
1586         static constexpr const GLenum READ_BUFFER = 0x0C02;
1587         static constexpr const GLenum SCISSOR_BOX = 0x0C10;
1588         static constexpr const GLenum SCISSOR_TEST = 0x0C11;
1589         static constexpr const GLenum COLOR_CLEAR_VALUE = 0x0C22;
1590         static constexpr const GLenum COLOR_WRITEMASK = 0x0C23;
1591         static constexpr const GLenum DOUBLEBUFFER = 0x0C32;
1592         static constexpr const GLenum STEREO = 0x0C33;
1593         static constexpr const GLenum LINE_SMOOTH_HINT = 0x0C52;
1594         static constexpr const GLenum POLYGON_SMOOTH_HINT = 0x0C53;
1595         static constexpr const GLenum UNPACK_SWAP_BYTES = 0x0CF0;
1596         static constexpr const GLenum UNPACK_LSB_FIRST = 0x0CF1;
1597         static constexpr const GLenum UNPACK_ROW_LENGTH = 0x0CF2;
1598         static constexpr const GLenum UNPACK_SKIP_ROWS = 0x0CF3;
1599         static constexpr const GLenum UNPACK_SKIP_PIXELS = 0x0CF4;
1600         static constexpr const GLenum UNPACK_ALIGNMENT = 0x0CF5;
1601         static constexpr const GLenum PACK_SWAP_BYTES = 0x0D00;
1602         static constexpr const GLenum PACK_LSB_FIRST = 0x0D01;
1603         static constexpr const GLenum PACK_ROW_LENGTH = 0x0D02;
1604         static constexpr const GLenum PACK_SKIP_ROWS = 0x0D03;
1605         static constexpr const GLenum PACK_SKIP_PIXELS = 0x0D04;
1606         static constexpr const GLenum PACK_ALIGNMENT = 0x0D05;
1607         static constexpr const GLenum MAX_TEXTURE_SIZE = 0x0D33;
1608         static constexpr const GLenum MAX_VIEWPORT_DIMS = 0x0D3A;
1609         static constexpr const GLenum SUBPIXEL_BITS = 0x0D50;
1610         static constexpr const GLenum TEXTURE_1D = 0x0DE0;
1611         static constexpr const GLenum TEXTURE_2D = 0x0DE1;
1612         static constexpr const GLenum TEXTURE_WIDTH = 0x1000;
1613         static constexpr const GLenum TEXTURE_HEIGHT = 0x1001;
1614         static constexpr const GLenum TEXTURE_BORDER_COLOR = 0x1004;
1615         static constexpr const GLenum DONT_CARE = 0x1100;
1616         static constexpr const GLenum FASTEST = 0x1101;
1617         static constexpr const GLenum NICEST = 0x1102;
1618         static constexpr const GLenum BYTE = 0x1400;
1619         static constexpr const GLenum UNSIGNED_BYTE = 0x1401;
1620         static constexpr const GLenum SHORT = 0x1402;
1621         static constexpr const GLenum UNSIGNED_SHORT = 0x1403;
1622         static constexpr const GLenum INT = 0x1404;
1623         static constexpr const GLenum UNSIGNED_INT = 0x1405;
1624         static constexpr const GLenum FLOAT = 0x1406;
1625         static constexpr const GLenum STACK_OVERFLOW = 0x0503;
1626         static constexpr const GLenum STACK_UNDERFLOW = 0x0504;
1627         static constexpr const GLenum CLEAR = 0x1500;
1628         static constexpr const GLenum AND = 0x1501;
1629         static constexpr const GLenum AND_REVERSE = 0x1502;
1630         static constexpr const GLenum COPY = 0x1503;
1631         static constexpr const GLenum AND_INVERTED = 0x1504;
1632         static constexpr const GLenum NOOP = 0x1505;
1633         static constexpr const GLenum XOR = 0x1506;
1634         static constexpr const GLenum OR = 0x1507;
1635         static constexpr const GLenum NOR = 0x1508;
1636         static constexpr const GLenum EQUIV = 0x1509;
1637         static constexpr const GLenum INVERT = 0x150A;
1638         static constexpr const GLenum OR_REVERSE = 0x150B;
1639         static constexpr const GLenum COPY_INVERTED = 0x150C;
1640         static constexpr const GLenum OR_INVERTED = 0x150D;
1641         static constexpr const GLenum NAND = 0x150E;
1642         static constexpr const GLenum SET = 0x150F;
1643         static constexpr const GLenum TEXTURE = 0x1702;
1644         static constexpr const GLenum COLOR = 0x1800;
1645         static constexpr const GLenum DEPTH = 0x1801;
1646         static constexpr const GLenum STENCIL = 0x1802;
1647         static constexpr const GLenum STENCIL_INDEX = 0x1901;
1648         static constexpr const GLenum DEPTH_COMPONENT = 0x1902;
1649         static constexpr const GLenum RED = 0x1903;
1650         static constexpr const GLenum GREEN = 0x1904;
1651         static constexpr const GLenum BLUE = 0x1905;
1652         static constexpr const GLenum ALPHA = 0x1906;
1653         static constexpr const GLenum RGB = 0x1907;
1654         static constexpr const GLenum RGBA = 0x1908;
1655         static constexpr const GLenum POINT = 0x1B00;
1656         static constexpr const GLenum LINE = 0x1B01;
1657         static constexpr const GLenum FILL = 0x1B02;
1658         static constexpr const GLenum KEEP = 0x1E00;
1659         static constexpr const GLenum REPLACE = 0x1E01;
1660         static constexpr const GLenum INCR = 0x1E02;
1661         static constexpr const GLenum DECR = 0x1E03;
1662         static constexpr const GLenum VENDOR = 0x1F00;
1663         static constexpr const GLenum RENDERER = 0x1F01;
1664         static constexpr const GLenum VERSION = 0x1F02;
1665         static constexpr const GLenum EXTENSIONS = 0x1F03;
1666         static constexpr const GLenum NEAREST = 0x2600;
1667         static constexpr const GLenum LINEAR = 0x2601;
1668         static constexpr const GLenum NEAREST_MIPMAP_NEAREST = 0x2700;
1669         static constexpr const GLenum LINEAR_MIPMAP_NEAREST = 0x2701;
1670         static constexpr const GLenum NEAREST_MIPMAP_LINEAR = 0x2702;
1671         static constexpr const GLenum LINEAR_MIPMAP_LINEAR = 0x2703;
1672         static constexpr const GLenum TEXTURE_MAG_FILTER = 0x2800;
1673         static constexpr const GLenum TEXTURE_MIN_FILTER = 0x2801;
1674         static constexpr const GLenum TEXTURE_WRAP_S = 0x2802;
1675         static constexpr const GLenum TEXTURE_WRAP_T = 0x2803;
1676         static constexpr const GLenum REPEAT = 0x2901;
1677         static constexpr const GLenum COLOR_LOGIC_OP = 0x0BF2;
1678         static constexpr const GLenum POLYGON_OFFSET_UNITS = 0x2A00;
1679         static constexpr const GLenum POLYGON_OFFSET_POINT = 0x2A01;
1680         static constexpr const GLenum POLYGON_OFFSET_LINE = 0x2A02;
1681         static constexpr const GLenum POLYGON_OFFSET_FILL = 0x8037;
1682         static constexpr const GLenum POLYGON_OFFSET_FACTOR = 0x8038;
1683         static constexpr const GLenum TEXTURE_BINDING_1D = 0x8068;
1684         static constexpr const GLenum TEXTURE_BINDING_2D = 0x8069;
1685         static constexpr const GLenum TEXTURE_INTERNAL_FORMAT = 0x1003;
1686         static constexpr const GLenum TEXTURE_RED_SIZE = 0x805C;
1687         static constexpr const GLenum TEXTURE_GREEN_SIZE = 0x805D;
1688         static constexpr const GLenum TEXTURE_BLUE_SIZE = 0x805E;
1689         static constexpr const GLenum TEXTURE_ALPHA_SIZE = 0x805F;
1690         static constexpr const GLenum DOUBLE = 0x140A;
1691         static constexpr const GLenum PROXY_TEXTURE_1D = 0x8063;
1692         static constexpr const GLenum PROXY_TEXTURE_2D = 0x8064;
1693         static constexpr const GLenum R3_G3_B2 = 0x2A10;
1694         static constexpr const GLenum RGB4 = 0x804F;
1695         static constexpr const GLenum RGB5 = 0x8050;
1696         static constexpr const GLenum RGB8 = 0x8051;
1697         static constexpr const GLenum RGB10 = 0x8052;
1698         static constexpr const GLenum RGB12 = 0x8053;
1699         static constexpr const GLenum RGB16 = 0x8054;
1700         static constexpr const GLenum RGBA2 = 0x8055;
1701         static constexpr const GLenum RGBA4 = 0x8056;
1702         static constexpr const GLenum RGB5_A1 = 0x8057;
1703         static constexpr const GLenum RGBA8 = 0x8058;
1704         static constexpr const GLenum RGB10_A2 = 0x8059;
1705         static constexpr const GLenum RGBA12 = 0x805A;
1706         static constexpr const GLenum RGBA16 = 0x805B;
1707         static constexpr const GLenum VERTEX_ARRAY = 0x8074;
1708         static constexpr const GLenum UNSIGNED_BYTE_3_3_2 = 0x8032;
1709         static constexpr const GLenum UNSIGNED_SHORT_4_4_4_4 = 0x8033;
1710         static constexpr const GLenum UNSIGNED_SHORT_5_5_5_1 = 0x8034;
1711         static constexpr const GLenum UNSIGNED_INT_8_8_8_8 = 0x8035;
1712         static constexpr const GLenum UNSIGNED_INT_10_10_10_2 = 0x8036;
1713         static constexpr const GLenum TEXTURE_BINDING_3D = 0x806A;
1714         static constexpr const GLenum PACK_SKIP_IMAGES = 0x806B;
1715         static constexpr const GLenum PACK_IMAGE_HEIGHT = 0x806C;
1716         static constexpr const GLenum UNPACK_SKIP_IMAGES = 0x806D;
1717         static constexpr const GLenum UNPACK_IMAGE_HEIGHT = 0x806E;
1718         static constexpr const GLenum TEXTURE_3D = 0x806F;
1719         static constexpr const GLenum PROXY_TEXTURE_3D = 0x8070;
1720         static constexpr const GLenum TEXTURE_DEPTH = 0x8071;
1721         static constexpr const GLenum TEXTURE_WRAP_R = 0x8072;
1722         static constexpr const GLenum MAX_3D_TEXTURE_SIZE = 0x8073;
1723         static constexpr const GLenum UNSIGNED_BYTE_2_3_3_REV = 0x8362;
1724         static constexpr const GLenum UNSIGNED_SHORT_5_6_5 = 0x8363;
1725         static constexpr const GLenum UNSIGNED_SHORT_5_6_5_REV = 0x8364;
1726         static constexpr const GLenum UNSIGNED_SHORT_4_4_4_4_REV = 0x8365;
1727         static constexpr const GLenum UNSIGNED_SHORT_1_5_5_5_REV = 0x8366;
1728         static constexpr const GLenum UNSIGNED_INT_8_8_8_8_REV = 0x8367;
1729         static constexpr const GLenum UNSIGNED_INT_2_10_10_10_REV = 0x8368;
1730         static constexpr const GLenum BGR = 0x80E0;
1731         static constexpr const GLenum BGRA = 0x80E1;
1732         static constexpr const GLenum MAX_ELEMENTS_VERTICES = 0x80E8;
1733         static constexpr const GLenum MAX_ELEMENTS_INDICES = 0x80E9;
1734         static constexpr const GLenum CLAMP_TO_EDGE = 0x812F;
1735         static constexpr const GLenum TEXTURE_MIN_LOD = 0x813A;
1736         static constexpr const GLenum TEXTURE_MAX_LOD = 0x813B;
1737         static constexpr const GLenum TEXTURE_BASE_LEVEL = 0x813C;
1738         static constexpr const GLenum TEXTURE_MAX_LEVEL = 0x813D;
1739         static constexpr const GLenum SMOOTH_POINT_SIZE_RANGE = 0x0B12;
1740         static constexpr const GLenum SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
1741         static constexpr const GLenum SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
1742         static constexpr const GLenum SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
1743         static constexpr const GLenum ALIASED_LINE_WIDTH_RANGE = 0x846E;
1744         static constexpr const GLenum TEXTURE0 = 0x84C0;
1745         static constexpr const GLenum TEXTURE1 = 0x84C1;
1746         static constexpr const GLenum TEXTURE2 = 0x84C2;
1747         static constexpr const GLenum TEXTURE3 = 0x84C3;
1748         static constexpr const GLenum TEXTURE4 = 0x84C4;
1749         static constexpr const GLenum TEXTURE5 = 0x84C5;
1750         static constexpr const GLenum TEXTURE6 = 0x84C6;
1751         static constexpr const GLenum TEXTURE7 = 0x84C7;
1752         static constexpr const GLenum TEXTURE8 = 0x84C8;
1753         static constexpr const GLenum TEXTURE9 = 0x84C9;
1754         static constexpr const GLenum TEXTURE10 = 0x84CA;
1755         static constexpr const GLenum TEXTURE11 = 0x84CB;
1756         static constexpr const GLenum TEXTURE12 = 0x84CC;
1757         static constexpr const GLenum TEXTURE13 = 0x84CD;
1758         static constexpr const GLenum TEXTURE14 = 0x84CE;
1759         static constexpr const GLenum TEXTURE15 = 0x84CF;
1760         static constexpr const GLenum TEXTURE16 = 0x84D0;
1761         static constexpr const GLenum TEXTURE17 = 0x84D1;
1762         static constexpr const GLenum TEXTURE18 = 0x84D2;
1763         static constexpr const GLenum TEXTURE19 = 0x84D3;
1764         static constexpr const GLenum TEXTURE20 = 0x84D4;
1765         static constexpr const GLenum TEXTURE21 = 0x84D5;
1766         static constexpr const GLenum TEXTURE22 = 0x84D6;
1767         static constexpr const GLenum TEXTURE23 = 0x84D7;
1768         static constexpr const GLenum TEXTURE24 = 0x84D8;
1769         static constexpr const GLenum TEXTURE25 = 0x84D9;
1770         static constexpr const GLenum TEXTURE26 = 0x84DA;
1771         static constexpr const GLenum TEXTURE27 = 0x84DB;
1772         static constexpr const GLenum TEXTURE28 = 0x84DC;
1773         static constexpr const GLenum TEXTURE29 = 0x84DD;
1774         static constexpr const GLenum TEXTURE30 = 0x84DE;
1775         static constexpr const GLenum TEXTURE31 = 0x84DF;
1776         static constexpr const GLenum ACTIVE_TEXTURE = 0x84E0;
1777         static constexpr const GLenum MULTISAMPLE = 0x809D;
1778         static constexpr const GLenum SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
1779         static constexpr const GLenum SAMPLE_ALPHA_TO_ONE = 0x809F;
1780         static constexpr const GLenum SAMPLE_COVERAGE = 0x80A0;
1781         static constexpr const GLenum SAMPLE_BUFFERS = 0x80A8;
1782         static constexpr const GLenum SAMPLES = 0x80A9;
1783         static constexpr const GLenum SAMPLE_COVERAGE_VALUE = 0x80AA;
1784         static constexpr const GLenum SAMPLE_COVERAGE_INVERT = 0x80AB;
1785         static constexpr const GLenum TEXTURE_CUBE_MAP = 0x8513;
1786         static constexpr const GLenum TEXTURE_BINDING_CUBE_MAP = 0x8514;
1787         static constexpr const GLenum TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
1788         static constexpr const GLenum TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
1789         static constexpr const GLenum TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
1790         static constexpr const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
1791         static constexpr const GLenum TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
1792         static constexpr const GLenum TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
1793         static constexpr const GLenum PROXY_TEXTURE_CUBE_MAP = 0x851B;
1794         static constexpr const GLenum MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
1795         static constexpr const GLenum COMPRESSED_RGB = 0x84ED;
1796         static constexpr const GLenum COMPRESSED_RGBA = 0x84EE;
1797         static constexpr const GLenum TEXTURE_COMPRESSION_HINT = 0x84EF;
1798         static constexpr const GLenum TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0;
1799         static constexpr const GLenum TEXTURE_COMPRESSED = 0x86A1;
1800         static constexpr const GLenum NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
1801         static constexpr const GLenum COMPRESSED_TEXTURE_FORMATS = 0x86A3;
1802         static constexpr const GLenum CLAMP_TO_BORDER = 0x812D;
1803         static constexpr const GLenum BLEND_DST_RGB = 0x80C8;
1804         static constexpr const GLenum BLEND_SRC_RGB = 0x80C9;
1805         static constexpr const GLenum BLEND_DST_ALPHA = 0x80CA;
1806         static constexpr const GLenum BLEND_SRC_ALPHA = 0x80CB;
1807         static constexpr const GLenum POINT_FADE_THRESHOLD_SIZE = 0x8128;
1808         static constexpr const GLenum DEPTH_COMPONENT16 = 0x81A5;
1809         static constexpr const GLenum DEPTH_COMPONENT24 = 0x81A6;
1810         static constexpr const GLenum DEPTH_COMPONENT32 = 0x81A7;
1811         static constexpr const GLenum MIRRORED_REPEAT = 0x8370;
1812         static constexpr const GLenum MAX_TEXTURE_LOD_BIAS = 0x84FD;
1813         static constexpr const GLenum TEXTURE_LOD_BIAS = 0x8501;
1814         static constexpr const GLenum INCR_WRAP = 0x8507;
1815         static constexpr const GLenum DECR_WRAP = 0x8508;
1816         static constexpr const GLenum TEXTURE_DEPTH_SIZE = 0x884A;
1817         static constexpr const GLenum TEXTURE_COMPARE_MODE = 0x884C;
1818         static constexpr const GLenum TEXTURE_COMPARE_FUNC = 0x884D;
1819         static constexpr const GLenum BLEND_COLOR = 0x8005;
1820         static constexpr const GLenum BLEND_EQUATION = 0x8009;
1821         static constexpr const GLenum CONSTANT_COLOR = 0x8001;
1822         static constexpr const GLenum ONE_MINUS_CONSTANT_COLOR = 0x8002;
1823         static constexpr const GLenum CONSTANT_ALPHA = 0x8003;
1824         static constexpr const GLenum ONE_MINUS_CONSTANT_ALPHA = 0x8004;
1825         static constexpr const GLenum FUNC_ADD = 0x8006;
1826         static constexpr const GLenum FUNC_REVERSE_SUBTRACT = 0x800B;
1827         static constexpr const GLenum FUNC_SUBTRACT = 0x800A;
1828         static constexpr const GLenum MIN = 0x8007;
1829         static constexpr const GLenum MAX = 0x8008;
1830         static constexpr const GLenum BUFFER_SIZE = 0x8764;
1831         static constexpr const GLenum BUFFER_USAGE = 0x8765;
1832         static constexpr const GLenum QUERY_COUNTER_BITS = 0x8864;
1833         static constexpr const GLenum CURRENT_QUERY = 0x8865;
1834         static constexpr const GLenum QUERY_RESULT = 0x8866;
1835         static constexpr const GLenum QUERY_RESULT_AVAILABLE = 0x8867;
1836         static constexpr const GLenum ARRAY_BUFFER = 0x8892;
1837         static constexpr const GLenum ELEMENT_ARRAY_BUFFER = 0x8893;
1838         static constexpr const GLenum ARRAY_BUFFER_BINDING = 0x8894;
1839         static constexpr const GLenum ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
1840         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
1841         static constexpr const GLenum READ_ONLY = 0x88B8;
1842         static constexpr const GLenum WRITE_ONLY = 0x88B9;
1843         static constexpr const GLenum READ_WRITE = 0x88BA;
1844         static constexpr const GLenum BUFFER_ACCESS = 0x88BB;
1845         static constexpr const GLenum BUFFER_MAPPED = 0x88BC;
1846         static constexpr const GLenum BUFFER_MAP_POINTER = 0x88BD;
1847         static constexpr const GLenum STREAM_DRAW = 0x88E0;
1848         static constexpr const GLenum STREAM_READ = 0x88E1;
1849         static constexpr const GLenum STREAM_COPY = 0x88E2;
1850         static constexpr const GLenum STATIC_DRAW = 0x88E4;
1851         static constexpr const GLenum STATIC_READ = 0x88E5;
1852         static constexpr const GLenum STATIC_COPY = 0x88E6;
1853         static constexpr const GLenum DYNAMIC_DRAW = 0x88E8;
1854         static constexpr const GLenum DYNAMIC_READ = 0x88E9;
1855         static constexpr const GLenum DYNAMIC_COPY = 0x88EA;
1856         static constexpr const GLenum SAMPLES_PASSED = 0x8914;
1857         static constexpr const GLenum SRC1_ALPHA = 0x8589;
1858         static constexpr const GLenum BLEND_EQUATION_RGB = 0x8009;
1859         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
1860         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
1861         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
1862         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
1863         static constexpr const GLenum CURRENT_VERTEX_ATTRIB = 0x8626;
1864         static constexpr const GLenum VERTEX_PROGRAM_POINT_SIZE = 0x8642;
1865         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
1866         static constexpr const GLenum STENCIL_BACK_FUNC = 0x8800;
1867         static constexpr const GLenum STENCIL_BACK_FAIL = 0x8801;
1868         static constexpr const GLenum STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
1869         static constexpr const GLenum STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
1870         static constexpr const GLenum MAX_DRAW_BUFFERS = 0x8824;
1871         static constexpr const GLenum DRAW_BUFFER0 = 0x8825;
1872         static constexpr const GLenum DRAW_BUFFER1 = 0x8826;
1873         static constexpr const GLenum DRAW_BUFFER2 = 0x8827;
1874         static constexpr const GLenum DRAW_BUFFER3 = 0x8828;
1875         static constexpr const GLenum DRAW_BUFFER4 = 0x8829;
1876         static constexpr const GLenum DRAW_BUFFER5 = 0x882A;
1877         static constexpr const GLenum DRAW_BUFFER6 = 0x882B;
1878         static constexpr const GLenum DRAW_BUFFER7 = 0x882C;
1879         static constexpr const GLenum DRAW_BUFFER8 = 0x882D;
1880         static constexpr const GLenum DRAW_BUFFER9 = 0x882E;
1881         static constexpr const GLenum DRAW_BUFFER10 = 0x882F;
1882         static constexpr const GLenum DRAW_BUFFER11 = 0x8830;
1883         static constexpr const GLenum DRAW_BUFFER12 = 0x8831;
1884         static constexpr const GLenum DRAW_BUFFER13 = 0x8832;
1885         static constexpr const GLenum DRAW_BUFFER14 = 0x8833;
1886         static constexpr const GLenum DRAW_BUFFER15 = 0x8834;
1887         static constexpr const GLenum BLEND_EQUATION_ALPHA = 0x883D;
1888         static constexpr const GLenum MAX_VERTEX_ATTRIBS = 0x8869;
1889         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
1890         static constexpr const GLenum MAX_TEXTURE_IMAGE_UNITS = 0x8872;
1891         static constexpr const GLenum FRAGMENT_SHADER = 0x8B30;
1892         static constexpr const GLenum VERTEX_SHADER = 0x8B31;
1893         static constexpr const GLenum MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
1894         static constexpr const GLenum MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
1895         static constexpr const GLenum MAX_VARYING_FLOATS = 0x8B4B;
1896         static constexpr const GLenum MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
1897         static constexpr const GLenum MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
1898         static constexpr const GLenum SHADER_TYPE = 0x8B4F;
1899         static constexpr const GLenum FLOAT_VEC2 = 0x8B50;
1900         static constexpr const GLenum FLOAT_VEC3 = 0x8B51;
1901         static constexpr const GLenum FLOAT_VEC4 = 0x8B52;
1902         static constexpr const GLenum INT_VEC2 = 0x8B53;
1903         static constexpr const GLenum INT_VEC3 = 0x8B54;
1904         static constexpr const GLenum INT_VEC4 = 0x8B55;
1905         static constexpr const GLenum BOOL = 0x8B56;
1906         static constexpr const GLenum BOOL_VEC2 = 0x8B57;
1907         static constexpr const GLenum BOOL_VEC3 = 0x8B58;
1908         static constexpr const GLenum BOOL_VEC4 = 0x8B59;
1909         static constexpr const GLenum FLOAT_MAT2 = 0x8B5A;
1910         static constexpr const GLenum FLOAT_MAT3 = 0x8B5B;
1911         static constexpr const GLenum FLOAT_MAT4 = 0x8B5C;
1912         static constexpr const GLenum SAMPLER_1D = 0x8B5D;
1913         static constexpr const GLenum SAMPLER_2D = 0x8B5E;
1914         static constexpr const GLenum SAMPLER_3D = 0x8B5F;
1915         static constexpr const GLenum SAMPLER_CUBE = 0x8B60;
1916         static constexpr const GLenum SAMPLER_1D_SHADOW = 0x8B61;
1917         static constexpr const GLenum SAMPLER_2D_SHADOW = 0x8B62;
1918         static constexpr const GLenum DELETE_STATUS = 0x8B80;
1919         static constexpr const GLenum COMPILE_STATUS = 0x8B81;
1920         static constexpr const GLenum LINK_STATUS = 0x8B82;
1921         static constexpr const GLenum VALIDATE_STATUS = 0x8B83;
1922         static constexpr const GLenum INFO_LOG_LENGTH = 0x8B84;
1923         static constexpr const GLenum ATTACHED_SHADERS = 0x8B85;
1924         static constexpr const GLenum ACTIVE_UNIFORMS = 0x8B86;
1925         static constexpr const GLenum ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87;
1926         static constexpr const GLenum SHADER_SOURCE_LENGTH = 0x8B88;
1927         static constexpr const GLenum ACTIVE_ATTRIBUTES = 0x8B89;
1928         static constexpr const GLenum ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A;
1929         static constexpr const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
1930         static constexpr const GLenum SHADING_LANGUAGE_VERSION = 0x8B8C;
1931         static constexpr const GLenum CURRENT_PROGRAM = 0x8B8D;
1932         static constexpr const GLenum POINT_SPRITE_COORD_ORIGIN = 0x8CA0;
1933         static constexpr const GLenum LOWER_LEFT = 0x8CA1;
1934         static constexpr const GLenum UPPER_LEFT = 0x8CA2;
1935         static constexpr const GLenum STENCIL_BACK_REF = 0x8CA3;
1936         static constexpr const GLenum STENCIL_BACK_VALUE_MASK = 0x8CA4;
1937         static constexpr const GLenum STENCIL_BACK_WRITEMASK = 0x8CA5;
1938         static constexpr const GLenum PIXEL_PACK_BUFFER = 0x88EB;
1939         static constexpr const GLenum PIXEL_UNPACK_BUFFER = 0x88EC;
1940         static constexpr const GLenum PIXEL_PACK_BUFFER_BINDING = 0x88ED;
1941         static constexpr const GLenum PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
1942         static constexpr const GLenum FLOAT_MAT2x3 = 0x8B65;
1943         static constexpr const GLenum FLOAT_MAT2x4 = 0x8B66;
1944         static constexpr const GLenum FLOAT_MAT3x2 = 0x8B67;
1945         static constexpr const GLenum FLOAT_MAT3x4 = 0x8B68;
1946         static constexpr const GLenum FLOAT_MAT4x2 = 0x8B69;
1947         static constexpr const GLenum FLOAT_MAT4x3 = 0x8B6A;
1948         static constexpr const GLenum SRGB = 0x8C40;
1949         static constexpr const GLenum SRGB8 = 0x8C41;
1950         static constexpr const GLenum SRGB_ALPHA = 0x8C42;
1951         static constexpr const GLenum SRGB8_ALPHA8 = 0x8C43;
1952         static constexpr const GLenum COMPRESSED_SRGB = 0x8C48;
1953         static constexpr const GLenum COMPRESSED_SRGB_ALPHA = 0x8C49;
1954         static constexpr const GLenum COMPARE_REF_TO_TEXTURE = 0x884E;
1955         static constexpr const GLenum CLIP_DISTANCE0 = 0x3000;
1956         static constexpr const GLenum CLIP_DISTANCE1 = 0x3001;
1957         static constexpr const GLenum CLIP_DISTANCE2 = 0x3002;
1958         static constexpr const GLenum CLIP_DISTANCE3 = 0x3003;
1959         static constexpr const GLenum CLIP_DISTANCE4 = 0x3004;
1960         static constexpr const GLenum CLIP_DISTANCE5 = 0x3005;
1961         static constexpr const GLenum CLIP_DISTANCE6 = 0x3006;
1962         static constexpr const GLenum CLIP_DISTANCE7 = 0x3007;
1963         static constexpr const GLenum MAX_CLIP_DISTANCES = 0x0D32;
1964         static constexpr const GLenum MAJOR_VERSION = 0x821B;
1965         static constexpr const GLenum MINOR_VERSION = 0x821C;
1966         static constexpr const GLenum NUM_EXTENSIONS = 0x821D;
1967         static constexpr const GLenum CONTEXT_FLAGS = 0x821E;
1968         static constexpr const GLenum COMPRESSED_RED = 0x8225;
1969         static constexpr const GLenum COMPRESSED_RG = 0x8226;
1970         static constexpr const GLenum CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001;
1971         static constexpr const GLenum RGBA32F = 0x8814;
1972         static constexpr const GLenum RGB32F = 0x8815;
1973         static constexpr const GLenum RGBA16F = 0x881A;
1974         static constexpr const GLenum RGB16F = 0x881B;
1975         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
1976         static constexpr const GLenum MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
1977         static constexpr const GLenum MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
1978         static constexpr const GLenum MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
1979         static constexpr const GLenum CLAMP_READ_COLOR = 0x891C;
1980         static constexpr const GLenum FIXED_ONLY = 0x891D;
1981         static constexpr const GLenum MAX_VARYING_COMPONENTS = 0x8B4B;
1982         static constexpr const GLenum TEXTURE_1D_ARRAY = 0x8C18;
1983         static constexpr const GLenum PROXY_TEXTURE_1D_ARRAY = 0x8C19;
1984         static constexpr const GLenum TEXTURE_2D_ARRAY = 0x8C1A;
1985         static constexpr const GLenum PROXY_TEXTURE_2D_ARRAY = 0x8C1B;
1986         static constexpr const GLenum TEXTURE_BINDING_1D_ARRAY = 0x8C1C;
1987         static constexpr const GLenum TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
1988         static constexpr const GLenum R11F_G11F_B10F = 0x8C3A;
1989         static constexpr const GLenum UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
1990         static constexpr const GLenum RGB9_E5 = 0x8C3D;
1991         static constexpr const GLenum UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
1992         static constexpr const GLenum TEXTURE_SHARED_SIZE = 0x8C3F;
1993         static constexpr const GLenum TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76;
1994         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
1995         static constexpr const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
1996         static constexpr const GLenum TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
1997         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
1998         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
1999         static constexpr const GLenum PRIMITIVES_GENERATED = 0x8C87;
2000         static constexpr const GLenum TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
2001         static constexpr const GLenum RASTERIZER_DISCARD = 0x8C89;
2002         static constexpr const GLenum MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
2003         static constexpr const GLenum MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
2004         static constexpr const GLenum INTERLEAVED_ATTRIBS = 0x8C8C;
2005         static constexpr const GLenum SEPARATE_ATTRIBS = 0x8C8D;
2006         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
2007         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
2008         static constexpr const GLenum RGBA32UI = 0x8D70;
2009         static constexpr const GLenum RGB32UI = 0x8D71;
2010         static constexpr const GLenum RGBA16UI = 0x8D76;
2011         static constexpr const GLenum RGB16UI = 0x8D77;
2012         static constexpr const GLenum RGBA8UI = 0x8D7C;
2013         static constexpr const GLenum RGB8UI = 0x8D7D;
2014         static constexpr const GLenum RGBA32I = 0x8D82;
2015         static constexpr const GLenum RGB32I = 0x8D83;
2016         static constexpr const GLenum RGBA16I = 0x8D88;
2017         static constexpr const GLenum RGB16I = 0x8D89;
2018         static constexpr const GLenum RGBA8I = 0x8D8E;
2019         static constexpr const GLenum RGB8I = 0x8D8F;
2020         static constexpr const GLenum RED_INTEGER = 0x8D94;
2021         static constexpr const GLenum GREEN_INTEGER = 0x8D95;
2022         static constexpr const GLenum BLUE_INTEGER = 0x8D96;
2023         static constexpr const GLenum RGB_INTEGER = 0x8D98;
2024         static constexpr const GLenum RGBA_INTEGER = 0x8D99;
2025         static constexpr const GLenum BGR_INTEGER = 0x8D9A;
2026         static constexpr const GLenum BGRA_INTEGER = 0x8D9B;
2027         static constexpr const GLenum SAMPLER_1D_ARRAY = 0x8DC0;
2028         static constexpr const GLenum SAMPLER_2D_ARRAY = 0x8DC1;
2029         static constexpr const GLenum SAMPLER_1D_ARRAY_SHADOW = 0x8DC3;
2030         static constexpr const GLenum SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
2031         static constexpr const GLenum SAMPLER_CUBE_SHADOW = 0x8DC5;
2032         static constexpr const GLenum UNSIGNED_INT_VEC2 = 0x8DC6;
2033         static constexpr const GLenum UNSIGNED_INT_VEC3 = 0x8DC7;
2034         static constexpr const GLenum UNSIGNED_INT_VEC4 = 0x8DC8;
2035         static constexpr const GLenum INT_SAMPLER_1D = 0x8DC9;
2036         static constexpr const GLenum INT_SAMPLER_2D = 0x8DCA;
2037         static constexpr const GLenum INT_SAMPLER_3D = 0x8DCB;
2038         static constexpr const GLenum INT_SAMPLER_CUBE = 0x8DCC;
2039         static constexpr const GLenum INT_SAMPLER_1D_ARRAY = 0x8DCE;
2040         static constexpr const GLenum INT_SAMPLER_2D_ARRAY = 0x8DCF;
2041         static constexpr const GLenum UNSIGNED_INT_SAMPLER_1D = 0x8DD1;
2042         static constexpr const GLenum UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
2043         static constexpr const GLenum UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
2044         static constexpr const GLenum UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
2045         static constexpr const GLenum UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6;
2046         static constexpr const GLenum UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
2047         static constexpr const GLenum QUERY_WAIT = 0x8E13;
2048         static constexpr const GLenum QUERY_NO_WAIT = 0x8E14;
2049         static constexpr const GLenum QUERY_BY_REGION_WAIT = 0x8E15;
2050         static constexpr const GLenum QUERY_BY_REGION_NO_WAIT = 0x8E16;
2051         static constexpr const GLenum BUFFER_ACCESS_FLAGS = 0x911F;
2052         static constexpr const GLenum BUFFER_MAP_LENGTH = 0x9120;
2053         static constexpr const GLenum BUFFER_MAP_OFFSET = 0x9121;
2054         static constexpr const GLenum DEPTH_COMPONENT32F = 0x8CAC;
2055         static constexpr const GLenum DEPTH32F_STENCIL8 = 0x8CAD;
2056         static constexpr const GLenum FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
2057         static constexpr const GLenum INVALID_FRAMEBUFFER_OPERATION = 0x0506;
2058         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
2059         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
2060         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
2061         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
2062         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
2063         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
2064         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
2065         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
2066         static constexpr const GLenum FRAMEBUFFER_DEFAULT = 0x8218;
2067         static constexpr const GLenum FRAMEBUFFER_UNDEFINED = 0x8219;
2068         static constexpr const GLenum DEPTH_STENCIL_ATTACHMENT = 0x821A;
2069         static constexpr const GLenum MAX_RENDERBUFFER_SIZE = 0x84E8;
2070         static constexpr const GLenum DEPTH_STENCIL = 0x84F9;
2071         static constexpr const GLenum UNSIGNED_INT_24_8 = 0x84FA;
2072         static constexpr const GLenum DEPTH24_STENCIL8 = 0x88F0;
2073         static constexpr const GLenum TEXTURE_STENCIL_SIZE = 0x88F1;
2074         static constexpr const GLenum TEXTURE_RED_TYPE = 0x8C10;
2075         static constexpr const GLenum TEXTURE_GREEN_TYPE = 0x8C11;
2076         static constexpr const GLenum TEXTURE_BLUE_TYPE = 0x8C12;
2077         static constexpr const GLenum TEXTURE_ALPHA_TYPE = 0x8C13;
2078         static constexpr const GLenum TEXTURE_DEPTH_TYPE = 0x8C16;
2079         static constexpr const GLenum UNSIGNED_NORMALIZED = 0x8C17;
2080         static constexpr const GLenum FRAMEBUFFER_BINDING = 0x8CA6;
2081         static constexpr const GLenum DRAW_FRAMEBUFFER_BINDING = 0x8CA6;
2082         static constexpr const GLenum RENDERBUFFER_BINDING = 0x8CA7;
2083         static constexpr const GLenum READ_FRAMEBUFFER = 0x8CA8;
2084         static constexpr const GLenum DRAW_FRAMEBUFFER = 0x8CA9;
2085         static constexpr const GLenum READ_FRAMEBUFFER_BINDING = 0x8CAA;
2086         static constexpr const GLenum RENDERBUFFER_SAMPLES = 0x8CAB;
2087         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0;
2088         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1;
2089         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2;
2090         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3;
2091         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
2092         static constexpr const GLenum FRAMEBUFFER_COMPLETE = 0x8CD5;
2093         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6;
2094         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7;
2095         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB;
2096         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC;
2097         static constexpr const GLenum FRAMEBUFFER_UNSUPPORTED = 0x8CDD;
2098         static constexpr const GLenum MAX_COLOR_ATTACHMENTS = 0x8CDF;
2099         static constexpr const GLenum COLOR_ATTACHMENT0 = 0x8CE0;
2100         static constexpr const GLenum COLOR_ATTACHMENT1 = 0x8CE1;
2101         static constexpr const GLenum COLOR_ATTACHMENT2 = 0x8CE2;
2102         static constexpr const GLenum COLOR_ATTACHMENT3 = 0x8CE3;
2103         static constexpr const GLenum COLOR_ATTACHMENT4 = 0x8CE4;
2104         static constexpr const GLenum COLOR_ATTACHMENT5 = 0x8CE5;
2105         static constexpr const GLenum COLOR_ATTACHMENT6 = 0x8CE6;
2106         static constexpr const GLenum COLOR_ATTACHMENT7 = 0x8CE7;
2107         static constexpr const GLenum COLOR_ATTACHMENT8 = 0x8CE8;
2108         static constexpr const GLenum COLOR_ATTACHMENT9 = 0x8CE9;
2109         static constexpr const GLenum COLOR_ATTACHMENT10 = 0x8CEA;
2110         static constexpr const GLenum COLOR_ATTACHMENT11 = 0x8CEB;
2111         static constexpr const GLenum COLOR_ATTACHMENT12 = 0x8CEC;
2112         static constexpr const GLenum COLOR_ATTACHMENT13 = 0x8CED;
2113         static constexpr const GLenum COLOR_ATTACHMENT14 = 0x8CEE;
2114         static constexpr const GLenum COLOR_ATTACHMENT15 = 0x8CEF;
2115         static constexpr const GLenum COLOR_ATTACHMENT16 = 0x8CF0;
2116         static constexpr const GLenum COLOR_ATTACHMENT17 = 0x8CF1;
2117         static constexpr const GLenum COLOR_ATTACHMENT18 = 0x8CF2;
2118         static constexpr const GLenum COLOR_ATTACHMENT19 = 0x8CF3;
2119         static constexpr const GLenum COLOR_ATTACHMENT20 = 0x8CF4;
2120         static constexpr const GLenum COLOR_ATTACHMENT21 = 0x8CF5;
2121         static constexpr const GLenum COLOR_ATTACHMENT22 = 0x8CF6;
2122         static constexpr const GLenum COLOR_ATTACHMENT23 = 0x8CF7;
2123         static constexpr const GLenum COLOR_ATTACHMENT24 = 0x8CF8;
2124         static constexpr const GLenum COLOR_ATTACHMENT25 = 0x8CF9;
2125         static constexpr const GLenum COLOR_ATTACHMENT26 = 0x8CFA;
2126         static constexpr const GLenum COLOR_ATTACHMENT27 = 0x8CFB;
2127         static constexpr const GLenum COLOR_ATTACHMENT28 = 0x8CFC;
2128         static constexpr const GLenum COLOR_ATTACHMENT29 = 0x8CFD;
2129         static constexpr const GLenum COLOR_ATTACHMENT30 = 0x8CFE;
2130         static constexpr const GLenum COLOR_ATTACHMENT31 = 0x8CFF;
2131         static constexpr const GLenum DEPTH_ATTACHMENT = 0x8D00;
2132         static constexpr const GLenum STENCIL_ATTACHMENT = 0x8D20;
2133         static constexpr const GLenum FRAMEBUFFER = 0x8D40;
2134         static constexpr const GLenum RENDERBUFFER = 0x8D41;
2135         static constexpr const GLenum RENDERBUFFER_WIDTH = 0x8D42;
2136         static constexpr const GLenum RENDERBUFFER_HEIGHT = 0x8D43;
2137         static constexpr const GLenum RENDERBUFFER_INTERNAL_FORMAT = 0x8D44;
2138         static constexpr const GLenum STENCIL_INDEX1 = 0x8D46;
2139         static constexpr const GLenum STENCIL_INDEX4 = 0x8D47;
2140         static constexpr const GLenum STENCIL_INDEX8 = 0x8D48;
2141         static constexpr const GLenum STENCIL_INDEX16 = 0x8D49;
2142         static constexpr const GLenum RENDERBUFFER_RED_SIZE = 0x8D50;
2143         static constexpr const GLenum RENDERBUFFER_GREEN_SIZE = 0x8D51;
2144         static constexpr const GLenum RENDERBUFFER_BLUE_SIZE = 0x8D52;
2145         static constexpr const GLenum RENDERBUFFER_ALPHA_SIZE = 0x8D53;
2146         static constexpr const GLenum RENDERBUFFER_DEPTH_SIZE = 0x8D54;
2147         static constexpr const GLenum RENDERBUFFER_STENCIL_SIZE = 0x8D55;
2148         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
2149         static constexpr const GLenum MAX_SAMPLES = 0x8D57;
2150         static constexpr const GLenum FRAMEBUFFER_SRGB = 0x8DB9;
2151         static constexpr const GLenum HALF_FLOAT = 0x140B;
2152         static constexpr const GLenum MAP_READ_BIT = 0x0001;
2153         static constexpr const GLenum MAP_WRITE_BIT = 0x0002;
2154         static constexpr const GLenum MAP_INVALIDATE_RANGE_BIT = 0x0004;
2155         static constexpr const GLenum MAP_INVALIDATE_BUFFER_BIT = 0x0008;
2156         static constexpr const GLenum MAP_FLUSH_EXPLICIT_BIT = 0x0010;
2157         static constexpr const GLenum MAP_UNSYNCHRONIZED_BIT = 0x0020;
2158         static constexpr const GLenum COMPRESSED_RED_RGTC1 = 0x8DBB;
2159         static constexpr const GLenum COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC;
2160         static constexpr const GLenum COMPRESSED_RG_RGTC2 = 0x8DBD;
2161         static constexpr const GLenum COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE;
2162         static constexpr const GLenum RG = 0x8227;
2163         static constexpr const GLenum RG_INTEGER = 0x8228;
2164         static constexpr const GLenum R8 = 0x8229;
2165         static constexpr const GLenum R16 = 0x822A;
2166         static constexpr const GLenum RG8 = 0x822B;
2167         static constexpr const GLenum RG16 = 0x822C;
2168         static constexpr const GLenum R16F = 0x822D;
2169         static constexpr const GLenum R32F = 0x822E;
2170         static constexpr const GLenum RG16F = 0x822F;
2171         static constexpr const GLenum RG32F = 0x8230;
2172         static constexpr const GLenum R8I = 0x8231;
2173         static constexpr const GLenum R8UI = 0x8232;
2174         static constexpr const GLenum R16I = 0x8233;
2175         static constexpr const GLenum R16UI = 0x8234;
2176         static constexpr const GLenum R32I = 0x8235;
2177         static constexpr const GLenum R32UI = 0x8236;
2178         static constexpr const GLenum RG8I = 0x8237;
2179         static constexpr const GLenum RG8UI = 0x8238;
2180         static constexpr const GLenum RG16I = 0x8239;
2181         static constexpr const GLenum RG16UI = 0x823A;
2182         static constexpr const GLenum RG32I = 0x823B;
2183         static constexpr const GLenum RG32UI = 0x823C;
2184         static constexpr const GLenum VERTEX_ARRAY_BINDING = 0x85B5;
2185         static constexpr const GLenum SAMPLER_2D_RECT = 0x8B63;
2186         static constexpr const GLenum SAMPLER_2D_RECT_SHADOW = 0x8B64;
2187         static constexpr const GLenum SAMPLER_BUFFER = 0x8DC2;
2188         static constexpr const GLenum INT_SAMPLER_2D_RECT = 0x8DCD;
2189         static constexpr const GLenum INT_SAMPLER_BUFFER = 0x8DD0;
2190         static constexpr const GLenum UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5;
2191         static constexpr const GLenum UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8;
2192         static constexpr const GLenum TEXTURE_BUFFER = 0x8C2A;
2193         static constexpr const GLenum MAX_TEXTURE_BUFFER_SIZE = 0x8C2B;
2194         static constexpr const GLenum TEXTURE_BINDING_BUFFER = 0x8C2C;
2195         static constexpr const GLenum TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D;
2196         static constexpr const GLenum TEXTURE_RECTANGLE = 0x84F5;
2197         static constexpr const GLenum TEXTURE_BINDING_RECTANGLE = 0x84F6;
2198         static constexpr const GLenum PROXY_TEXTURE_RECTANGLE = 0x84F7;
2199         static constexpr const GLenum MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8;
2200         static constexpr const GLenum R8_SNORM = 0x8F94;
2201         static constexpr const GLenum RG8_SNORM = 0x8F95;
2202         static constexpr const GLenum RGB8_SNORM = 0x8F96;
2203         static constexpr const GLenum RGBA8_SNORM = 0x8F97;
2204         static constexpr const GLenum R16_SNORM = 0x8F98;
2205         static constexpr const GLenum RG16_SNORM = 0x8F99;
2206         static constexpr const GLenum RGB16_SNORM = 0x8F9A;
2207         static constexpr const GLenum RGBA16_SNORM = 0x8F9B;
2208         static constexpr const GLenum SIGNED_NORMALIZED = 0x8F9C;
2209         static constexpr const GLenum PRIMITIVE_RESTART = 0x8F9D;
2210         static constexpr const GLenum PRIMITIVE_RESTART_INDEX = 0x8F9E;
2211         static constexpr const GLenum COPY_READ_BUFFER = 0x8F36;
2212         static constexpr const GLenum COPY_WRITE_BUFFER = 0x8F37;
2213         static constexpr const GLenum UNIFORM_BUFFER = 0x8A11;
2214         static constexpr const GLenum UNIFORM_BUFFER_BINDING = 0x8A28;
2215         static constexpr const GLenum UNIFORM_BUFFER_START = 0x8A29;
2216         static constexpr const GLenum UNIFORM_BUFFER_SIZE = 0x8A2A;
2217         static constexpr const GLenum MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
2218         static constexpr const GLenum MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C;
2219         static constexpr const GLenum MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
2220         static constexpr const GLenum MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
2221         static constexpr const GLenum MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
2222         static constexpr const GLenum MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
2223         static constexpr const GLenum MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
2224         static constexpr const GLenum MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32;
2225         static constexpr const GLenum MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
2226         static constexpr const GLenum UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
2227         static constexpr const GLenum ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35;
2228         static constexpr const GLenum ACTIVE_UNIFORM_BLOCKS = 0x8A36;
2229         static constexpr const GLenum UNIFORM_TYPE = 0x8A37;
2230         static constexpr const GLenum UNIFORM_SIZE = 0x8A38;
2231         static constexpr const GLenum UNIFORM_NAME_LENGTH = 0x8A39;
2232         static constexpr const GLenum UNIFORM_BLOCK_INDEX = 0x8A3A;
2233         static constexpr const GLenum UNIFORM_OFFSET = 0x8A3B;
2234         static constexpr const GLenum UNIFORM_ARRAY_STRIDE = 0x8A3C;
2235         static constexpr const GLenum UNIFORM_MATRIX_STRIDE = 0x8A3D;
2236         static constexpr const GLenum UNIFORM_IS_ROW_MAJOR = 0x8A3E;
2237         static constexpr const GLenum UNIFORM_BLOCK_BINDING = 0x8A3F;
2238         static constexpr const GLenum UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
2239         static constexpr const GLenum UNIFORM_BLOCK_NAME_LENGTH = 0x8A41;
2240         static constexpr const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
2241         static constexpr const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
2242         static constexpr const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
2243         static constexpr const GLenum UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45;
2244         static constexpr const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
2245         static constexpr const GLenum INVALID_INDEX = 0xFFFFFFFFu;
2246         static constexpr const GLenum CONTEXT_CORE_PROFILE_BIT = 0x00000001;
2247         static constexpr const GLenum CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002;
2248         static constexpr const GLenum LINES_ADJACENCY = 0x000A;
2249         static constexpr const GLenum LINE_STRIP_ADJACENCY = 0x000B;
2250         static constexpr const GLenum TRIANGLES_ADJACENCY = 0x000C;
2251         static constexpr const GLenum TRIANGLE_STRIP_ADJACENCY = 0x000D;
2252         static constexpr const GLenum PROGRAM_POINT_SIZE = 0x8642;
2253         static constexpr const GLenum MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29;
2254         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7;
2255         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8;
2256         static constexpr const GLenum GEOMETRY_SHADER = 0x8DD9;
2257         static constexpr const GLenum GEOMETRY_VERTICES_OUT = 0x8916;
2258         static constexpr const GLenum GEOMETRY_INPUT_TYPE = 0x8917;
2259         static constexpr const GLenum GEOMETRY_OUTPUT_TYPE = 0x8918;
2260         static constexpr const GLenum MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF;
2261         static constexpr const GLenum MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0;
2262         static constexpr const GLenum MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1;
2263         static constexpr const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
2264         static constexpr const GLenum MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123;
2265         static constexpr const GLenum MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124;
2266         static constexpr const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
2267         static constexpr const GLenum CONTEXT_PROFILE_MASK = 0x9126;
2268         static constexpr const GLenum DEPTH_CLAMP = 0x864F;
2269         static constexpr const GLenum QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C;
2270         static constexpr const GLenum FIRST_VERTEX_CONVENTION = 0x8E4D;
2271         static constexpr const GLenum LAST_VERTEX_CONVENTION = 0x8E4E;
2272         static constexpr const GLenum PROVOKING_VERTEX = 0x8E4F;
2273         static constexpr const GLenum TEXTURE_CUBE_MAP_SEAMLESS = 0x884F;
2274         static constexpr const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
2275         static constexpr const GLenum OBJECT_TYPE = 0x9112;
2276         static constexpr const GLenum SYNC_CONDITION = 0x9113;
2277         static constexpr const GLenum SYNC_STATUS = 0x9114;
2278         static constexpr const GLenum SYNC_FLAGS = 0x9115;
2279         static constexpr const GLenum SYNC_FENCE = 0x9116;
2280         static constexpr const GLenum SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
2281         static constexpr const GLenum UNSIGNALED = 0x9118;
2282         static constexpr const GLenum SIGNALED = 0x9119;
2283         static constexpr const GLenum ALREADY_SIGNALED = 0x911A;
2284         static constexpr const GLenum TIMEOUT_EXPIRED = 0x911B;
2285         static constexpr const GLenum CONDITION_SATISFIED = 0x911C;
2286         static constexpr const GLenum _WAIT_FAILED = 0x911D;
2287         static constexpr const GLuint64 TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFFull;
2288         static constexpr const GLenum SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
2289         static constexpr const GLenum SAMPLE_POSITION = 0x8E50;
2290         static constexpr const GLenum SAMPLE_MASK = 0x8E51;
2291         static constexpr const GLenum SAMPLE_MASK_VALUE = 0x8E52;
2292         static constexpr const GLenum MAX_SAMPLE_MASK_WORDS = 0x8E59;
2293         static constexpr const GLenum TEXTURE_2D_MULTISAMPLE = 0x9100;
2294         static constexpr const GLenum PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101;
2295         static constexpr const GLenum TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102;
2296         static constexpr const GLenum PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103;
2297         static constexpr const GLenum TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104;
2298         static constexpr const GLenum TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105;
2299         static constexpr const GLenum TEXTURE_SAMPLES = 0x9106;
2300         static constexpr const GLenum TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107;
2301         static constexpr const GLenum SAMPLER_2D_MULTISAMPLE = 0x9108;
2302         static constexpr const GLenum INT_SAMPLER_2D_MULTISAMPLE = 0x9109;
2303         static constexpr const GLenum UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A;
2304         static constexpr const GLenum SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B;
2305         static constexpr const GLenum INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C;
2306         static constexpr const GLenum UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D;
2307         static constexpr const GLenum MAX_COLOR_TEXTURE_SAMPLES = 0x910E;
2308         static constexpr const GLenum MAX_DEPTH_TEXTURE_SAMPLES = 0x910F;
2309         static constexpr const GLenum MAX_INTEGER_SAMPLES = 0x9110;
2310         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
2311         static constexpr const GLenum SRC1_COLOR = 0x88F9;
2312         static constexpr const GLenum ONE_MINUS_SRC1_COLOR = 0x88FA;
2313         static constexpr const GLenum ONE_MINUS_SRC1_ALPHA = 0x88FB;
2314         static constexpr const GLenum MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC;
2315         static constexpr const GLenum ANY_SAMPLES_PASSED = 0x8C2F;
2316         static constexpr const GLenum SAMPLER_BINDING = 0x8919;
2317         static constexpr const GLenum RGB10_A2UI = 0x906F;
2318         static constexpr const GLenum TEXTURE_SWIZZLE_R = 0x8E42;
2319         static constexpr const GLenum TEXTURE_SWIZZLE_G = 0x8E43;
2320         static constexpr const GLenum TEXTURE_SWIZZLE_B = 0x8E44;
2321         static constexpr const GLenum TEXTURE_SWIZZLE_A = 0x8E45;
2322         static constexpr const GLenum TEXTURE_SWIZZLE_RGBA = 0x8E46;
2323         static constexpr const GLenum TIME_ELAPSED = 0x88BF;
2324         static constexpr const GLenum TIMESTAMP = 0x8E28;
2325         static constexpr const GLenum INT_2_10_10_10_REV = 0x8D9F;
2326         static constexpr const GLenum SAMPLE_SHADING = 0x8C36;
2327         static constexpr const GLenum MIN_SAMPLE_SHADING_VALUE = 0x8C37;
2328         static constexpr const GLenum MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E;
2329         static constexpr const GLenum MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F;
2330         static constexpr const GLenum TEXTURE_CUBE_MAP_ARRAY = 0x9009;
2331         static constexpr const GLenum TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A;
2332         static constexpr const GLenum PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B;
2333         static constexpr const GLenum SAMPLER_CUBE_MAP_ARRAY = 0x900C;
2334         static constexpr const GLenum SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D;
2335         static constexpr const GLenum INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E;
2336         static constexpr const GLenum UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F;
2337         static constexpr const GLenum DRAW_INDIRECT_BUFFER = 0x8F3F;
2338         static constexpr const GLenum DRAW_INDIRECT_BUFFER_BINDING = 0x8F43;
2339         static constexpr const GLenum GEOMETRY_SHADER_INVOCATIONS = 0x887F;
2340         static constexpr const GLenum MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A;
2341         static constexpr const GLenum MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B;
2342         static constexpr const GLenum MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C;
2343         static constexpr const GLenum FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D;
2344         static constexpr const GLenum MAX_VERTEX_STREAMS = 0x8E71;
2345         static constexpr const GLenum DOUBLE_VEC2 = 0x8FFC;
2346         static constexpr const GLenum DOUBLE_VEC3 = 0x8FFD;
2347         static constexpr const GLenum DOUBLE_VEC4 = 0x8FFE;
2348         static constexpr const GLenum DOUBLE_MAT2 = 0x8F46;
2349         static constexpr const GLenum DOUBLE_MAT3 = 0x8F47;
2350         static constexpr const GLenum DOUBLE_MAT4 = 0x8F48;
2351         static constexpr const GLenum DOUBLE_MAT2x3 = 0x8F49;
2352         static constexpr const GLenum DOUBLE_MAT2x4 = 0x8F4A;
2353         static constexpr const GLenum DOUBLE_MAT3x2 = 0x8F4B;
2354         static constexpr const GLenum DOUBLE_MAT3x4 = 0x8F4C;
2355         static constexpr const GLenum DOUBLE_MAT4x2 = 0x8F4D;
2356         static constexpr const GLenum DOUBLE_MAT4x3 = 0x8F4E;
2357         static constexpr const GLenum ACTIVE_SUBROUTINES = 0x8DE5;
2358         static constexpr const GLenum ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6;
2359         static constexpr const GLenum ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47;
2360         static constexpr const GLenum ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48;
2361         static constexpr const GLenum ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49;
2362         static constexpr const GLenum MAX_SUBROUTINES = 0x8DE7;
2363         static constexpr const GLenum MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8;
2364         static constexpr const GLenum NUM_COMPATIBLE_SUBROUTINES = 0x8E4A;
2365         static constexpr const GLenum COMPATIBLE_SUBROUTINES = 0x8E4B;
2366         static constexpr const GLenum PATCHES = 0x000E;
2367         static constexpr const GLenum PATCH_VERTICES = 0x8E72;
2368         static constexpr const GLenum PATCH_DEFAULT_INNER_LEVEL = 0x8E73;
2369         static constexpr const GLenum PATCH_DEFAULT_OUTER_LEVEL = 0x8E74;
2370         static constexpr const GLenum TESS_CONTROL_OUTPUT_VERTICES = 0x8E75;
2371         static constexpr const GLenum TESS_GEN_MODE = 0x8E76;
2372         static constexpr const GLenum TESS_GEN_SPACING = 0x8E77;
2373         static constexpr const GLenum TESS_GEN_VERTEX_ORDER = 0x8E78;
2374         static constexpr const GLenum TESS_GEN_POINT_MODE = 0x8E79;
2375         static constexpr const GLenum ISOLINES = 0x8E7A;
2376         static constexpr const GLenum FRACTIONAL_ODD = 0x8E7B;
2377         static constexpr const GLenum FRACTIONAL_EVEN = 0x8E7C;
2378         static constexpr const GLenum MAX_PATCH_VERTICES = 0x8E7D;
2379         static constexpr const GLenum MAX_TESS_GEN_LEVEL = 0x8E7E;
2380         static constexpr const GLenum MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F;
2381         static constexpr const GLenum MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80;
2382         static constexpr const GLenum MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81;
2383         static constexpr const GLenum MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82;
2384         static constexpr const GLenum MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83;
2385         static constexpr const GLenum MAX_TESS_PATCH_COMPONENTS = 0x8E84;
2386         static constexpr const GLenum MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85;
2387         static constexpr const GLenum MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86;
2388         static constexpr const GLenum MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89;
2389         static constexpr const GLenum MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A;
2390         static constexpr const GLenum MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C;
2391         static constexpr const GLenum MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D;
2392         static constexpr const GLenum MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E;
2393         static constexpr const GLenum MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F;
2394         static constexpr const GLenum UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0;
2395         static constexpr const GLenum UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1;
2396         static constexpr const GLenum TESS_EVALUATION_SHADER = 0x8E87;
2397         static constexpr const GLenum TESS_CONTROL_SHADER = 0x8E88;
2398         static constexpr const GLenum TRANSFORM_FEEDBACK = 0x8E22;
2399         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23;
2400         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24;
2401         static constexpr const GLenum TRANSFORM_FEEDBACK_BINDING = 0x8E25;
2402         static constexpr const GLenum MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70;
2403         static constexpr const GLenum FIXED = 0x140C;
2404         static constexpr const GLenum IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A;
2405         static constexpr const GLenum IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B;
2406         static constexpr const GLenum LOW_FLOAT = 0x8DF0;
2407         static constexpr const GLenum MEDIUM_FLOAT = 0x8DF1;
2408         static constexpr const GLenum HIGH_FLOAT = 0x8DF2;
2409         static constexpr const GLenum LOW_INT = 0x8DF3;
2410         static constexpr const GLenum MEDIUM_INT = 0x8DF4;
2411         static constexpr const GLenum HIGH_INT = 0x8DF5;
2412         static constexpr const GLenum SHADER_COMPILER = 0x8DFA;
2413         static constexpr const GLenum SHADER_BINARY_FORMATS = 0x8DF8;
2414         static constexpr const GLenum NUM_SHADER_BINARY_FORMATS = 0x8DF9;
2415         static constexpr const GLenum MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB;
2416         static constexpr const GLenum MAX_VARYING_VECTORS = 0x8DFC;
2417         static constexpr const GLenum MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD;
2418         static constexpr const GLenum RGB565 = 0x8D62;
2419         static constexpr const GLenum PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257;
2420         static constexpr const GLenum PROGRAM_BINARY_LENGTH = 0x8741;
2421         static constexpr const GLenum NUM_PROGRAM_BINARY_FORMATS = 0x87FE;
2422         static constexpr const GLenum PROGRAM_BINARY_FORMATS = 0x87FF;
2423         static constexpr const GLenum VERTEX_SHADER_BIT = 0x00000001;
2424         static constexpr const GLenum FRAGMENT_SHADER_BIT = 0x00000002;
2425         static constexpr const GLenum GEOMETRY_SHADER_BIT = 0x00000004;
2426         static constexpr const GLenum TESS_CONTROL_SHADER_BIT = 0x00000008;
2427         static constexpr const GLenum TESS_EVALUATION_SHADER_BIT = 0x00000010;
2428         static constexpr const GLenum ALL_SHADER_BITS = 0xFFFFFFFF;
2429         static constexpr const GLenum PROGRAM_SEPARABLE = 0x8258;
2430         static constexpr const GLenum ACTIVE_PROGRAM = 0x8259;
2431         static constexpr const GLenum PROGRAM_PIPELINE_BINDING = 0x825A;
2432         static constexpr const GLenum MAX_VIEWPORTS = 0x825B;
2433         static constexpr const GLenum VIEWPORT_SUBPIXEL_BITS = 0x825C;
2434         static constexpr const GLenum VIEWPORT_BOUNDS_RANGE = 0x825D;
2435         static constexpr const GLenum LAYER_PROVOKING_VERTEX = 0x825E;
2436         static constexpr const GLenum VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F;
2437         static constexpr const GLenum UNDEFINED_VERTEX = 0x8260;
2438         static constexpr const GLenum COPY_READ_BUFFER_BINDING = 0x8F36;
2439         static constexpr const GLenum COPY_WRITE_BUFFER_BINDING = 0x8F37;
2440         static constexpr const GLenum TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
2441         static constexpr const GLenum TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
2442         static constexpr const GLenum UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127;
2443         static constexpr const GLenum UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128;
2444         static constexpr const GLenum UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129;
2445         static constexpr const GLenum UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A;
2446         static constexpr const GLenum PACK_COMPRESSED_BLOCK_WIDTH = 0x912B;
2447         static constexpr const GLenum PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C;
2448         static constexpr const GLenum PACK_COMPRESSED_BLOCK_DEPTH = 0x912D;
2449         static constexpr const GLenum PACK_COMPRESSED_BLOCK_SIZE = 0x912E;
2450         static constexpr const GLenum NUM_SAMPLE_COUNTS = 0x9380;
2451         static constexpr const GLenum MIN_MAP_BUFFER_ALIGNMENT = 0x90BC;
2452         static constexpr const GLenum ATOMIC_COUNTER_BUFFER = 0x92C0;
2453         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1;
2454         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_START = 0x92C2;
2455         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3;
2456         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4;
2457         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5;
2458         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6;
2459         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7;
2460         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8;
2461         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9;
2462         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA;
2463         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB;
2464         static constexpr const GLenum MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC;
2465         static constexpr const GLenum MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD;
2466         static constexpr const GLenum MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE;
2467         static constexpr const GLenum MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF;
2468         static constexpr const GLenum MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0;
2469         static constexpr const GLenum MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1;
2470         static constexpr const GLenum MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2;
2471         static constexpr const GLenum MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3;
2472         static constexpr const GLenum MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4;
2473         static constexpr const GLenum MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5;
2474         static constexpr const GLenum MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6;
2475         static constexpr const GLenum MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7;
2476         static constexpr const GLenum MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8;
2477         static constexpr const GLenum MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC;
2478         static constexpr const GLenum ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9;
2479         static constexpr const GLenum UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA;
2480         static constexpr const GLenum UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB;
2481         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001;
2482         static constexpr const GLenum ELEMENT_ARRAY_BARRIER_BIT = 0x00000002;
2483         static constexpr const GLenum UNIFORM_BARRIER_BIT = 0x00000004;
2484         static constexpr const GLenum TEXTURE_FETCH_BARRIER_BIT = 0x00000008;
2485         static constexpr const GLenum SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020;
2486         static constexpr const GLenum COMMAND_BARRIER_BIT = 0x00000040;
2487         static constexpr const GLenum PIXEL_BUFFER_BARRIER_BIT = 0x00000080;
2488         static constexpr const GLenum TEXTURE_UPDATE_BARRIER_BIT = 0x00000100;
2489         static constexpr const GLenum BUFFER_UPDATE_BARRIER_BIT = 0x00000200;
2490         static constexpr const GLenum FRAMEBUFFER_BARRIER_BIT = 0x00000400;
2491         static constexpr const GLenum TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800;
2492         static constexpr const GLenum ATOMIC_COUNTER_BARRIER_BIT = 0x00001000;
2493         static constexpr const GLenum ALL_BARRIER_BITS = 0xFFFFFFFF;
2494         static constexpr const GLenum MAX_IMAGE_UNITS = 0x8F38;
2495         static constexpr const GLenum MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39;
2496         static constexpr const GLenum IMAGE_BINDING_NAME = 0x8F3A;
2497         static constexpr const GLenum IMAGE_BINDING_LEVEL = 0x8F3B;
2498         static constexpr const GLenum IMAGE_BINDING_LAYERED = 0x8F3C;
2499         static constexpr const GLenum IMAGE_BINDING_LAYER = 0x8F3D;
2500         static constexpr const GLenum IMAGE_BINDING_ACCESS = 0x8F3E;
2501         static constexpr const GLenum IMAGE_1D = 0x904C;
2502         static constexpr const GLenum IMAGE_2D = 0x904D;
2503         static constexpr const GLenum IMAGE_3D = 0x904E;
2504         static constexpr const GLenum IMAGE_2D_RECT = 0x904F;
2505         static constexpr const GLenum IMAGE_CUBE = 0x9050;
2506         static constexpr const GLenum IMAGE_BUFFER = 0x9051;
2507         static constexpr const GLenum IMAGE_1D_ARRAY = 0x9052;
2508         static constexpr const GLenum IMAGE_2D_ARRAY = 0x9053;
2509         static constexpr const GLenum IMAGE_CUBE_MAP_ARRAY = 0x9054;
2510         static constexpr const GLenum IMAGE_2D_MULTISAMPLE = 0x9055;
2511         static constexpr const GLenum IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056;
2512         static constexpr const GLenum INT_IMAGE_1D = 0x9057;
2513         static constexpr const GLenum INT_IMAGE_2D = 0x9058;
2514         static constexpr const GLenum INT_IMAGE_3D = 0x9059;
2515         static constexpr const GLenum INT_IMAGE_2D_RECT = 0x905A;
2516         static constexpr const GLenum INT_IMAGE_CUBE = 0x905B;
2517         static constexpr const GLenum INT_IMAGE_BUFFER = 0x905C;
2518         static constexpr const GLenum INT_IMAGE_1D_ARRAY = 0x905D;
2519         static constexpr const GLenum INT_IMAGE_2D_ARRAY = 0x905E;
2520         static constexpr const GLenum INT_IMAGE_CUBE_MAP_ARRAY = 0x905F;
2521         static constexpr const GLenum INT_IMAGE_2D_MULTISAMPLE = 0x9060;
2522         static constexpr const GLenum INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061;
2523         static constexpr const GLenum UNSIGNED_INT_IMAGE_1D = 0x9062;
2524         static constexpr const GLenum UNSIGNED_INT_IMAGE_2D = 0x9063;
2525         static constexpr const GLenum UNSIGNED_INT_IMAGE_3D = 0x9064;
2526         static constexpr const GLenum UNSIGNED_INT_IMAGE_2D_RECT = 0x9065;
2527         static constexpr const GLenum UNSIGNED_INT_IMAGE_CUBE = 0x9066;
2528         static constexpr const GLenum UNSIGNED_INT_IMAGE_BUFFER = 0x9067;
2529         static constexpr const GLenum UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068;
2530         static constexpr const GLenum UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069;
2531         static constexpr const GLenum UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A;
2532         static constexpr const GLenum UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B;
2533         static constexpr const GLenum UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C;
2534         static constexpr const GLenum MAX_IMAGE_SAMPLES = 0x906D;
2535         static constexpr const GLenum IMAGE_BINDING_FORMAT = 0x906E;
2536         static constexpr const GLenum IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7;
2537         static constexpr const GLenum IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8;
2538         static constexpr const GLenum IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9;
2539         static constexpr const GLenum MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA;
2540         static constexpr const GLenum MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB;
2541         static constexpr const GLenum MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC;
2542         static constexpr const GLenum MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD;
2543         static constexpr const GLenum MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE;
2544         static constexpr const GLenum MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF;
2545         static constexpr const GLenum COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C;
2546         static constexpr const GLenum COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D;
2547         static constexpr const GLenum COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E;
2548         static constexpr const GLenum COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F;
2549         static constexpr const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F;
2550         static constexpr const GLenum NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9;
2551         static constexpr const GLenum VERTEX_ATTRIB_ARRAY_LONG = 0x874E;
2552         static constexpr const GLenum COMPRESSED_RGB8_ETC2 = 0x9274;
2553         static constexpr const GLenum COMPRESSED_SRGB8_ETC2 = 0x9275;
2554         static constexpr const GLenum COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276;
2555         static constexpr const GLenum COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277;
2556         static constexpr const GLenum COMPRESSED_RGBA8_ETC2_EAC = 0x9278;
2557         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279;
2558         static constexpr const GLenum COMPRESSED_R11_EAC = 0x9270;
2559         static constexpr const GLenum COMPRESSED_SIGNED_R11_EAC = 0x9271;
2560         static constexpr const GLenum COMPRESSED_RG11_EAC = 0x9272;
2561         static constexpr const GLenum COMPRESSED_SIGNED_RG11_EAC = 0x9273;
2562         static constexpr const GLenum PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69;
2563         static constexpr const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
2564         static constexpr const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
2565         static constexpr const GLenum COMPUTE_SHADER = 0x91B9;
2566         static constexpr const GLenum MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB;
2567         static constexpr const GLenum MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC;
2568         static constexpr const GLenum MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD;
2569         static constexpr const GLenum MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262;
2570         static constexpr const GLenum MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263;
2571         static constexpr const GLenum MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264;
2572         static constexpr const GLenum MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265;
2573         static constexpr const GLenum MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266;
2574         static constexpr const GLenum MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB;
2575         static constexpr const GLenum MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE;
2576         static constexpr const GLenum MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF;
2577         static constexpr const GLenum COMPUTE_WORK_GROUP_SIZE = 0x8267;
2578         static constexpr const GLenum UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC;
2579         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED;
2580         static constexpr const GLenum DISPATCH_INDIRECT_BUFFER = 0x90EE;
2581         static constexpr const GLenum DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF;
2582         static constexpr const GLenum COMPUTE_SHADER_BIT = 0x00000020;
2583         static constexpr const GLenum DEBUG_OUTPUT_SYNCHRONOUS = 0x8242;
2584         static constexpr const GLenum DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243;
2585         static constexpr const GLenum DEBUG_CALLBACK_FUNCTION = 0x8244;
2586         static constexpr const GLenum DEBUG_CALLBACK_USER_PARAM = 0x8245;
2587         static constexpr const GLenum DEBUG_SOURCE_API = 0x8246;
2588         static constexpr const GLenum DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247;
2589         static constexpr const GLenum DEBUG_SOURCE_SHADER_COMPILER = 0x8248;
2590         static constexpr const GLenum DEBUG_SOURCE_THIRD_PARTY = 0x8249;
2591         static constexpr const GLenum DEBUG_SOURCE_APPLICATION = 0x824A;
2592         static constexpr const GLenum DEBUG_SOURCE_OTHER = 0x824B;
2593         static constexpr const GLenum DEBUG_TYPE_ERROR = 0x824C;
2594         static constexpr const GLenum DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D;
2595         static constexpr const GLenum DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E;
2596         static constexpr const GLenum DEBUG_TYPE_PORTABILITY = 0x824F;
2597         static constexpr const GLenum DEBUG_TYPE_PERFORMANCE = 0x8250;
2598         static constexpr const GLenum DEBUG_TYPE_OTHER = 0x8251;
2599         static constexpr const GLenum MAX_DEBUG_MESSAGE_LENGTH = 0x9143;
2600         static constexpr const GLenum MAX_DEBUG_LOGGED_MESSAGES = 0x9144;
2601         static constexpr const GLenum DEBUG_LOGGED_MESSAGES = 0x9145;
2602         static constexpr const GLenum DEBUG_SEVERITY_HIGH = 0x9146;
2603         static constexpr const GLenum DEBUG_SEVERITY_MEDIUM = 0x9147;
2604         static constexpr const GLenum DEBUG_SEVERITY_LOW = 0x9148;
2605         static constexpr const GLenum DEBUG_TYPE_MARKER = 0x8268;
2606         static constexpr const GLenum DEBUG_TYPE_PUSH_GROUP = 0x8269;
2607         static constexpr const GLenum DEBUG_TYPE_POP_GROUP = 0x826A;
2608         static constexpr const GLenum DEBUG_SEVERITY_NOTIFICATION = 0x826B;
2609         static constexpr const GLenum MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C;
2610         static constexpr const GLenum DEBUG_GROUP_STACK_DEPTH = 0x826D;
2611         static constexpr const GLenum BUFFER = 0x82E0;
2612         static constexpr const GLenum SHADER = 0x82E1;
2613         static constexpr const GLenum PROGRAM = 0x82E2;
2614         static constexpr const GLenum QUERY = 0x82E3;
2615         static constexpr const GLenum PROGRAM_PIPELINE = 0x82E4;
2616         static constexpr const GLenum SAMPLER = 0x82E6;
2617         static constexpr const GLenum MAX_LABEL_LENGTH = 0x82E8;
2618         static constexpr const GLenum DEBUG_OUTPUT = 0x92E0;
2619         static constexpr const GLenum CONTEXT_FLAG_DEBUG_BIT = 0x00000002;
2620         static constexpr const GLenum MAX_UNIFORM_LOCATIONS = 0x826E;
2621         static constexpr const GLenum FRAMEBUFFER_DEFAULT_WIDTH = 0x9310;
2622         static constexpr const GLenum FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311;
2623         static constexpr const GLenum FRAMEBUFFER_DEFAULT_LAYERS = 0x9312;
2624         static constexpr const GLenum FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313;
2625         static constexpr const GLenum FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314;
2626         static constexpr const GLenum MAX_FRAMEBUFFER_WIDTH = 0x9315;
2627         static constexpr const GLenum MAX_FRAMEBUFFER_HEIGHT = 0x9316;
2628         static constexpr const GLenum MAX_FRAMEBUFFER_LAYERS = 0x9317;
2629         static constexpr const GLenum MAX_FRAMEBUFFER_SAMPLES = 0x9318;
2630         static constexpr const GLenum INTERNALFORMAT_SUPPORTED = 0x826F;
2631         static constexpr const GLenum INTERNALFORMAT_PREFERRED = 0x8270;
2632         static constexpr const GLenum INTERNALFORMAT_RED_SIZE = 0x8271;
2633         static constexpr const GLenum INTERNALFORMAT_GREEN_SIZE = 0x8272;
2634         static constexpr const GLenum INTERNALFORMAT_BLUE_SIZE = 0x8273;
2635         static constexpr const GLenum INTERNALFORMAT_ALPHA_SIZE = 0x8274;
2636         static constexpr const GLenum INTERNALFORMAT_DEPTH_SIZE = 0x8275;
2637         static constexpr const GLenum INTERNALFORMAT_STENCIL_SIZE = 0x8276;
2638         static constexpr const GLenum INTERNALFORMAT_SHARED_SIZE = 0x8277;
2639         static constexpr const GLenum INTERNALFORMAT_RED_TYPE = 0x8278;
2640         static constexpr const GLenum INTERNALFORMAT_GREEN_TYPE = 0x8279;
2641         static constexpr const GLenum INTERNALFORMAT_BLUE_TYPE = 0x827A;
2642         static constexpr const GLenum INTERNALFORMAT_ALPHA_TYPE = 0x827B;
2643         static constexpr const GLenum INTERNALFORMAT_DEPTH_TYPE = 0x827C;
2644         static constexpr const GLenum INTERNALFORMAT_STENCIL_TYPE = 0x827D;
2645         static constexpr const GLenum MAX_WIDTH = 0x827E;
2646         static constexpr const GLenum MAX_HEIGHT = 0x827F;
2647         static constexpr const GLenum MAX_DEPTH = 0x8280;
2648         static constexpr const GLenum MAX_LAYERS = 0x8281;
2649         static constexpr const GLenum MAX_COMBINED_DIMENSIONS = 0x8282;
2650         static constexpr const GLenum COLOR_COMPONENTS = 0x8283;
2651         static constexpr const GLenum DEPTH_COMPONENTS = 0x8284;
2652         static constexpr const GLenum STENCIL_COMPONENTS = 0x8285;
2653         static constexpr const GLenum COLOR_RENDERABLE = 0x8286;
2654         static constexpr const GLenum DEPTH_RENDERABLE = 0x8287;
2655         static constexpr const GLenum STENCIL_RENDERABLE = 0x8288;
2656         static constexpr const GLenum FRAMEBUFFER_RENDERABLE = 0x8289;
2657         static constexpr const GLenum FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A;
2658         static constexpr const GLenum FRAMEBUFFER_BLEND = 0x828B;
2659         static constexpr const GLenum READ_PIXELS = 0x828C;
2660         static constexpr const GLenum READ_PIXELS_FORMAT = 0x828D;
2661         static constexpr const GLenum READ_PIXELS_TYPE = 0x828E;
2662         static constexpr const GLenum TEXTURE_IMAGE_FORMAT = 0x828F;
2663         static constexpr const GLenum TEXTURE_IMAGE_TYPE = 0x8290;
2664         static constexpr const GLenum GET_TEXTURE_IMAGE_FORMAT = 0x8291;
2665         static constexpr const GLenum GET_TEXTURE_IMAGE_TYPE = 0x8292;
2666         static constexpr const GLenum MIPMAP = 0x8293;
2667         static constexpr const GLenum MANUAL_GENERATE_MIPMAP = 0x8294;
2668         static constexpr const GLenum AUTO_GENERATE_MIPMAP = 0x8295;
2669         static constexpr const GLenum COLOR_ENCODING = 0x8296;
2670         static constexpr const GLenum SRGB_READ = 0x8297;
2671         static constexpr const GLenum SRGB_WRITE = 0x8298;
2672         static constexpr const GLenum FILTER = 0x829A;
2673         static constexpr const GLenum VERTEX_TEXTURE = 0x829B;
2674         static constexpr const GLenum TESS_CONTROL_TEXTURE = 0x829C;
2675         static constexpr const GLenum TESS_EVALUATION_TEXTURE = 0x829D;
2676         static constexpr const GLenum GEOMETRY_TEXTURE = 0x829E;
2677         static constexpr const GLenum FRAGMENT_TEXTURE = 0x829F;
2678         static constexpr const GLenum COMPUTE_TEXTURE = 0x82A0;
2679         static constexpr const GLenum TEXTURE_SHADOW = 0x82A1;
2680         static constexpr const GLenum TEXTURE_GATHER = 0x82A2;
2681         static constexpr const GLenum TEXTURE_GATHER_SHADOW = 0x82A3;
2682         static constexpr const GLenum SHADER_IMAGE_LOAD = 0x82A4;
2683         static constexpr const GLenum SHADER_IMAGE_STORE = 0x82A5;
2684         static constexpr const GLenum SHADER_IMAGE_ATOMIC = 0x82A6;
2685         static constexpr const GLenum IMAGE_TEXEL_SIZE = 0x82A7;
2686         static constexpr const GLenum IMAGE_COMPATIBILITY_CLASS = 0x82A8;
2687         static constexpr const GLenum IMAGE_PIXEL_FORMAT = 0x82A9;
2688         static constexpr const GLenum IMAGE_PIXEL_TYPE = 0x82AA;
2689         static constexpr const GLenum SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC;
2690         static constexpr const GLenum SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD;
2691         static constexpr const GLenum SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE;
2692         static constexpr const GLenum SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF;
2693         static constexpr const GLenum TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1;
2694         static constexpr const GLenum TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2;
2695         static constexpr const GLenum TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3;
2696         static constexpr const GLenum CLEAR_BUFFER = 0x82B4;
2697         static constexpr const GLenum TEXTURE_VIEW = 0x82B5;
2698         static constexpr const GLenum VIEW_COMPATIBILITY_CLASS = 0x82B6;
2699         static constexpr const GLenum FULL_SUPPORT = 0x82B7;
2700         static constexpr const GLenum CAVEAT_SUPPORT = 0x82B8;
2701         static constexpr const GLenum IMAGE_CLASS_4_X_32 = 0x82B9;
2702         static constexpr const GLenum IMAGE_CLASS_2_X_32 = 0x82BA;
2703         static constexpr const GLenum IMAGE_CLASS_1_X_32 = 0x82BB;
2704         static constexpr const GLenum IMAGE_CLASS_4_X_16 = 0x82BC;
2705         static constexpr const GLenum IMAGE_CLASS_2_X_16 = 0x82BD;
2706         static constexpr const GLenum IMAGE_CLASS_1_X_16 = 0x82BE;
2707         static constexpr const GLenum IMAGE_CLASS_4_X_8 = 0x82BF;
2708         static constexpr const GLenum IMAGE_CLASS_2_X_8 = 0x82C0;
2709         static constexpr const GLenum IMAGE_CLASS_1_X_8 = 0x82C1;
2710         static constexpr const GLenum IMAGE_CLASS_11_11_10 = 0x82C2;
2711         static constexpr const GLenum IMAGE_CLASS_10_10_10_2 = 0x82C3;
2712         static constexpr const GLenum VIEW_CLASS_128_BITS = 0x82C4;
2713         static constexpr const GLenum VIEW_CLASS_96_BITS = 0x82C5;
2714         static constexpr const GLenum VIEW_CLASS_64_BITS = 0x82C6;
2715         static constexpr const GLenum VIEW_CLASS_48_BITS = 0x82C7;
2716         static constexpr const GLenum VIEW_CLASS_32_BITS = 0x82C8;
2717         static constexpr const GLenum VIEW_CLASS_24_BITS = 0x82C9;
2718         static constexpr const GLenum VIEW_CLASS_16_BITS = 0x82CA;
2719         static constexpr const GLenum VIEW_CLASS_8_BITS = 0x82CB;
2720         static constexpr const GLenum VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC;
2721         static constexpr const GLenum VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD;
2722         static constexpr const GLenum VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE;
2723         static constexpr const GLenum VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF;
2724         static constexpr const GLenum VIEW_CLASS_RGTC1_RED = 0x82D0;
2725         static constexpr const GLenum VIEW_CLASS_RGTC2_RG = 0x82D1;
2726         static constexpr const GLenum VIEW_CLASS_BPTC_UNORM = 0x82D2;
2727         static constexpr const GLenum VIEW_CLASS_BPTC_FLOAT = 0x82D3;
2728         static constexpr const GLenum UNIFORM = 0x92E1;
2729         static constexpr const GLenum UNIFORM_BLOCK = 0x92E2;
2730         static constexpr const GLenum PROGRAM_INPUT = 0x92E3;
2731         static constexpr const GLenum PROGRAM_OUTPUT = 0x92E4;
2732         static constexpr const GLenum BUFFER_VARIABLE = 0x92E5;
2733         static constexpr const GLenum SHADER_STORAGE_BLOCK = 0x92E6;
2734         static constexpr const GLenum VERTEX_SUBROUTINE = 0x92E8;
2735         static constexpr const GLenum TESS_CONTROL_SUBROUTINE = 0x92E9;
2736         static constexpr const GLenum TESS_EVALUATION_SUBROUTINE = 0x92EA;
2737         static constexpr const GLenum GEOMETRY_SUBROUTINE = 0x92EB;
2738         static constexpr const GLenum FRAGMENT_SUBROUTINE = 0x92EC;
2739         static constexpr const GLenum COMPUTE_SUBROUTINE = 0x92ED;
2740         static constexpr const GLenum VERTEX_SUBROUTINE_UNIFORM = 0x92EE;
2741         static constexpr const GLenum TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF;
2742         static constexpr const GLenum TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0;
2743         static constexpr const GLenum GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1;
2744         static constexpr const GLenum FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2;
2745         static constexpr const GLenum COMPUTE_SUBROUTINE_UNIFORM = 0x92F3;
2746         static constexpr const GLenum TRANSFORM_FEEDBACK_VARYING = 0x92F4;
2747         static constexpr const GLenum ACTIVE_RESOURCES = 0x92F5;
2748         static constexpr const GLenum MAX_NAME_LENGTH = 0x92F6;
2749         static constexpr const GLenum MAX_NUM_ACTIVE_VARIABLES = 0x92F7;
2750         static constexpr const GLenum MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8;
2751         static constexpr const GLenum NAME_LENGTH = 0x92F9;
2752         static constexpr const GLenum TYPE = 0x92FA;
2753         static constexpr const GLenum ARRAY_SIZE = 0x92FB;
2754         static constexpr const GLenum OFFSET = 0x92FC;
2755         static constexpr const GLenum BLOCK_INDEX = 0x92FD;
2756         static constexpr const GLenum ARRAY_STRIDE = 0x92FE;
2757         static constexpr const GLenum MATRIX_STRIDE = 0x92FF;
2758         static constexpr const GLenum IS_ROW_MAJOR = 0x9300;
2759         static constexpr const GLenum ATOMIC_COUNTER_BUFFER_INDEX = 0x9301;
2760         static constexpr const GLenum BUFFER_BINDING = 0x9302;
2761         static constexpr const GLenum BUFFER_DATA_SIZE = 0x9303;
2762         static constexpr const GLenum NUM_ACTIVE_VARIABLES = 0x9304;
2763         static constexpr const GLenum ACTIVE_VARIABLES = 0x9305;
2764         static constexpr const GLenum REFERENCED_BY_VERTEX_SHADER = 0x9306;
2765         static constexpr const GLenum REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307;
2766         static constexpr const GLenum REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308;
2767         static constexpr const GLenum REFERENCED_BY_GEOMETRY_SHADER = 0x9309;
2768         static constexpr const GLenum REFERENCED_BY_FRAGMENT_SHADER = 0x930A;
2769         static constexpr const GLenum REFERENCED_BY_COMPUTE_SHADER = 0x930B;
2770         static constexpr const GLenum TOP_LEVEL_ARRAY_SIZE = 0x930C;
2771         static constexpr const GLenum TOP_LEVEL_ARRAY_STRIDE = 0x930D;
2772         static constexpr const GLenum LOCATION = 0x930E;
2773         static constexpr const GLenum LOCATION_INDEX = 0x930F;
2774         static constexpr const GLenum IS_PER_PATCH = 0x92E7;
2775         static constexpr const GLenum SHADER_STORAGE_BUFFER = 0x90D2;
2776         static constexpr const GLenum SHADER_STORAGE_BUFFER_BINDING = 0x90D3;
2777         static constexpr const GLenum SHADER_STORAGE_BUFFER_START = 0x90D4;
2778         static constexpr const GLenum SHADER_STORAGE_BUFFER_SIZE = 0x90D5;
2779         static constexpr const GLenum MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6;
2780         static constexpr const GLenum MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7;
2781         static constexpr const GLenum MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8;
2782         static constexpr const GLenum MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9;
2783         static constexpr const GLenum MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA;
2784         static constexpr const GLenum MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB;
2785         static constexpr const GLenum MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC;
2786         static constexpr const GLenum MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD;
2787         static constexpr const GLenum MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE;
2788         static constexpr const GLenum SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF;
2789         static constexpr const GLenum SHADER_STORAGE_BARRIER_BIT = 0x00002000;
2790         static constexpr const GLenum MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39;
2791         static constexpr const GLenum DEPTH_STENCIL_TEXTURE_MODE = 0x90EA;
2792         static constexpr const GLenum TEXTURE_BUFFER_OFFSET = 0x919D;
2793         static constexpr const GLenum TEXTURE_BUFFER_SIZE = 0x919E;
2794         static constexpr const GLenum TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F;
2795         static constexpr const GLenum TEXTURE_VIEW_MIN_LEVEL = 0x82DB;
2796         static constexpr const GLenum TEXTURE_VIEW_NUM_LEVELS = 0x82DC;
2797         static constexpr const GLenum TEXTURE_VIEW_MIN_LAYER = 0x82DD;
2798         static constexpr const GLenum TEXTURE_VIEW_NUM_LAYERS = 0x82DE;
2799         static constexpr const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
2800         static constexpr const GLenum VERTEX_ATTRIB_BINDING = 0x82D4;
2801         static constexpr const GLenum VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5;
2802         static constexpr const GLenum VERTEX_BINDING_DIVISOR = 0x82D6;
2803         static constexpr const GLenum VERTEX_BINDING_OFFSET = 0x82D7;
2804         static constexpr const GLenum VERTEX_BINDING_STRIDE = 0x82D8;
2805         static constexpr const GLenum MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9;
2806         static constexpr const GLenum MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA;
2807         static constexpr const GLenum VERTEX_BINDING_BUFFER = 0x8F4F;
2808         static constexpr const GLenum MAX_VERTEX_ATTRIB_STRIDE = 0x82E5;
2809         static constexpr const GLenum PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221;
2810         static constexpr const GLenum TEXTURE_BUFFER_BINDING = 0x8C2A;
2811         static constexpr const GLenum MAP_PERSISTENT_BIT = 0x0040;
2812         static constexpr const GLenum MAP_COHERENT_BIT = 0x0080;
2813         static constexpr const GLenum DYNAMIC_STORAGE_BIT = 0x0100;
2814         static constexpr const GLenum CLIENT_STORAGE_BIT = 0x0200;
2815         static constexpr const GLenum CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000;
2816         static constexpr const GLenum BUFFER_IMMUTABLE_STORAGE = 0x821F;
2817         static constexpr const GLenum BUFFER_STORAGE_FLAGS = 0x8220;
2818         static constexpr const GLenum CLEAR_TEXTURE = 0x9365;
2819         static constexpr const GLenum LOCATION_COMPONENT = 0x934A;
2820         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B;
2821         static constexpr const GLenum TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C;
2822         static constexpr const GLenum QUERY_BUFFER = 0x9192;
2823         static constexpr const GLenum QUERY_BUFFER_BARRIER_BIT = 0x00008000;
2824         static constexpr const GLenum QUERY_BUFFER_BINDING = 0x9193;
2825         static constexpr const GLenum QUERY_RESULT_NO_WAIT = 0x9194;
2826         static constexpr const GLenum MIRROR_CLAMP_TO_EDGE = 0x8743;
2827         static constexpr const GLenum CONTEXT_LOST = 0x0507;
2828         static constexpr const GLenum NEGATIVE_ONE_TO_ONE = 0x935E;
2829         static constexpr const GLenum ZERO_TO_ONE = 0x935F;
2830         static constexpr const GLenum CLIP_ORIGIN = 0x935C;
2831         static constexpr const GLenum CLIP_DEPTH_MODE = 0x935D;
2832         static constexpr const GLenum QUERY_WAIT_INVERTED = 0x8E17;
2833         static constexpr const GLenum QUERY_NO_WAIT_INVERTED = 0x8E18;
2834         static constexpr const GLenum QUERY_BY_REGION_WAIT_INVERTED = 0x8E19;
2835         static constexpr const GLenum QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A;
2836         static constexpr const GLenum MAX_CULL_DISTANCES = 0x82F9;
2837         static constexpr const GLenum MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA;
2838         static constexpr const GLenum TEXTURE_TARGET = 0x1006;
2839         static constexpr const GLenum QUERY_TARGET = 0x82EA;
2840         static constexpr const GLenum GUILTY_CONTEXT_RESET = 0x8253;
2841         static constexpr const GLenum INNOCENT_CONTEXT_RESET = 0x8254;
2842         static constexpr const GLenum UNKNOWN_CONTEXT_RESET = 0x8255;
2843         static constexpr const GLenum RESET_NOTIFICATION_STRATEGY = 0x8256;
2844         static constexpr const GLenum LOSE_CONTEXT_ON_RESET = 0x8252;
2845         static constexpr const GLenum NO_RESET_NOTIFICATION = 0x8261;
2846         static constexpr const GLenum CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004;
2847         static constexpr const GLenum CONTEXT_RELEASE_BEHAVIOR = 0x82FB;
2848         static constexpr const GLenum CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC;
2849         static constexpr const GLenum SHADER_BINARY_FORMAT_SPIR_V = 0x9551;
2850         static constexpr const GLenum SPIR_V_BINARY = 0x9552;
2851         static constexpr const GLenum PARAMETER_BUFFER = 0x80EE;
2852         static constexpr const GLenum PARAMETER_BUFFER_BINDING = 0x80EF;
2853         static constexpr const GLenum CONTEXT_FLAG_NO_ERROR_BIT = 0x00000008;
2854         static constexpr const GLenum VERTICES_SUBMITTED = 0x82EE;
2855         static constexpr const GLenum PRIMITIVES_SUBMITTED = 0x82EF;
2856         static constexpr const GLenum VERTEX_SHADER_INVOCATIONS = 0x82F0;
2857         static constexpr const GLenum TESS_CONTROL_SHADER_PATCHES = 0x82F1;
2858         static constexpr const GLenum TESS_EVALUATION_SHADER_INVOCATIONS = 0x82F2;
2859         static constexpr const GLenum GEOMETRY_SHADER_PRIMITIVES_EMITTED = 0x82F3;
2860         static constexpr const GLenum FRAGMENT_SHADER_INVOCATIONS = 0x82F4;
2861         static constexpr const GLenum COMPUTE_SHADER_INVOCATIONS = 0x82F5;
2862         static constexpr const GLenum CLIPPING_INPUT_PRIMITIVES = 0x82F6;
2863         static constexpr const GLenum CLIPPING_OUTPUT_PRIMITIVES = 0x82F7;
2864         static constexpr const GLenum POLYGON_OFFSET_CLAMP = 0x8E1B;
2865         static constexpr const GLenum SPIR_V_EXTENSIONS = 0x9553;
2866         static constexpr const GLenum NUM_SPIR_V_EXTENSIONS = 0x9554;
2867         static constexpr const GLenum TEXTURE_MAX_ANISOTROPY = 0x84FE;
2868         static constexpr const GLenum MAX_TEXTURE_MAX_ANISOTROPY = 0x84FF;
2869         static constexpr const GLenum TRANSFORM_FEEDBACK_OVERFLOW = 0x82EC;
2870         static constexpr const GLenum TRANSFORM_FEEDBACK_STREAM_OVERFLOW = 0x82ED;
2871         static constexpr const GLenum PRIMITIVE_BOUNDING_BOX = 0x92BE;
2872         static constexpr const GLenum MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381;
2873         static constexpr const GLenum MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382;
2874         static constexpr const GLenum UNSIGNED_INT64 = 0x140F;
2875         static constexpr const GLenum SYNC_CL_EVENT = 0x8240;
2876         static constexpr const GLenum SYNC_CL_EVENT_COMPLETE = 0x8241;
2877         static constexpr const GLenum MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS = 0x9344;
2878         static constexpr const GLenum MAX_COMPUTE_FIXED_GROUP_INVOCATIONS = 0x90EB;
2879         static constexpr const GLenum MAX_COMPUTE_VARIABLE_GROUP_SIZE = 0x9345;
2880         static constexpr const GLenum MAX_COMPUTE_FIXED_GROUP_SIZE = 0x91BF;
2881         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_LAYER_COUNT = 0x8DA9;
2882         static constexpr const GLenum MAX_GEOMETRY_VARYING_COMPONENTS = 0x8DDD;
2883         static constexpr const GLenum MAX_VERTEX_VARYING_COMPONENTS = 0x8DDE;
2884         static constexpr const GLenum INT64 = 0x140E;
2885         static constexpr const GLenum INT64_VEC2 = 0x8FE9;
2886         static constexpr const GLenum INT64_VEC3 = 0x8FEA;
2887         static constexpr const GLenum INT64_VEC4 = 0x8FEB;
2888         static constexpr const GLenum UNSIGNED_INT64_VEC2 = 0x8FF5;
2889         static constexpr const GLenum UNSIGNED_INT64_VEC3 = 0x8FF6;
2890         static constexpr const GLenum UNSIGNED_INT64_VEC4 = 0x8FF7;
2891         static constexpr const GLenum SRGB_DECODE = 0x8299;
2892         static constexpr const GLenum VIEW_CLASS_EAC_R11 = 0x9383;
2893         static constexpr const GLenum VIEW_CLASS_EAC_RG11 = 0x9384;
2894         static constexpr const GLenum VIEW_CLASS_ETC2_RGB = 0x9385;
2895         static constexpr const GLenum VIEW_CLASS_ETC2_RGBA = 0x9386;
2896         static constexpr const GLenum VIEW_CLASS_ETC2_EAC_RGBA = 0x9387;
2897         static constexpr const GLenum VIEW_CLASS_ASTC_4x4_RGBA = 0x9388;
2898         static constexpr const GLenum VIEW_CLASS_ASTC_5x4_RGBA = 0x9389;
2899         static constexpr const GLenum VIEW_CLASS_ASTC_5x5_RGBA = 0x938A;
2900         static constexpr const GLenum VIEW_CLASS_ASTC_6x5_RGBA = 0x938B;
2901         static constexpr const GLenum VIEW_CLASS_ASTC_6x6_RGBA = 0x938C;
2902         static constexpr const GLenum VIEW_CLASS_ASTC_8x5_RGBA = 0x938D;
2903         static constexpr const GLenum VIEW_CLASS_ASTC_8x6_RGBA = 0x938E;
2904         static constexpr const GLenum VIEW_CLASS_ASTC_8x8_RGBA = 0x938F;
2905         static constexpr const GLenum VIEW_CLASS_ASTC_10x5_RGBA = 0x9390;
2906         static constexpr const GLenum VIEW_CLASS_ASTC_10x6_RGBA = 0x9391;
2907         static constexpr const GLenum VIEW_CLASS_ASTC_10x8_RGBA = 0x9392;
2908         static constexpr const GLenum VIEW_CLASS_ASTC_10x10_RGBA = 0x9393;
2909         static constexpr const GLenum VIEW_CLASS_ASTC_12x10_RGBA = 0x9394;
2910         static constexpr const GLenum VIEW_CLASS_ASTC_12x12_RGBA = 0x9395;
2911         static constexpr const GLenum MAX_SHADER_COMPILER_THREADS = 0x91B0;
2912         static constexpr const GLenum COMPLETION_STATUS = 0x91B1;
2913         static constexpr const GLenum SAMPLE_LOCATION_SUBPIXEL_BITS = 0x933D;
2914         static constexpr const GLenum SAMPLE_LOCATION_PIXEL_GRID_WIDTH = 0x933E;
2915         static constexpr const GLenum SAMPLE_LOCATION_PIXEL_GRID_HEIGHT = 0x933F;
2916         static constexpr const GLenum PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE = 0x9340;
2917         static constexpr const GLenum SAMPLE_LOCATION = 0x8E50;
2918         static constexpr const GLenum PROGRAMMABLE_SAMPLE_LOCATION = 0x9341;
2919         static constexpr const GLenum FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS = 0x9342;
2920         static constexpr const GLenum FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID = 0x9343;
2921         static constexpr const GLenum SHADER_INCLUDE = 0x8DAE;
2922         static constexpr const GLenum NAMED_STRING_LENGTH = 0x8DE9;
2923         static constexpr const GLenum NAMED_STRING_TYPE = 0x8DEA;
2924         static constexpr const GLenum SPARSE_STORAGE_BIT = 0x0400;
2925         static constexpr const GLenum SPARSE_BUFFER_PAGE_SIZE = 0x82F8;
2926         static constexpr const GLenum TEXTURE_SPARSE = 0x91A6;
2927         static constexpr const GLenum VIRTUAL_PAGE_SIZE_INDEX = 0x91A7;
2928         static constexpr const GLenum NUM_SPARSE_LEVELS = 0x91AA;
2929         static constexpr const GLenum NUM_VIRTUAL_PAGE_SIZES = 0x91A8;
2930         static constexpr const GLenum VIRTUAL_PAGE_SIZE_X = 0x9195;
2931         static constexpr const GLenum VIRTUAL_PAGE_SIZE_Y = 0x9196;
2932         static constexpr const GLenum VIRTUAL_PAGE_SIZE_Z = 0x9197;
2933         static constexpr const GLenum MAX_SPARSE_TEXTURE_SIZE = 0x9198;
2934         static constexpr const GLenum MAX_SPARSE_3D_TEXTURE_SIZE = 0x9199;
2935         static constexpr const GLenum MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A;
2936         static constexpr const GLenum SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS = 0x91A9;
2937         static constexpr const GLenum TEXTURE_BUFFER_FORMAT = 0x8C2E;
2938         static constexpr const GLenum TEXTURE_REDUCTION_MODE = 0x9366;
2939         static constexpr const GLenum WEIGHTED_AVERAGE = 0x9367;
2940         static constexpr const GLenum MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F;
2941         static constexpr const GLenum MULTIPLY = 0x9294;
2942         static constexpr const GLenum SCREEN = 0x9295;
2943         static constexpr const GLenum OVERLAY = 0x9296;
2944         static constexpr const GLenum DARKEN = 0x9297;
2945         static constexpr const GLenum LIGHTEN = 0x9298;
2946         static constexpr const GLenum COLORDODGE = 0x9299;
2947         static constexpr const GLenum COLORBURN = 0x929A;
2948         static constexpr const GLenum HARDLIGHT = 0x929B;
2949         static constexpr const GLenum SOFTLIGHT = 0x929C;
2950         static constexpr const GLenum _DIFFERENCE = 0x929E;
2951         static constexpr const GLenum EXCLUSION = 0x92A0;
2952         static constexpr const GLenum HSL_HUE = 0x92AD;
2953         static constexpr const GLenum HSL_SATURATION = 0x92AE;
2954         static constexpr const GLenum HSL_COLOR = 0x92AF;
2955         static constexpr const GLenum HSL_LUMINOSITY = 0x92B0;
2956         static constexpr const GLenum BLEND_ADVANCED_COHERENT = 0x9285;
2957         static constexpr const GLenum CONTEXT_ROBUST_ACCESS = 0x90F3;
2958         static constexpr const GLenum SUBGROUP_SIZE = 0x9532;
2959         static constexpr const GLenum SUBGROUP_SUPPORTED_STAGES = 0x9533;
2960         static constexpr const GLenum SUBGROUP_SUPPORTED_FEATURES = 0x9534;
2961         static constexpr const GLenum SUBGROUP_QUAD_ALL_STAGES = 0x9535;
2962         static constexpr const GLenum SUBGROUP_FEATURE_BASIC_BIT = 0x00000001;
2963         static constexpr const GLenum SUBGROUP_FEATURE_VOTE_BIT = 0x00000002;
2964         static constexpr const GLenum SUBGROUP_FEATURE_ARITHMETIC_BIT = 0x00000004;
2965         static constexpr const GLenum SUBGROUP_FEATURE_BALLOT_BIT = 0x00000008;
2966         static constexpr const GLenum SUBGROUP_FEATURE_SHUFFLE_BIT = 0x00000010;
2967         static constexpr const GLenum SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 0x00000020;
2968         static constexpr const GLenum SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040;
2969         static constexpr const GLenum SUBGROUP_FEATURE_QUAD_BIT = 0x00000080;
2970         static constexpr const GLenum COMPRESSED_RGBA_ASTC_4x4 = 0x93B0;
2971         static constexpr const GLenum COMPRESSED_RGBA_ASTC_5x4 = 0x93B1;
2972         static constexpr const GLenum COMPRESSED_RGBA_ASTC_5x5 = 0x93B2;
2973         static constexpr const GLenum COMPRESSED_RGBA_ASTC_6x5 = 0x93B3;
2974         static constexpr const GLenum COMPRESSED_RGBA_ASTC_6x6 = 0x93B4;
2975         static constexpr const GLenum COMPRESSED_RGBA_ASTC_8x5 = 0x93B5;
2976         static constexpr const GLenum COMPRESSED_RGBA_ASTC_8x6 = 0x93B6;
2977         static constexpr const GLenum COMPRESSED_RGBA_ASTC_8x8 = 0x93B7;
2978         static constexpr const GLenum COMPRESSED_RGBA_ASTC_10x5 = 0x93B8;
2979         static constexpr const GLenum COMPRESSED_RGBA_ASTC_10x6 = 0x93B9;
2980         static constexpr const GLenum COMPRESSED_RGBA_ASTC_10x8 = 0x93BA;
2981         static constexpr const GLenum COMPRESSED_RGBA_ASTC_10x10 = 0x93BB;
2982         static constexpr const GLenum COMPRESSED_RGBA_ASTC_12x10 = 0x93BC;
2983         static constexpr const GLenum COMPRESSED_RGBA_ASTC_12x12 = 0x93BD;
2984         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0;
2985         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1;
2986         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2;
2987         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3;
2988         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4;
2989         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5;
2990         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6;
2991         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7;
2992         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8;
2993         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9;
2994         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA;
2995         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB;
2996         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC;
2997         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD;
2998         static constexpr const GLenum PROGRAM_PIPELINE_OBJECT = 0x8A4F;
2999         static constexpr const GLenum PROGRAM_OBJECT = 0x8B40;
3000         static constexpr const GLenum SHADER_OBJECT = 0x8B48;
3001         static constexpr const GLenum BUFFER_OBJECT = 0x9151;
3002         static constexpr const GLenum QUERY_OBJECT = 0x9153;
3003         static constexpr const GLenum VERTEX_ARRAY_OBJECT = 0x9154;
3004         static constexpr const GLenum PROGRAM_MATRIX = 0x8E2D;
3005         static constexpr const GLenum TRANSPOSE_PROGRAM_MATRIX = 0x8E2E;
3006         static constexpr const GLenum PROGRAM_MATRIX_STACK_DEPTH = 0x8E2F;
3007         static constexpr const GLenum RASTER_MULTISAMPLE = 0x9327;
3008         static constexpr const GLenum RASTER_SAMPLES = 0x9328;
3009         static constexpr const GLenum MAX_RASTER_SAMPLES = 0x9329;
3010         static constexpr const GLenum RASTER_FIXED_SAMPLE_LOCATIONS = 0x932A;
3011         static constexpr const GLenum MULTISAMPLE_RASTERIZATION_ALLOWED = 0x932B;
3012         static constexpr const GLenum EFFECTIVE_RASTER_SAMPLES = 0x932C;
3013         static constexpr const GLenum FRAGMENT_SHADER_DISCARDS_SAMPLES = 0x8A52;
3014         static constexpr const GLenum COMPRESSED_RGB_S3TC_DXT1 = 0x83F0;
3015         static constexpr const GLenum COMPRESSED_RGBA_S3TC_DXT1 = 0x83F1;
3016         static constexpr const GLenum COMPRESSED_RGBA_S3TC_DXT3 = 0x83F2;
3017         static constexpr const GLenum COMPRESSED_RGBA_S3TC_DXT5 = 0x83F3;
3018         static constexpr const GLenum SR8 = 0x8FBD;
3019         static constexpr const GLenum SRG8 = 0x8FBE;
3020         static constexpr const GLenum TEXTURE_SRGB_DECODE = 0x8A48;
3021         static constexpr const GLenum DECODE = 0x8A49;
3022         static constexpr const GLenum SKIP_DECODE = 0x8A4A;
3023         static constexpr const GLenum INCLUSIVE = 0x8F10;
3024         static constexpr const GLenum EXCLUSIVE = 0x8F11;
3025         static constexpr const GLenum WINDOW_RECTANGLE = 0x8F12;
3026         static constexpr const GLenum WINDOW_RECTANGLE_MODE = 0x8F13;
3027         static constexpr const GLenum MAX_WINDOW_RECTANGLES = 0x8F14;
3028         static constexpr const GLenum NUM_WINDOW_RECTANGLES = 0x8F15;
3029         static constexpr const GLenum TEXTURE_EXTERNAL = 0x8D65;
3030         static constexpr const GLenum TEXTURE_BINDING_EXTERNAL = 0x8D67;
3031         static constexpr const GLenum REQUIRED_TEXTURE_IMAGE_UNITS = 0x8D68;
3032         static constexpr const GLenum SAMPLER_EXTERNAL = 0x8D66;
3033         static constexpr const GLenum ETC1_RGB8 = 0x8D64;
3034         static constexpr const GLenum PALETTE4_RGB8 = 0x8B90;
3035         static constexpr const GLenum PALETTE4_RGBA8 = 0x8B91;
3036         static constexpr const GLenum PALETTE4_R5_G6_B5 = 0x8B92;
3037         static constexpr const GLenum PALETTE4_RGBA4 = 0x8B93;
3038         static constexpr const GLenum PALETTE4_RGB5_A1 = 0x8B94;
3039         static constexpr const GLenum PALETTE8_RGB8 = 0x8B95;
3040         static constexpr const GLenum PALETTE8_RGBA8 = 0x8B96;
3041         static constexpr const GLenum PALETTE8_R5_G6_B5 = 0x8B97;
3042         static constexpr const GLenum PALETTE8_RGBA4 = 0x8B98;
3043         static constexpr const GLenum PALETTE8_RGB5_A1 = 0x8B99;
3044         static constexpr const GLenum GEOMETRY_LINKED_VERTICES_OUT = 0x8916;
3045         static constexpr const GLenum GEOMETRY_LINKED_INPUT_TYPE = 0x8917;
3046         static constexpr const GLenum GEOMETRY_LINKED_OUTPUT_TYPE = 0x8918;
3047         static constexpr const GLenum ALPHA8 = 0x803C;
3048         static constexpr const GLenum LUMINANCE4_ALPHA4 = 0x8043;
3049         static constexpr const GLenum LUMINANCE8_ALPHA8 = 0x8045;
3050         static constexpr const GLenum LUMINANCE8 = 0x8040;
3051         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET = 0x8CD4;
3052         static constexpr const GLenum COMPRESSED_RGBA_ASTC_3x3x3 = 0x93C0;
3053         static constexpr const GLenum COMPRESSED_RGBA_ASTC_4x3x3 = 0x93C1;
3054         static constexpr const GLenum COMPRESSED_RGBA_ASTC_4x4x3 = 0x93C2;
3055         static constexpr const GLenum COMPRESSED_RGBA_ASTC_4x4x4 = 0x93C3;
3056         static constexpr const GLenum COMPRESSED_RGBA_ASTC_5x4x4 = 0x93C4;
3057         static constexpr const GLenum COMPRESSED_RGBA_ASTC_5x5x4 = 0x93C5;
3058         static constexpr const GLenum COMPRESSED_RGBA_ASTC_5x5x5 = 0x93C6;
3059         static constexpr const GLenum COMPRESSED_RGBA_ASTC_6x5x5 = 0x93C7;
3060         static constexpr const GLenum COMPRESSED_RGBA_ASTC_6x6x5 = 0x93C8;
3061         static constexpr const GLenum COMPRESSED_RGBA_ASTC_6x6x6 = 0x93C9;
3062         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3 = 0x93E0;
3063         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3 = 0x93E1;
3064         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3 = 0x93E2;
3065         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4 = 0x93E3;
3066         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4 = 0x93E4;
3067         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4 = 0x93E5;
3068         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5 = 0x93E6;
3069         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5 = 0x93E7;
3070         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5 = 0x93E8;
3071         static constexpr const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6 = 0x93E9;
3072         static constexpr const GLenum INT_10_10_10_2 = 0x8DF7;
3073         static constexpr const GLenum BGRA8 = 0x93A1;
3074         static constexpr const GLenum MALI_PROGRAM_BINARY_ARM = 0x8F61;
3075         static constexpr const GLenum MALI_SHADER_BINARY_ARM = 0x8F60;
3076         static constexpr const GLenum FETCH_PER_SAMPLE_ARM = 0x8F65;
3077         static constexpr const GLenum FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66;
3078         static constexpr const GLenum TEXTURE_UNNORMALIZED_COORDINATES_ARM = 0x8F6A;
3079         static constexpr const GLenum SMAPHS30_PROGRAM_BINARY_DMP = 0x9251;
3080         static constexpr const GLenum SMAPHS_PROGRAM_BINARY_DMP = 0x9252;
3081         static constexpr const GLenum DMP_PROGRAM_BINARY_DMP = 0x9253;
3082         static constexpr const GLenum SHADER_BINARY_DMP = 0x9250;
3083         static constexpr const GLenum SAMPLER_EXTERNAL_2D_Y2Y = 0x8BE7;
3084         static constexpr const GLenum GPU_DISJOINT = 0x8FBB;
3085         static constexpr const GLenum TEXTURE_TILING = 0x9580;
3086         static constexpr const GLenum DEDICATED_MEMORY_OBJECT = 0x9581;
3087         static constexpr const GLenum PROTECTED_MEMORY_OBJECT = 0x959B;
3088         static constexpr const GLenum NUM_TILING_TYPES = 0x9582;
3089         static constexpr const GLenum TILING_TYPES = 0x9583;
3090         static constexpr const GLenum OPTIMAL_TILING = 0x9584;
3091         static constexpr const GLenum LINEAR_TILING = 0x9585;
3092         static constexpr const GLenum NUM_DEVICE_UUIDS = 0x9596;
3093         static constexpr const GLenum DEVICE_UUID = 0x9597;
3094         static constexpr const GLenum DRIVER_UUID = 0x9598;
3095         static constexpr const GLenum HANDLE_TYPE_OPAQUE_FD = 0x9586;
3096         static constexpr const GLenum HANDLE_TYPE_OPAQUE_WIN32 = 0x9587;
3097         static constexpr const GLenum HANDLE_TYPE_OPAQUE_WIN32_KMT = 0x9588;
3098         static constexpr const GLenum DEVICE_LUID = 0x9599;
3099         static constexpr const GLenum DEVICE_NODE_MASK = 0x959A;
3100         static constexpr const GLenum HANDLE_TYPE_D3D12_TILEPOOL = 0x9589;
3101         static constexpr const GLenum HANDLE_TYPE_D3D12_RESOURCE = 0x958A;
3102         static constexpr const GLenum HANDLE_TYPE_D3D11_IMAGE = 0x958B;
3103         static constexpr const GLenum HANDLE_TYPE_D3D11_IMAGE_KMT = 0x958C;
3104         static constexpr const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES = 0x8D6C;
3105         static constexpr const GLenum COLOR_ATTACHMENT = 0x90F0;
3106         static constexpr const GLenum MULTIVIEW = 0x90F1;
3107         static constexpr const GLenum MAX_MULTIVIEW_BUFFERS = 0x90F2;
3108         static constexpr const GLenum CONTEXT_FLAG_PROTECTED_CONTENT_BIT = 0x00000010;
3109         static constexpr const GLenum TEXTURE_PROTECTED = 0x8BFA;
3110         static constexpr const GLenum COMPRESSED_SRGB_PVRTC_2BPPV1 = 0x8A54;
3111         static constexpr const GLenum COMPRESSED_SRGB_PVRTC_4BPPV1 = 0x8A55;
3112         static constexpr const GLenum COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1 = 0x8A56;
3113         static constexpr const GLenum COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1 = 0x8A57;
3114         static constexpr const GLenum LAYOUT_GENERAL = 0x958D;
3115         static constexpr const GLenum LAYOUT_COLOR_ATTACHMENT = 0x958E;
3116         static constexpr const GLenum LAYOUT_DEPTH_STENCIL_ATTACHMENT = 0x958F;
3117         static constexpr const GLenum LAYOUT_DEPTH_STENCIL_READ_ONLY = 0x9590;
3118         static constexpr const GLenum LAYOUT_SHADER_READ_ONLY = 0x9591;
3119         static constexpr const GLenum LAYOUT_TRANSFER_SRC = 0x9592;
3120         static constexpr const GLenum LAYOUT_TRANSFER_DST = 0x9593;
3121         static constexpr const GLenum LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT = 0x9530;
3122         static constexpr const GLenum LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY = 0x9531;
3123         static constexpr const GLenum HANDLE_TYPE_D3D12_FENCE = 0x9594;
3124         static constexpr const GLenum D3D12_FENCE_VALUE = 0x9595;
3125         static constexpr const GLenum MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE = 0x8F63;
3126         static constexpr const GLenum MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE = 0x8F67;
3127         static constexpr const GLenum SHADER_PIXEL_LOCAL_STORAGE = 0x8F64;
3128         static constexpr const GLenum MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE = 0x9650;
3129         static constexpr const GLenum MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE = 0x9651;
3130         static constexpr const GLenum FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE = 0x9652;
3131         static constexpr const GLenum TEXTURE_ASTC_DECODE_PRECISION = 0x8F69;
3132         static constexpr const GLenum COMPRESSED_RED_GREEN_RGTC2 = 0x8DBD;
3133         static constexpr const GLenum COMPRESSED_SIGNED_RED_GREEN_RGTC2 = 0x8DBE;
3134         static constexpr const GLenum COMPRESSED_SRGB_S3TC_DXT1 = 0x8C4C;
3135         static constexpr const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT1 = 0x8C4D;
3136         static constexpr const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT3 = 0x8C4E;
3137         static constexpr const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT5 = 0x8C4F;
3138         static constexpr const GLenum TEXTURE_FORMAT_SRGB_OVERRIDE = 0x8FBF;
3139         static constexpr const GLenum ALPHA32F = 0x8816;
3140         static constexpr const GLenum LUMINANCE32F = 0x8818;
3141         static constexpr const GLenum LUMINANCE_ALPHA32F = 0x8819;
3142         static constexpr const GLenum ALPHA16F = 0x881C;
3143         static constexpr const GLenum LUMINANCE16F = 0x881E;
3144         static constexpr const GLenum LUMINANCE_ALPHA16F = 0x881F;
3145         static constexpr const GLenum GCCSO_SHADER_BINARY_FJ = 0x9260;
3146         static constexpr const GLenum STATE_RESTORE = 0x8BDC;
3147         static constexpr const GLenum SHADER_BINARY_VIV = 0x8FC4;
3148
3149         static constexpr const GLenum ZERO = 0;
3150         static constexpr const GLenum ONE = 1;
3151         static constexpr const GLenum NONE = 0;
3152 };
3153
3154 //Global GL procedures object.
3155 IRRLICHT_API extern OpenGLProcedures GL;