Commits

Jason McKesson committed 91620e4

glload: OpenGL 4.3 support.

Comments (0)

Files changed (40)

glload/codegen/How it works.txt

 # Commit these into the "glspec" branch. Include the changelist of the data from gl-xml-spec.
 # Update the "latest-spec" tag to point to this newest commit.
 # Merge the "glspec" head with the "default" branch.
+# If the .spec files include a new OpenGL version:
+## In codegen/MakeAllFiles.lua, add lines to the `glOutputs` function to handle the new OpenGL version.
+## In codegen/data/coreExtList.lua, add a new table to contain the core ARB extensions for the new version. Then add an entry into the `masterTable` table to reference it. Make sure to take the `GL_` prefixes out.
+## In codegen/data/listOfCoreVersions.lua, add a new core version.
+## Modify `gl_all.h` and `gl_all.hpp` to include the most recent compatibility header.
+## If the new version removed (not just deprecated) functionality:
+### In codegen/MakeAllFiles, add the version to the list `removalVersions`.
 # In the glload/codegen directory, run 'lua MakeAllFiles.lua'
 # Verify that the tests and examples work.
+# Add new files from `glload/include/glload` to Mercurial.
 # Check this into the "default" branch.
 
-Any .spec file bugs that we need to fix should be fixed in gl-xml-spec project. That is where the .spec files are maintained.
-
-If the spec files include a new OpenGL version, do the following steps ''before'' running the code generation process.
-
-# In codegen/MakeAllFiles.lua, add lines to the `glOutputs` function to handle the new OpenGL version.
-# In codegen/data/coreExtList.lua, add a new table to contain the core ARB extensions for the new version. Then add an entry into the `masterTable` table to reference it. Make sure to take the `GL_` prefixes out.
-# In codegen/data/listOfCoreVersions.lua, add a new core version.
-# If the new version removed (not just deprecated) functionality:
-## In codegen/MakeAllFiles, add the version to the list `removalVersions`.
+Any .spec file bugs that we need to fix should be fixed in gl-xml-spec project. That is where the .spec files are maintained.

glload/codegen/MakeAllFiles.lua

 	{"gl_4_1_comp", "4.1", false},
 	{"gl_4_2", "4.2", true},
 	{"gl_4_2_comp", "4.2", false},
+	{"gl_4_3", "4.3", true},
+	{"gl_4_3_comp", "4.3", false},
 };
 
 local glTruncPreceedData = {}

glload/codegen/data/coreExtList.lua

 	"ARB_texture_storage",
 };
 
+local coreExts4_3 = {
+	"KHR_debug",
+	"ARB_arrays_of_arrays",
+	"ARB_clear_buffer_object",
+	"ARB_compute_shader",
+	"ARB_copy_image",
+	"ARB_debug_group",
+	"ARB_debug_label",
+	"ARB_debug_output2",
+	"ARB_ES3_compatibility",
+	"ARB_explicit_uniform_location",
+	"ARB_fragment_layer_viewport",
+	"ARB_framebuffer_no_attachments",
+	"ARB_internalformat_query2",
+	"ARB_invalidate_subdata",
+	"ARB_multi_draw_indirect",
+	"ARB_program_interface_query",
+	"ARB_shader_image_size",
+	"ARB_shader_storage_buffer_object",
+	"ARB_stencil_texturing",
+	"ARB_texture_buffer_range",
+	"ARB_texture_query_levels",
+	"ARB_texture_storage_multisample",
+	"ARB_texture_view",
+	"ARB_vertex_attrib_binding",
+};
+
 local masterTable = {
 	["3.0"] = coreExts3_0,
 	["3.1"] = coreExts3_1,
 	["4.0"] = coreExts4_0,
 	["4.1"] = coreExts4_1,
 	["4.2"] = coreExts4_2,
+	["4.3"] = coreExts4_3,
 };
 
 

glload/codegen/data/listOfCoreVersions.lua

 	"4.0",
 	"4.1",
 	"4.2",
+	"4.3",
 }

glload/include/glload/_int_gl_1_1.h

 #define GL_MAX_TEXTURE_SIZE 0x0D33
 #define GL_MAX_VIEWPORT_DIMS 0x0D3A
 #define GL_SUBPIXEL_BITS 0x0D50
-#define GL_TEXTURE_1D 0x0DE0
-#define GL_TEXTURE_2D 0x0DE1
 #define GL_POLYGON_OFFSET_UNITS 0x2A00
 #define GL_POLYGON_OFFSET_POINT 0x2A01
 #define GL_POLYGON_OFFSET_LINE 0x2A02
 typedef void (GLE_FUNCPTR * PFNGLTEXIMAGE2DPROC)(GLenum , GLint , GLint , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLDRAWBUFFERPROC)(GLenum );
 typedef void (GLE_FUNCPTR * PFNGLCLEARPROC)(GLbitfield );
-typedef void (GLE_FUNCPTR * PFNGLCLEARCOLORPROC)(GLclampf , GLclampf , GLclampf , GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLCLEARCOLORPROC)(GLfloat , GLfloat , GLfloat , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLCLEARSTENCILPROC)(GLint );
-typedef void (GLE_FUNCPTR * PFNGLCLEARDEPTHPROC)(GLclampd );
+typedef void (GLE_FUNCPTR * PFNGLCLEARDEPTHPROC)(GLdouble );
 typedef void (GLE_FUNCPTR * PFNGLSTENCILMASKPROC)(GLuint );
 typedef void (GLE_FUNCPTR * PFNGLCOLORMASKPROC)(GLboolean , GLboolean , GLboolean , GLboolean );
 typedef void (GLE_FUNCPTR * PFNGLDEPTHMASKPROC)(GLboolean );
 typedef void (GLE_FUNCPTR * PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum , GLint , GLenum , GLfloat *);
 typedef void (GLE_FUNCPTR * PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum , GLint , GLenum , GLint *);
 typedef GLboolean (GLE_FUNCPTR * PFNGLISENABLEDPROC)(GLenum );
-typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEPROC)(GLclampd , GLclampd );
+typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEPROC)(GLdouble , GLdouble );
 typedef void (GLE_FUNCPTR * PFNGLVIEWPORTPROC)(GLint , GLint , GLsizei , GLsizei );
 typedef void (GLE_FUNCPTR * PFNGLDRAWARRAYSPROC)(GLenum , GLint , GLsizei );
 typedef void (GLE_FUNCPTR * PFNGLDRAWELEMENTSPROC)(GLenum , GLsizei , GLenum , const GLvoid *);

glload/include/glload/_int_gl_1_1.hpp

 extern void (GLE_FUNCPTR *__gleTexImage2D)(GLenum , GLint , GLint , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleDrawBuffer)(GLenum );
 extern void (GLE_FUNCPTR *__gleClear)(GLbitfield );
-extern void (GLE_FUNCPTR *__gleClearColor)(GLclampf , GLclampf , GLclampf , GLclampf );
+extern void (GLE_FUNCPTR *__gleClearColor)(GLfloat , GLfloat , GLfloat , GLfloat );
 extern void (GLE_FUNCPTR *__gleClearStencil)(GLint );
-extern void (GLE_FUNCPTR *__gleClearDepth)(GLclampd );
+extern void (GLE_FUNCPTR *__gleClearDepth)(GLdouble );
 extern void (GLE_FUNCPTR *__gleStencilMask)(GLuint );
 extern void (GLE_FUNCPTR *__gleColorMask)(GLboolean , GLboolean , GLboolean , GLboolean );
 extern void (GLE_FUNCPTR *__gleDepthMask)(GLboolean );
 extern void (GLE_FUNCPTR *__gleGetTexLevelParameterfv)(GLenum , GLint , GLenum , GLfloat *);
 extern void (GLE_FUNCPTR *__gleGetTexLevelParameteriv)(GLenum , GLint , GLenum , GLint *);
 extern GLboolean (GLE_FUNCPTR *__gleIsEnabled)(GLenum );
-extern void (GLE_FUNCPTR *__gleDepthRange)(GLclampd , GLclampd );
+extern void (GLE_FUNCPTR *__gleDepthRange)(GLdouble , GLdouble );
 extern void (GLE_FUNCPTR *__gleViewport)(GLint , GLint , GLsizei , GLsizei );
 extern void (GLE_FUNCPTR *__gleDrawArrays)(GLenum , GLint , GLsizei );
 extern void (GLE_FUNCPTR *__gleDrawElements)(GLenum , GLsizei , GLenum , const GLvoid *);
 		GL_MAX_TEXTURE_SIZE              = 0x0D33,
 		GL_MAX_VIEWPORT_DIMS             = 0x0D3A,
 		GL_SUBPIXEL_BITS                 = 0x0D50,
-		GL_TEXTURE_1D                    = 0x0DE0,
-		GL_TEXTURE_2D                    = 0x0DE1,
 		GL_POLYGON_OFFSET_UNITS          = 0x2A00,
 		GL_POLYGON_OFFSET_POINT          = 0x2A01,
 		GL_POLYGON_OFFSET_LINE           = 0x2A02,
 	inline void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { ::__gleTexImage2D(target, level, internalformat, width, height, border, format, type, pixels); }
 	inline void DrawBuffer(GLenum mode) { ::__gleDrawBuffer(mode); }
 	inline void Clear(GLbitfield mask) { ::__gleClear(mask); }
-	inline void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { ::__gleClearColor(red, green, blue, alpha); }
+	inline void ClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { ::__gleClearColor(red, green, blue, alpha); }
 	inline void ClearStencil(GLint s) { ::__gleClearStencil(s); }
-	inline void ClearDepth(GLclampd depth) { ::__gleClearDepth(depth); }
+	inline void ClearDepth(GLdouble depth) { ::__gleClearDepth(depth); }
 	inline void StencilMask(GLuint mask) { ::__gleStencilMask(mask); }
 	inline void ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { ::__gleColorMask(red, green, blue, alpha); }
 	inline void DepthMask(GLboolean flag) { ::__gleDepthMask(flag); }
 	inline void GetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { ::__gleGetTexLevelParameterfv(target, level, pname, params); }
 	inline void GetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { ::__gleGetTexLevelParameteriv(target, level, pname, params); }
 	inline GLboolean IsEnabled(GLenum cap) { return ::__gleIsEnabled(cap); }
-	inline void DepthRange(GLclampd ren_near, GLclampd ren_far) { ::__gleDepthRange(ren_near, ren_far); }
+	inline void DepthRange(GLdouble ren_near, GLdouble ren_far) { ::__gleDepthRange(ren_near, ren_far); }
 	inline void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { ::__gleViewport(x, y, width, height); }
 	inline void DrawArrays(GLenum mode, GLint first, GLsizei count) { ::__gleDrawArrays(mode, first, count); }
 	inline void DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { ::__gleDrawElements(mode, count, type, indices); }

glload/include/glload/_int_gl_1_1_rem_3_1.h

 #define GL_AUX1 0x040A
 #define GL_AUX2 0x040B
 #define GL_AUX3 0x040C
-#define GL_STACK_OVERFLOW 0x0503
-#define GL_STACK_UNDERFLOW 0x0504
 #define GL_2D 0x0600
 #define GL_3D 0x0601
 #define GL_3D_COLOR 0x0602
 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
 #define GL_SELECTION_BUFFER_SIZE 0x0DF4
-#define GL_VERTEX_ARRAY 0x8074
 #define GL_NORMAL_ARRAY 0x8075
 #define GL_COLOR_ARRAY 0x8076
 #define GL_INDEX_ARRAY 0x8077
 typedef void (GLE_FUNCPTR * PFNGLEVALPOINT1PROC)(GLint );
 typedef void (GLE_FUNCPTR * PFNGLEVALMESH2PROC)(GLenum , GLint , GLint , GLint , GLint );
 typedef void (GLE_FUNCPTR * PFNGLEVALPOINT2PROC)(GLint , GLint );
-typedef void (GLE_FUNCPTR * PFNGLALPHAFUNCPROC)(GLenum , GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLALPHAFUNCPROC)(GLenum , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLPIXELZOOMPROC)(GLfloat , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLPIXELTRANSFERFPROC)(GLenum , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLPIXELTRANSFERIPROC)(GLenum , GLint );
 typedef void (GLE_FUNCPTR * PFNGLTEXCOORDPOINTERPROC)(GLint , GLenum , GLsizei , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLVERTEXPOINTERPROC)(GLint , GLenum , GLsizei , const GLvoid *);
 typedef GLboolean (GLE_FUNCPTR * PFNGLARETEXTURESRESIDENTPROC)(GLsizei , const GLuint *, GLboolean *);
-typedef void (GLE_FUNCPTR * PFNGLPRIORITIZETEXTURESPROC)(GLsizei , const GLuint *, const GLclampf *);
+typedef void (GLE_FUNCPTR * PFNGLPRIORITIZETEXTURESPROC)(GLsizei , const GLuint *, const GLfloat *);
 typedef void (GLE_FUNCPTR * PFNGLPOPCLIENTATTRIBPROC)();
 typedef void (GLE_FUNCPTR * PFNGLPUSHCLIENTATTRIBPROC)(GLbitfield );
 

glload/include/glload/_int_gl_1_1_rem_3_1.hpp

 extern void (GLE_FUNCPTR *__gleEvalPoint1)(GLint );
 extern void (GLE_FUNCPTR *__gleEvalMesh2)(GLenum , GLint , GLint , GLint , GLint );
 extern void (GLE_FUNCPTR *__gleEvalPoint2)(GLint , GLint );
-extern void (GLE_FUNCPTR *__gleAlphaFunc)(GLenum , GLclampf );
+extern void (GLE_FUNCPTR *__gleAlphaFunc)(GLenum , GLfloat );
 extern void (GLE_FUNCPTR *__glePixelZoom)(GLfloat , GLfloat );
 extern void (GLE_FUNCPTR *__glePixelTransferf)(GLenum , GLfloat );
 extern void (GLE_FUNCPTR *__glePixelTransferi)(GLenum , GLint );
 extern void (GLE_FUNCPTR *__gleTexCoordPointer)(GLint , GLenum , GLsizei , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleVertexPointer)(GLint , GLenum , GLsizei , const GLvoid *);
 extern GLboolean (GLE_FUNCPTR *__gleAreTexturesResident)(GLsizei , const GLuint *, GLboolean *);
-extern void (GLE_FUNCPTR *__glePrioritizeTextures)(GLsizei , const GLuint *, const GLclampf *);
+extern void (GLE_FUNCPTR *__glePrioritizeTextures)(GLsizei , const GLuint *, const GLfloat *);
 extern void (GLE_FUNCPTR *__glePopClientAttrib)();
 extern void (GLE_FUNCPTR *__glePushClientAttrib)(GLbitfield );
 #ifdef __cplusplus
 		GL_AUX1                          = 0x040A,
 		GL_AUX2                          = 0x040B,
 		GL_AUX3                          = 0x040C,
-		GL_STACK_OVERFLOW                = 0x0503,
-		GL_STACK_UNDERFLOW               = 0x0504,
 		GL_2D                            = 0x0600,
 		GL_3D                            = 0x0601,
 		GL_3D_COLOR                      = 0x0602,
 		GL_FEEDBACK_BUFFER_SIZE          = 0x0DF1,
 		GL_FEEDBACK_BUFFER_TYPE          = 0x0DF2,
 		GL_SELECTION_BUFFER_SIZE         = 0x0DF4,
-		GL_VERTEX_ARRAY                  = 0x8074,
 		GL_NORMAL_ARRAY                  = 0x8075,
 		GL_COLOR_ARRAY                   = 0x8076,
 		GL_INDEX_ARRAY                   = 0x8077,
 	inline void EvalPoint1(GLint i) { ::__gleEvalPoint1(i); }
 	inline void EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { ::__gleEvalMesh2(mode, i1, i2, j1, j2); }
 	inline void EvalPoint2(GLint i, GLint j) { ::__gleEvalPoint2(i, j); }
-	inline void AlphaFunc(GLenum func, GLclampf ref) { ::__gleAlphaFunc(func, ref); }
+	inline void AlphaFunc(GLenum func, GLfloat ref) { ::__gleAlphaFunc(func, ref); }
 	inline void PixelZoom(GLfloat xfactor, GLfloat yfactor) { ::__glePixelZoom(xfactor, yfactor); }
 	inline void PixelTransferf(GLenum pname, GLfloat param) { ::__glePixelTransferf(pname, param); }
 	inline void PixelTransferi(GLenum pname, GLint param) { ::__glePixelTransferi(pname, param); }
 	inline void TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { ::__gleTexCoordPointer(size, type, stride, pointer); }
 	inline void VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { ::__gleVertexPointer(size, type, stride, pointer); }
 	inline GLboolean AreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { return ::__gleAreTexturesResident(n, textures, residences); }
-	inline void PrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities) { ::__glePrioritizeTextures(n, textures, priorities); }
+	inline void PrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { ::__glePrioritizeTextures(n, textures, priorities); }
 	inline void PopClientAttrib() { ::__glePopClientAttrib(); }
 	inline void PushClientAttrib(GLbitfield mask) { ::__glePushClientAttrib(mask); }
 

glload/include/glload/_int_gl_1_2.h

 #define GL_PACK_IMAGE_HEIGHT 0x806C
 #define GL_UNPACK_SKIP_IMAGES 0x806D
 #define GL_UNPACK_IMAGE_HEIGHT 0x806E
-#define GL_TEXTURE_3D 0x806F
 #define GL_PROXY_TEXTURE_3D 0x8070
 #define GL_TEXTURE_DEPTH 0x8071
 #define GL_TEXTURE_WRAP_R 0x8072
 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
-typedef void (GLE_FUNCPTR * PFNGLBLENDCOLORPROC)(GLclampf , GLclampf , GLclampf , GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLBLENDCOLORPROC)(GLfloat , GLfloat , GLfloat , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLBLENDEQUATIONPROC)(GLenum );
 typedef void (GLE_FUNCPTR * PFNGLDRAWRANGEELEMENTSPROC)(GLenum , GLuint , GLuint , GLsizei , GLenum , const GLvoid *);
-typedef void (GLE_FUNCPTR * PFNGLTEXIMAGE3DPROC)(GLenum , GLint , GLint , GLsizei , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLTEXSUBIMAGE3DPROC)(GLenum , GLint , GLint , GLint , GLint , GLsizei , GLsizei , GLsizei , GLenum , GLenum , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum , GLint , GLint , GLint , GLint , GLint , GLint , GLsizei , GLsizei );
 
 #define glBlendEquation __gleBlendEquation
 extern PFNGLDRAWRANGEELEMENTSPROC __gleDrawRangeElements;
 #define glDrawRangeElements __gleDrawRangeElements
-extern PFNGLTEXIMAGE3DPROC __gleTexImage3D;
-#define glTexImage3D __gleTexImage3D
 extern PFNGLTEXSUBIMAGE3DPROC __gleTexSubImage3D;
 #define glTexSubImage3D __gleTexSubImage3D
 extern PFNGLCOPYTEXSUBIMAGE3DPROC __gleCopyTexSubImage3D;

glload/include/glload/_int_gl_1_2.hpp

 #endif //__cplusplus
 
 
-extern void (GLE_FUNCPTR *__gleBlendColor)(GLclampf , GLclampf , GLclampf , GLclampf );
+extern void (GLE_FUNCPTR *__gleBlendColor)(GLfloat , GLfloat , GLfloat , GLfloat );
 extern void (GLE_FUNCPTR *__gleBlendEquation)(GLenum );
 extern void (GLE_FUNCPTR *__gleDrawRangeElements)(GLenum , GLuint , GLuint , GLsizei , GLenum , const GLvoid *);
-extern void (GLE_FUNCPTR *__gleTexImage3D)(GLenum , GLint , GLint , GLsizei , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleTexSubImage3D)(GLenum , GLint , GLint , GLint , GLint , GLsizei , GLsizei , GLsizei , GLenum , GLenum , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleCopyTexSubImage3D)(GLenum , GLint , GLint , GLint , GLint , GLint , GLint , GLsizei , GLsizei );
 #ifdef __cplusplus
 		GL_PACK_IMAGE_HEIGHT             = 0x806C,
 		GL_UNPACK_SKIP_IMAGES            = 0x806D,
 		GL_UNPACK_IMAGE_HEIGHT           = 0x806E,
-		GL_TEXTURE_3D                    = 0x806F,
 		GL_PROXY_TEXTURE_3D              = 0x8070,
 		GL_TEXTURE_DEPTH                 = 0x8071,
 		GL_TEXTURE_WRAP_R                = 0x8072,
 		GL_ALIASED_LINE_WIDTH_RANGE      = 0x846E,
 	};
 
-	inline void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { ::__gleBlendColor(red, green, blue, alpha); }
+	inline void BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { ::__gleBlendColor(red, green, blue, alpha); }
 	inline void BlendEquation(GLenum mode) { ::__gleBlendEquation(mode); }
 	inline void DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { ::__gleDrawRangeElements(mode, start, end, count, type, indices); }
-	inline void TexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { ::__gleTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); }
 	inline void TexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { ::__gleTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); }
 	inline void CopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { ::__gleCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); }
 

glload/include/glload/_int_gl_1_2_rem_3_1.h

 #define GL_SINGLE_COLOR 0x81F9
 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA
 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D
+typedef void (GLE_FUNCPTR * PFNGLTEXIMAGE3DPROC)(GLenum , GLint , GLint , GLsizei , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLCOLORTABLEPROC)(GLenum , GLenum , GLsizei , GLenum , GLenum , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLCOLORTABLEPARAMETERFVPROC)(GLenum , GLenum , const GLfloat *);
 typedef void (GLE_FUNCPTR * PFNGLCOLORTABLEPARAMETERIVPROC)(GLenum , GLenum , const GLint *);
 typedef void (GLE_FUNCPTR * PFNGLRESETHISTOGRAMPROC)(GLenum );
 typedef void (GLE_FUNCPTR * PFNGLRESETMINMAXPROC)(GLenum );
 
+extern PFNGLTEXIMAGE3DPROC __gleTexImage3D;
+#define glTexImage3D __gleTexImage3D
 extern PFNGLCOLORTABLEPROC __gleColorTable;
 #define glColorTable __gleColorTable
 extern PFNGLCOLORTABLEPARAMETERFVPROC __gleColorTableParameterfv;

glload/include/glload/_int_gl_1_2_rem_3_1.hpp

 #endif //__cplusplus
 
 
+extern void (GLE_FUNCPTR *__gleTexImage3D)(GLenum , GLint , GLint , GLsizei , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleColorTable)(GLenum , GLenum , GLsizei , GLenum , GLenum , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleColorTableParameterfv)(GLenum , GLenum , const GLfloat *);
 extern void (GLE_FUNCPTR *__gleColorTableParameteriv)(GLenum , GLenum , const GLint *);
 		GL_ALIASED_POINT_SIZE_RANGE      = 0x846D,
 	};
 
+	inline void TexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { ::__gleTexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); }
 	inline void ColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { ::__gleColorTable(target, internalformat, width, format, type, table); }
 	inline void ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { ::__gleColorTableParameterfv(target, pname, params); }
 	inline void ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { ::__gleColorTableParameteriv(target, pname, params); }

glload/include/glload/_int_gl_1_3.h

 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F
 #define GL_SAMPLE_COVERAGE 0x80A0
 #define GL_SAMPLE_BUFFERS 0x80A8
-#define GL_SAMPLES 0x80A9
 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA
 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB
-#define GL_TEXTURE_CUBE_MAP 0x8513
 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
 #define GL_COMPRESSED_RGBA 0x84EE
 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF
 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
-#define GL_TEXTURE_COMPRESSED 0x86A1
 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
 #define GL_CLAMP_TO_BORDER 0x812D
 typedef void (GLE_FUNCPTR * PFNGLACTIVETEXTUREPROC)(GLenum );
-typedef void (GLE_FUNCPTR * PFNGLSAMPLECOVERAGEPROC)(GLclampf , GLboolean );
+typedef void (GLE_FUNCPTR * PFNGLSAMPLECOVERAGEPROC)(GLfloat , GLboolean );
 typedef void (GLE_FUNCPTR * PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum , GLint , GLenum , GLsizei , GLsizei , GLsizei , GLint , GLsizei , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum , GLint , GLenum , GLsizei , GLsizei , GLint , GLsizei , const GLvoid *);
 typedef void (GLE_FUNCPTR * PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum , GLint , GLenum , GLsizei , GLint , GLsizei , const GLvoid *);

glload/include/glload/_int_gl_1_3.hpp

 
 
 extern void (GLE_FUNCPTR *__gleActiveTexture)(GLenum );
-extern void (GLE_FUNCPTR *__gleSampleCoverage)(GLclampf , GLboolean );
+extern void (GLE_FUNCPTR *__gleSampleCoverage)(GLfloat , GLboolean );
 extern void (GLE_FUNCPTR *__gleCompressedTexImage3D)(GLenum , GLint , GLenum , GLsizei , GLsizei , GLsizei , GLint , GLsizei , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleCompressedTexImage2D)(GLenum , GLint , GLenum , GLsizei , GLsizei , GLint , GLsizei , const GLvoid *);
 extern void (GLE_FUNCPTR *__gleCompressedTexImage1D)(GLenum , GLint , GLenum , GLsizei , GLint , GLsizei , const GLvoid *);
 		GL_SAMPLE_ALPHA_TO_ONE           = 0x809F,
 		GL_SAMPLE_COVERAGE               = 0x80A0,
 		GL_SAMPLE_BUFFERS                = 0x80A8,
-		GL_SAMPLES                       = 0x80A9,
 		GL_SAMPLE_COVERAGE_VALUE         = 0x80AA,
 		GL_SAMPLE_COVERAGE_INVERT        = 0x80AB,
-		GL_TEXTURE_CUBE_MAP              = 0x8513,
 		GL_TEXTURE_BINDING_CUBE_MAP      = 0x8514,
 		GL_TEXTURE_CUBE_MAP_POSITIVE_X   = 0x8515,
 		GL_TEXTURE_CUBE_MAP_NEGATIVE_X   = 0x8516,
 		GL_COMPRESSED_RGBA               = 0x84EE,
 		GL_TEXTURE_COMPRESSION_HINT      = 0x84EF,
 		GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0,
-		GL_TEXTURE_COMPRESSED            = 0x86A1,
 		GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2,
 		GL_COMPRESSED_TEXTURE_FORMATS    = 0x86A3,
 		GL_CLAMP_TO_BORDER               = 0x812D,
 	};
 
 	inline void ActiveTexture(GLenum texture) { ::__gleActiveTexture(texture); }
-	inline void SampleCoverage(GLclampf value, GLboolean invert) { ::__gleSampleCoverage(value, invert); }
+	inline void SampleCoverage(GLfloat value, GLboolean invert) { ::__gleSampleCoverage(value, invert); }
 	inline void CompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { ::__gleCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); }
 	inline void CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { ::__gleCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); }
 	inline void CompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { ::__gleCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); }

glload/include/glload/_int_gl_1_4.h

 #define GL_TEXTURE_COMPARE_FUNC 0x884D
 typedef void (GLE_FUNCPTR * PFNGLBLENDFUNCSEPARATEPROC)(GLenum , GLenum , GLenum , GLenum );
 typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWARRAYSPROC)(GLenum , const GLint *, const GLsizei *, GLsizei );
-typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWELEMENTSPROC)(GLenum , const GLsizei *, GLenum , const GLvoid* *, GLsizei );
+typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWELEMENTSPROC)(GLenum , const GLsizei *, GLenum , const GLvoid* const *, GLsizei );
 typedef void (GLE_FUNCPTR * PFNGLPOINTPARAMETERFPROC)(GLenum , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLPOINTPARAMETERFVPROC)(GLenum , const GLfloat *);
 typedef void (GLE_FUNCPTR * PFNGLPOINTPARAMETERIPROC)(GLenum , GLint );

glload/include/glload/_int_gl_1_4.hpp

 
 extern void (GLE_FUNCPTR *__gleBlendFuncSeparate)(GLenum , GLenum , GLenum , GLenum );
 extern void (GLE_FUNCPTR *__gleMultiDrawArrays)(GLenum , const GLint *, const GLsizei *, GLsizei );
-extern void (GLE_FUNCPTR *__gleMultiDrawElements)(GLenum , const GLsizei *, GLenum , const GLvoid* *, GLsizei );
+extern void (GLE_FUNCPTR *__gleMultiDrawElements)(GLenum , const GLsizei *, GLenum , const GLvoid* const *, GLsizei );
 extern void (GLE_FUNCPTR *__glePointParameterf)(GLenum , GLfloat );
 extern void (GLE_FUNCPTR *__glePointParameterfv)(GLenum , const GLfloat *);
 extern void (GLE_FUNCPTR *__glePointParameteri)(GLenum , GLint );
 	};
 
 	inline void BlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { ::__gleBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); }
-	inline void MultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount) { ::__gleMultiDrawArrays(mode, first, count, primcount); }
-	inline void MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount) { ::__gleMultiDrawElements(mode, count, type, indices, primcount); }
+	inline void MultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { ::__gleMultiDrawArrays(mode, first, count, drawcount); }
+	inline void MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { ::__gleMultiDrawElements(mode, count, type, indices, drawcount); }
 	inline void PointParameterf(GLenum pname, GLfloat param) { ::__glePointParameterf(pname, param); }
 	inline void PointParameterfv(GLenum pname, const GLfloat *params) { ::__glePointParameterfv(pname, params); }
 	inline void PointParameteri(GLenum pname, GLint param) { ::__glePointParameteri(pname, param); }

glload/include/glload/_int_gl_2_0.h

 typedef GLboolean (GLE_FUNCPTR * PFNGLISPROGRAMPROC)(GLuint );
 typedef GLboolean (GLE_FUNCPTR * PFNGLISSHADERPROC)(GLuint );
 typedef void (GLE_FUNCPTR * PFNGLLINKPROGRAMPROC)(GLuint );
-typedef void (GLE_FUNCPTR * PFNGLSHADERSOURCEPROC)(GLuint , GLsizei , const GLchar* *, const GLint *);
+typedef void (GLE_FUNCPTR * PFNGLSHADERSOURCEPROC)(GLuint , GLsizei , const GLchar* const *, const GLint *);
 typedef void (GLE_FUNCPTR * PFNGLUSEPROGRAMPROC)(GLuint );
 typedef void (GLE_FUNCPTR * PFNGLUNIFORM1FPROC)(GLint , GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLUNIFORM2FPROC)(GLint , GLfloat , GLfloat );

glload/include/glload/_int_gl_2_0.hpp

 extern GLboolean (GLE_FUNCPTR *__gleIsProgram)(GLuint );
 extern GLboolean (GLE_FUNCPTR *__gleIsShader)(GLuint );
 extern void (GLE_FUNCPTR *__gleLinkProgram)(GLuint );
-extern void (GLE_FUNCPTR *__gleShaderSource)(GLuint , GLsizei , const GLchar* *, const GLint *);
+extern void (GLE_FUNCPTR *__gleShaderSource)(GLuint , GLsizei , const GLchar* const *, const GLint *);
 extern void (GLE_FUNCPTR *__gleUseProgram)(GLuint );
 extern void (GLE_FUNCPTR *__gleUniform1f)(GLint , GLfloat );
 extern void (GLE_FUNCPTR *__gleUniform2f)(GLint , GLfloat , GLfloat );
 	inline GLboolean IsProgram(GLuint program) { return ::__gleIsProgram(program); }
 	inline GLboolean IsShader(GLuint shader) { return ::__gleIsShader(shader); }
 	inline void LinkProgram(GLuint program) { ::__gleLinkProgram(program); }
-	inline void ShaderSource(GLuint shader, GLsizei count, const GLchar* *string, const GLint *length) { ::__gleShaderSource(shader, count, string, length); }
+	inline void ShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { ::__gleShaderSource(shader, count, string, length); }
 	inline void UseProgram(GLuint program) { ::__gleUseProgram(program); }
 	inline void Uniform1f(GLint location, GLfloat v0) { ::__gleUniform1f(location, v0); }
 	inline void Uniform2f(GLint location, GLfloat v0, GLfloat v1) { ::__gleUniform2f(location, v0, v1); }

glload/include/glload/_int_gl_3_0.h

 #define GL_MINOR_VERSION 0x821C
 #define GL_NUM_EXTENSIONS 0x821D
 #define GL_CONTEXT_FLAGS 0x821E
-#define GL_DEPTH_BUFFER 0x8223
-#define GL_STENCIL_BUFFER 0x8224
 #define GL_COMPRESSED_RED 0x8225
 #define GL_COMPRESSED_RG 0x8226
 #define GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT 0x0001
 #define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
 #define GL_CLAMP_READ_COLOR 0x891C
 #define GL_FIXED_ONLY 0x891D
-#define GL_TEXTURE_1D_ARRAY 0x8C18
 #define GL_PROXY_TEXTURE_1D_ARRAY 0x8C19
-#define GL_TEXTURE_2D_ARRAY 0x8C1A
 #define GL_PROXY_TEXTURE_2D_ARRAY 0x8C1B
 #define GL_TEXTURE_BINDING_1D_ARRAY 0x8C1C
 #define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
 typedef void (GLE_FUNCPTR * PFNGLENDTRANSFORMFEEDBACKPROC)();
 typedef void (GLE_FUNCPTR * PFNGLBINDBUFFERRANGEPROC)(GLenum , GLuint , GLuint , GLintptr , GLsizeiptr );
 typedef void (GLE_FUNCPTR * PFNGLBINDBUFFERBASEPROC)(GLenum , GLuint , GLuint );
-typedef void (GLE_FUNCPTR * PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint , GLsizei , const GLchar* *, GLenum );
+typedef void (GLE_FUNCPTR * PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint , GLsizei , const GLchar* const *, GLenum );
 typedef void (GLE_FUNCPTR * PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint , GLuint , GLsizei , GLsizei *, GLsizei *, GLenum *, GLchar *);
 typedef void (GLE_FUNCPTR * PFNGLCLAMPCOLORPROC)(GLenum , GLenum );
 typedef void (GLE_FUNCPTR * PFNGLBEGINCONDITIONALRENDERPROC)(GLuint , GLenum );

glload/include/glload/_int_gl_3_0.hpp

 extern void (GLE_FUNCPTR *__gleEndTransformFeedback)();
 extern void (GLE_FUNCPTR *__gleBindBufferRange)(GLenum , GLuint , GLuint , GLintptr , GLsizeiptr );
 extern void (GLE_FUNCPTR *__gleBindBufferBase)(GLenum , GLuint , GLuint );
-extern void (GLE_FUNCPTR *__gleTransformFeedbackVaryings)(GLuint , GLsizei , const GLchar* *, GLenum );
+extern void (GLE_FUNCPTR *__gleTransformFeedbackVaryings)(GLuint , GLsizei , const GLchar* const *, GLenum );
 extern void (GLE_FUNCPTR *__gleGetTransformFeedbackVarying)(GLuint , GLuint , GLsizei , GLsizei *, GLsizei *, GLenum *, GLchar *);
 extern void (GLE_FUNCPTR *__gleClampColor)(GLenum , GLenum );
 extern void (GLE_FUNCPTR *__gleBeginConditionalRender)(GLuint , GLenum );
 		GL_MINOR_VERSION                 = 0x821C,
 		GL_NUM_EXTENSIONS                = 0x821D,
 		GL_CONTEXT_FLAGS                 = 0x821E,
-		GL_DEPTH_BUFFER                  = 0x8223,
-		GL_STENCIL_BUFFER                = 0x8224,
 		GL_COMPRESSED_RED                = 0x8225,
 		GL_COMPRESSED_RG                 = 0x8226,
 		GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x0001,
 		GL_MAX_PROGRAM_TEXEL_OFFSET      = 0x8905,
 		GL_CLAMP_READ_COLOR              = 0x891C,
 		GL_FIXED_ONLY                    = 0x891D,
-		GL_TEXTURE_1D_ARRAY              = 0x8C18,
 		GL_PROXY_TEXTURE_1D_ARRAY        = 0x8C19,
-		GL_TEXTURE_2D_ARRAY              = 0x8C1A,
 		GL_PROXY_TEXTURE_2D_ARRAY        = 0x8C1B,
 		GL_TEXTURE_BINDING_1D_ARRAY      = 0x8C1C,
 		GL_TEXTURE_BINDING_2D_ARRAY      = 0x8C1D,
 	inline void EndTransformFeedback() { ::__gleEndTransformFeedback(); }
 	inline void BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { ::__gleBindBufferRange(target, index, buffer, offset, size); }
 	inline void BindBufferBase(GLenum target, GLuint index, GLuint buffer) { ::__gleBindBufferBase(target, index, buffer); }
-	inline void TransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode) { ::__gleTransformFeedbackVaryings(program, count, varyings, bufferMode); }
+	inline void TransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { ::__gleTransformFeedbackVaryings(program, count, varyings, bufferMode); }
 	inline void GetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { ::__gleGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); }
 	inline void ClampColor(GLenum target, GLenum clamp) { ::__gleClampColor(target, clamp); }
 	inline void BeginConditionalRender(GLuint id, GLenum mode) { ::__gleBeginConditionalRender(id, mode); }

glload/include/glload/_int_gl_3_1.h

 #define GL_INT_SAMPLER_BUFFER 0x8DD0
 #define GL_UNSIGNED_INT_SAMPLER_2D_RECT 0x8DD5
 #define GL_UNSIGNED_INT_SAMPLER_BUFFER 0x8DD8
-#define GL_TEXTURE_BUFFER 0x8C2A
 #define GL_MAX_TEXTURE_BUFFER_SIZE 0x8C2B
 #define GL_TEXTURE_BINDING_BUFFER 0x8C2C
 #define GL_TEXTURE_BUFFER_DATA_STORE_BINDING 0x8C2D
 #define GL_TEXTURE_BUFFER_FORMAT 0x8C2E
-#define GL_TEXTURE_RECTANGLE 0x84F5
 #define GL_TEXTURE_BINDING_RECTANGLE 0x84F6
 #define GL_PROXY_TEXTURE_RECTANGLE 0x84F7
 #define GL_MAX_RECTANGLE_TEXTURE_SIZE 0x84F8

glload/include/glload/_int_gl_3_1.hpp

 		GL_INT_SAMPLER_BUFFER            = 0x8DD0,
 		GL_UNSIGNED_INT_SAMPLER_2D_RECT  = 0x8DD5,
 		GL_UNSIGNED_INT_SAMPLER_BUFFER   = 0x8DD8,
-		GL_TEXTURE_BUFFER                = 0x8C2A,
 		GL_MAX_TEXTURE_BUFFER_SIZE       = 0x8C2B,
 		GL_TEXTURE_BINDING_BUFFER        = 0x8C2C,
 		GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D,
 		GL_TEXTURE_BUFFER_FORMAT         = 0x8C2E,
-		GL_TEXTURE_RECTANGLE             = 0x84F5,
 		GL_TEXTURE_BINDING_RECTANGLE     = 0x84F6,
 		GL_PROXY_TEXTURE_RECTANGLE       = 0x84F7,
 		GL_MAX_RECTANGLE_TEXTURE_SIZE    = 0x84F8,
 		GL_PRIMITIVE_RESTART_INDEX       = 0x8F9E,
 	};
 
-	inline void DrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei primcount) { ::__gleDrawArraysInstanced(mode, first, count, primcount); }
-	inline void DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) { ::__gleDrawElementsInstanced(mode, count, type, indices, primcount); }
+	inline void DrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { ::__gleDrawArraysInstanced(mode, first, count, instancecount); }
+	inline void DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { ::__gleDrawElementsInstanced(mode, count, type, indices, instancecount); }
 	inline void TexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { ::__gleTexBuffer(target, internalformat, buffer); }
 	inline void PrimitiveRestartIndex(GLuint index) { ::__glePrimitiveRestartIndex(index); }
 

glload/include/glload/_int_gl_4_0.h

 #define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
 #define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
 #define GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS 0x8F9F
-#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
 #define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY 0x900A
 #define GL_PROXY_TEXTURE_CUBE_MAP_ARRAY 0x900B
 #define GL_SAMPLER_CUBE_MAP_ARRAY 0x900C
 #define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW 0x900D
 #define GL_INT_SAMPLER_CUBE_MAP_ARRAY 0x900E
 #define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY 0x900F
-typedef void (GLE_FUNCPTR * PFNGLMINSAMPLESHADINGPROC)(GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLMINSAMPLESHADINGPROC)(GLfloat );
 typedef void (GLE_FUNCPTR * PFNGLBLENDEQUATIONIPROC)(GLuint , GLenum );
 typedef void (GLE_FUNCPTR * PFNGLBLENDEQUATIONSEPARATEIPROC)(GLuint , GLenum , GLenum );
 typedef void (GLE_FUNCPTR * PFNGLBLENDFUNCIPROC)(GLuint , GLenum , GLenum );

glload/include/glload/_int_gl_4_0.hpp

 #endif //__cplusplus
 
 
-extern void (GLE_FUNCPTR *__gleMinSampleShading)(GLclampf );
+extern void (GLE_FUNCPTR *__gleMinSampleShading)(GLfloat );
 extern void (GLE_FUNCPTR *__gleBlendEquationi)(GLuint , GLenum );
 extern void (GLE_FUNCPTR *__gleBlendEquationSeparatei)(GLuint , GLenum , GLenum );
 extern void (GLE_FUNCPTR *__gleBlendFunci)(GLuint , GLenum , GLenum );
 		GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E,
 		GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F,
 		GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS = 0x8F9F,
-		GL_TEXTURE_CUBE_MAP_ARRAY        = 0x9009,
 		GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A,
 		GL_PROXY_TEXTURE_CUBE_MAP_ARRAY  = 0x900B,
 		GL_SAMPLER_CUBE_MAP_ARRAY        = 0x900C,
 		GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F,
 	};
 
-	inline void MinSampleShading(GLclampf value) { ::__gleMinSampleShading(value); }
+	inline void MinSampleShading(GLfloat value) { ::__gleMinSampleShading(value); }
 	inline void BlendEquationi(GLuint buf, GLenum mode) { ::__gleBlendEquationi(buf, mode); }
 	inline void BlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { ::__gleBlendEquationSeparatei(buf, modeRGB, modeAlpha); }
 	inline void BlendFunci(GLuint buf, GLenum src, GLenum dst) { ::__gleBlendFunci(buf, src, dst); }

glload/include/glload/_int_gl_exts.h

 #ifndef GL_AMD_debug_output
 typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
 #endif
+#ifndef GL_KHR_debug
+typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);
+#endif
 #ifndef GL_NV_vdpau_interop
 typedef GLintptr GLvdpauSurfaceNV;
 #endif
 extern int glext_ARB_shader_image_load_store;
 extern int glext_ARB_shading_language_packing;
 extern int glext_ARB_texture_storage;
+extern int glext_KHR_texture_compression_astc_ldr;
+extern int glext_KHR_debug;
+extern int glext_ARB_arrays_of_arrays;
+extern int glext_ARB_clear_buffer_object;
+extern int glext_ARB_compute_shader;
+extern int glext_ARB_copy_image;
+extern int glext_ARB_debug_group;
+extern int glext_ARB_debug_label;
+extern int glext_ARB_debug_output2;
+extern int glext_ARB_ES3_compatibility;
+extern int glext_ARB_explicit_uniform_location;
+extern int glext_ARB_fragment_layer_viewport;
+extern int glext_ARB_framebuffer_no_attachments;
+extern int glext_ARB_internalformat_query2;
+extern int glext_ARB_invalidate_subdata;
+extern int glext_ARB_multi_draw_indirect;
+extern int glext_ARB_program_interface_query;
+extern int glext_ARB_robust_buffer_access_behavior;
+extern int glext_ARB_shader_image_size;
+extern int glext_ARB_shader_storage_buffer_object;
+extern int glext_ARB_stencil_texturing;
+extern int glext_ARB_texture_buffer_range;
+extern int glext_ARB_texture_query_levels;
+extern int glext_ARB_texture_storage_multisample;
+extern int glext_ARB_texture_view;
+extern int glext_ARB_vertex_attrib_binding;
+extern int glext_ARB_robustness_isolation;
 extern int glext_EXT_abgr;
 extern int glext_EXT_blend_color;
 extern int glext_EXT_polygon_offset;
 extern int glext_EXT_x11_sync_object;
 extern int glext_AMD_multi_draw_indirect;
 extern int glext_EXT_framebuffer_multisample_blit_scaled;
+extern int glext_NV_path_rendering;
+extern int glext_AMD_pinned_memory;
+extern int glext_AMD_stencil_operation_extended;
+extern int glext_AMD_vertex_shader_viewport_index;
+extern int glext_AMD_vertex_shader_layer;
+extern int glext_NV_bindless_texture;
+extern int glext_NV_shader_atomic_float;
+extern int glext_AMD_query_buffer_object;
 
 
 /******************************
 #endif /*GL_AMD_performance_monitor*/
 
 /******************************
+* Extension: GL_AMD_pinned_memory
+******************************/
+
+#define GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD 0x9160
+
+
+/******************************
+* Extension: GL_AMD_query_buffer_object
+******************************/
+
+#define GL_QUERY_BUFFER_AMD 0x9192
+#define GL_QUERY_BUFFER_BINDING_AMD 0x9193
+#define GL_QUERY_RESULT_NO_WAIT_AMD 0x9194
+
+
+/******************************
 * Extension: GL_AMD_sample_positions
 ******************************/
 
 ******************************/
 
 /******************************
+* Extension: GL_AMD_stencil_operation_extended
+******************************/
+
+#define GL_SET_AMD 0x874A
+#define GL_REPLACE_VALUE_AMD 0x874B
+#define GL_STENCIL_OP_VALUE_AMD 0x874C
+#define GL_STENCIL_BACK_OP_VALUE_AMD 0x874D
+
+
+#ifndef GL_AMD_stencil_operation_extended
+#define GL_AMD_stencil_operation_extended 1
+
+typedef void (GLE_FUNCPTR * PFNGLSTENCILOPVALUEAMDPROC)(GLenum , GLuint );
+
+extern PFNGLSTENCILOPVALUEAMDPROC glStencilOpValueAMD;
+#endif /*GL_AMD_stencil_operation_extended*/
+
+/******************************
 * Extension: GL_AMD_texture_texture4
 ******************************/
 
 ******************************/
 
 /******************************
+* Extension: GL_AMD_vertex_shader_layer
+******************************/
+
+/******************************
 * Extension: GL_AMD_vertex_shader_tessellator
 ******************************/
 
 #endif /*GL_AMD_vertex_shader_tessellator*/
 
 /******************************
+* Extension: GL_AMD_vertex_shader_viewport_index
+******************************/
+
+/******************************
 * Extension: GL_APPLE_aux_depth_stencil
 ******************************/
 
 #define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
 #define GL_MAX_VARYING_VECTORS 0x8DFC
 #define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
+#define GL_RGB565 0x8D62
 
 
 #ifndef GL_ARB_ES2_compatibility
 typedef void (GLE_FUNCPTR * PFNGLRELEASESHADERCOMPILERPROC)();
 typedef void (GLE_FUNCPTR * PFNGLSHADERBINARYPROC)(GLsizei , const GLuint *, GLenum , const GLvoid *, GLsizei );
 typedef void (GLE_FUNCPTR * PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum , GLenum , GLint *, GLint *);
-typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEFPROC)(GLclampf , GLclampf );
-typedef void (GLE_FUNCPTR * PFNGLCLEARDEPTHFPROC)(GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEFPROC)(GLfloat , GLfloat );
+typedef void (GLE_FUNCPTR * PFNGLCLEARDEPTHFPROC)(GLfloat );
 
 extern PFNGLRELEASESHADERCOMPILERPROC __gleReleaseShaderCompiler;
 #define glReleaseShaderCompiler __gleReleaseShaderCompiler
 #endif /*GL_ARB_ES2_compatibility*/
 
 /******************************
+* Extension: GL_ARB_ES3_compatibility
+******************************/
+
+#define GL_COMPRESSED_RGB8_ETC2 0x9274
+#define GL_COMPRESSED_SRGB8_ETC2 0x9275
+#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
+#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
+#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
+#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
+#define GL_COMPRESSED_R11_EAC 0x9270
+#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
+#define GL_COMPRESSED_RG11_EAC 0x9272
+#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
+#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
+#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
+#define GL_MAX_ELEMENT_INDEX 0x8D6B
+
+
+/******************************
+* Extension: GL_ARB_arrays_of_arrays
+******************************/
+
+/******************************
 * Extension: GL_ARB_base_instance
 ******************************/
 
 #endif /*GL_ARB_cl_event*/
 
 /******************************
+* Extension: GL_ARB_clear_buffer_object
+******************************/
+
+#ifndef GL_ARB_clear_buffer_object
+#define GL_ARB_clear_buffer_object 1
+
+typedef void (GLE_FUNCPTR * PFNGLCLEARBUFFERDATAPROC)(GLenum , GLenum , GLenum , GLenum , const void *);
+typedef void (GLE_FUNCPTR * PFNGLCLEARBUFFERSUBDATAPROC)(GLenum , GLenum , GLintptr , GLsizeiptr , GLenum , GLenum , const void *);
+typedef void (GLE_FUNCPTR * PFNGLCLEARNAMEDBUFFERDATAEXTPROC)(GLuint , GLenum , GLenum , GLenum , const void *);
+typedef void (GLE_FUNCPTR * PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC)(GLuint , GLenum , GLenum , GLenum , GLsizeiptr , GLsizeiptr , const void *);
+
+extern PFNGLCLEARBUFFERDATAPROC __gleClearBufferData;
+#define glClearBufferData __gleClearBufferData
+extern PFNGLCLEARBUFFERSUBDATAPROC __gleClearBufferSubData;
+#define glClearBufferSubData __gleClearBufferSubData
+extern PFNGLCLEARNAMEDBUFFERDATAEXTPROC __gleClearNamedBufferDataEXT;
+#define glClearNamedBufferDataEXT __gleClearNamedBufferDataEXT
+extern PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC __gleClearNamedBufferSubDataEXT;
+#define glClearNamedBufferSubDataEXT __gleClearNamedBufferSubDataEXT
+#endif /*GL_ARB_clear_buffer_object*/
+
+/******************************
 * Extension: GL_ARB_color_buffer_float
 ******************************/
 
 
 
 /******************************
+* Extension: GL_ARB_compute_shader
+******************************/
+
+#define GL_COMPUTE_SHADER 0x91B9
+#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
+#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
+#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
+#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
+#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
+#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
+#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
+#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
+#define GL_MAX_COMPUTE_LOCAL_INVOCATIONS 0x90EB
+#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
+#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
+#define GL_COMPUTE_LOCAL_WORK_SIZE 0x8267
+#define GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER 0x90EC
+#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED
+#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
+#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
+#define GL_COMPUTE_SHADER_BIT 0x00000020
+
+
+#ifndef GL_ARB_compute_shader
+#define GL_ARB_compute_shader 1
+
+typedef void (GLE_FUNCPTR * PFNGLDISPATCHCOMPUTEPROC)(GLuint , GLuint , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLDISPATCHCOMPUTEINDIRECTPROC)(GLintptr );
+
+extern PFNGLDISPATCHCOMPUTEPROC __gleDispatchCompute;
+#define glDispatchCompute __gleDispatchCompute
+extern PFNGLDISPATCHCOMPUTEINDIRECTPROC __gleDispatchComputeIndirect;
+#define glDispatchComputeIndirect __gleDispatchComputeIndirect
+#endif /*GL_ARB_compute_shader*/
+
+/******************************
 * Extension: GL_ARB_conservative_depth
 ******************************/
 
 * Extension: GL_ARB_copy_buffer
 ******************************/
 
-#define GL_COPY_READ_BUFFER 0x8F36
-#define GL_COPY_WRITE_BUFFER 0x8F37
+#define GL_COPY_READ_BUFFER 0x8F36 /* GL_COPY_READ_BUFFER_BINDING */
+#define GL_COPY_WRITE_BUFFER 0x8F37 /* GL_COPY_WRITE_BUFFER_BINDING */
+#define GL_COPY_READ_BUFFER_BINDING 0x8F36
+#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
 
 
 #ifndef GL_ARB_copy_buffer
 #endif /*GL_ARB_copy_buffer*/
 
 /******************************
+* Extension: GL_ARB_copy_image
+******************************/
+
+#ifndef GL_ARB_copy_image
+#define GL_ARB_copy_image 1
+
+typedef void (GLE_FUNCPTR * PFNGLCOPYIMAGESUBDATAPROC)(GLuint , GLenum , GLint , GLint , GLint , GLint , GLuint , GLenum , GLint , GLint , GLint , GLint , GLsizei , GLsizei , GLsizei );
+
+extern PFNGLCOPYIMAGESUBDATAPROC __gleCopyImageSubData;
+#define glCopyImageSubData __gleCopyImageSubData
+#endif /*GL_ARB_copy_image*/
+
+/******************************
+* Extension: GL_ARB_debug_group
+******************************/
+
+#define GL_STACK_OVERFLOW 0x0503
+#define GL_STACK_UNDERFLOW 0x0504
+#define GL_DEBUG_TYPE_MARKER 0x8268
+#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
+#define GL_DEBUG_TYPE_POP_GROUP 0x826A
+#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
+#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
+
+
+/******************************
+* Extension: GL_ARB_debug_label
+******************************/
+
+#define GL_VERTEX_ARRAY 0x8074
+#define GL_BUFFER 0x82E0
+#define GL_SHADER 0x82E1
+#define GL_PROGRAM 0x82E2
+#define GL_QUERY 0x82E3
+#define GL_PROGRAM_PIPELINE 0x82E4
+#define GL_SAMPLER 0x82E6
+#define GL_DISPLAY_LIST 0x82E7
+#define GL_MAX_LABEL_LENGTH 0x82E8
+
+
+/******************************
 * Extension: GL_ARB_debug_output
 ******************************/
 
 #endif /*GL_ARB_debug_output*/
 
 /******************************
+* Extension: GL_ARB_debug_output2
+******************************/
+
+#define GL_DEBUG_OUTPUT 0x92E0
+#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
+
+
+/******************************
 * Extension: GL_ARB_depth_buffer_float
 ******************************/
 
 typedef void (GLE_FUNCPTR * PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum , GLsizei , GLenum , const GLvoid *, GLint );
 typedef void (GLE_FUNCPTR * PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum , GLuint , GLuint , GLsizei , GLenum , const GLvoid *, GLint );
 typedef void (GLE_FUNCPTR * PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum , GLsizei , GLenum , const GLvoid *, GLsizei , GLint );
-typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum , const GLsizei *, GLenum , const GLvoid* *, GLsizei , const GLint *);
+typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum , const GLsizei *, GLenum , const GLvoid* const *, GLsizei , const GLint *);
 
 extern PFNGLDRAWELEMENTSBASEVERTEXPROC __gleDrawElementsBaseVertex;
 #define glDrawElementsBaseVertex __gleDrawElementsBaseVertex
 ******************************/
 
 /******************************
+* Extension: GL_ARB_explicit_uniform_location
+******************************/
+
+#define GL_MAX_UNIFORM_LOCATIONS 0x826E
+
+
+/******************************
 * Extension: GL_ARB_fragment_coord_conventions
 ******************************/
 
 /******************************
+* Extension: GL_ARB_fragment_layer_viewport
+******************************/
+
+/******************************
 * Extension: GL_ARB_fragment_program
 ******************************/
 
 
 
 /******************************
+* Extension: GL_ARB_framebuffer_no_attachments
+******************************/
+
+#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
+#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
+#define GL_FRAMEBUFFER_DEFAULT_LAYERS 0x9312
+#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
+#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
+#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
+#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
+#define GL_MAX_FRAMEBUFFER_LAYERS 0x9317
+#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
+
+
+#ifndef GL_ARB_framebuffer_no_attachments
+#define GL_ARB_framebuffer_no_attachments 1
+
+typedef void (GLE_FUNCPTR * PFNGLFRAMEBUFFERPARAMETERIPROC)(GLenum , GLenum , GLint );
+typedef void (GLE_FUNCPTR * PFNGLGETFRAMEBUFFERPARAMETERIVPROC)(GLenum , GLenum , GLint *);
+typedef void (GLE_FUNCPTR * PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC)(GLuint , GLenum , GLint );
+typedef void (GLE_FUNCPTR * PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC)(GLuint , GLenum , GLint *);
+
+extern PFNGLFRAMEBUFFERPARAMETERIPROC __gleFramebufferParameteri;
+#define glFramebufferParameteri __gleFramebufferParameteri
+extern PFNGLGETFRAMEBUFFERPARAMETERIVPROC __gleGetFramebufferParameteriv;
+#define glGetFramebufferParameteriv __gleGetFramebufferParameteriv
+extern PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC __gleNamedFramebufferParameteriEXT;
+#define glNamedFramebufferParameteriEXT __gleNamedFramebufferParameteriEXT
+extern PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC __gleGetNamedFramebufferParameterivEXT;
+#define glGetNamedFramebufferParameterivEXT __gleGetNamedFramebufferParameterivEXT
+#endif /*GL_ARB_framebuffer_no_attachments*/
+
+/******************************
 * Extension: GL_ARB_framebuffer_object
 ******************************/
 
 #endif /*GL_ARB_internalformat_query*/
 
 /******************************
+* Extension: GL_ARB_internalformat_query2
+******************************/
+
+#define GL_TEXTURE_1D 0x0DE0
+#define GL_TEXTURE_2D 0x0DE1
+#define GL_TEXTURE_3D 0x806F
+#define GL_SAMPLES 0x80A9
+#define GL_TEXTURE_CUBE_MAP 0x8513
+#define GL_TEXTURE_COMPRESSED 0x86A1
+#define GL_TEXTURE_1D_ARRAY 0x8C18
+#define GL_TEXTURE_2D_ARRAY 0x8C1A
+#define GL_RENDERBUFFER 0x8D41
+#define GL_TEXTURE_BUFFER 0x8C2A
+#define GL_TEXTURE_RECTANGLE 0x84F5
+#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
+#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102
+#define GL_TEXTURE_CUBE_MAP_ARRAY 0x9009
+#define GL_NUM_SAMPLE_COUNTS 0x9380
+#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
+#define GL_INTERNALFORMAT_SUPPORTED 0x826F
+#define GL_INTERNALFORMAT_PREFERRED 0x8270
+#define GL_INTERNALFORMAT_RED_SIZE 0x8271
+#define GL_INTERNALFORMAT_GREEN_SIZE 0x8272
+#define GL_INTERNALFORMAT_BLUE_SIZE 0x8273
+#define GL_INTERNALFORMAT_ALPHA_SIZE 0x8274
+#define GL_INTERNALFORMAT_DEPTH_SIZE 0x8275
+#define GL_INTERNALFORMAT_STENCIL_SIZE 0x8276
+#define GL_INTERNALFORMAT_SHARED_SIZE 0x8277
+#define GL_INTERNALFORMAT_RED_TYPE 0x8278
+#define GL_INTERNALFORMAT_GREEN_TYPE 0x8279
+#define GL_INTERNALFORMAT_BLUE_TYPE 0x827A
+#define GL_INTERNALFORMAT_ALPHA_TYPE 0x827B
+#define GL_INTERNALFORMAT_DEPTH_TYPE 0x827C
+#define GL_INTERNALFORMAT_STENCIL_TYPE 0x827D
+#define GL_MAX_WIDTH 0x827E
+#define GL_MAX_HEIGHT 0x827F
+#define GL_MAX_DEPTH 0x8280
+#define GL_MAX_LAYERS 0x8281
+#define GL_MAX_COMBINED_DIMENSIONS 0x8282
+#define GL_COLOR_COMPONENTS 0x8283
+#define GL_DEPTH_COMPONENTS 0x8284
+#define GL_STENCIL_COMPONENTS 0x8285
+#define GL_COLOR_RENDERABLE 0x8286
+#define GL_DEPTH_RENDERABLE 0x8287
+#define GL_STENCIL_RENDERABLE 0x8288
+#define GL_FRAMEBUFFER_RENDERABLE 0x8289
+#define GL_FRAMEBUFFER_RENDERABLE_LAYERED 0x828A
+#define GL_FRAMEBUFFER_BLEND 0x828B
+#define GL_READ_PIXELS 0x828C
+#define GL_READ_PIXELS_FORMAT 0x828D
+#define GL_READ_PIXELS_TYPE 0x828E
+#define GL_TEXTURE_IMAGE_FORMAT 0x828F
+#define GL_TEXTURE_IMAGE_TYPE 0x8290
+#define GL_GET_TEXTURE_IMAGE_FORMAT 0x8291
+#define GL_GET_TEXTURE_IMAGE_TYPE 0x8292
+#define GL_MIPMAP 0x8293
+#define GL_MANUAL_GENERATE_MIPMAP 0x8294
+#define GL_AUTO_GENERATE_MIPMAP 0x8295
+#define GL_COLOR_ENCODING 0x8296
+#define GL_SRGB_READ 0x8297
+#define GL_SRGB_WRITE 0x8298
+#define GL_FILTER 0x829A
+#define GL_VERTEX_TEXTURE 0x829B
+#define GL_TESS_CONTROL_TEXTURE 0x829C
+#define GL_TESS_EVALUATION_TEXTURE 0x829D
+#define GL_GEOMETRY_TEXTURE 0x829E
+#define GL_FRAGMENT_TEXTURE 0x829F
+#define GL_COMPUTE_TEXTURE 0x82A0
+#define GL_TEXTURE_SHADOW 0x82A1
+#define GL_TEXTURE_GATHER 0x82A2
+#define GL_TEXTURE_GATHER_SHADOW 0x82A3
+#define GL_SHADER_IMAGE_LOAD 0x82A4
+#define GL_SHADER_IMAGE_STORE 0x82A5
+#define GL_SHADER_IMAGE_ATOMIC 0x82A6
+#define GL_IMAGE_TEXEL_SIZE 0x82A7
+#define GL_IMAGE_COMPATIBILITY_CLASS 0x82A8
+#define GL_IMAGE_PIXEL_FORMAT 0x82A9
+#define GL_IMAGE_PIXEL_TYPE 0x82AA
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST 0x82AC
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST 0x82AD
+#define GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE 0x82AE
+#define GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE 0x82AF
+#define GL_TEXTURE_COMPRESSED_BLOCK_WIDTH 0x82B1
+#define GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT 0x82B2
+#define GL_TEXTURE_COMPRESSED_BLOCK_SIZE 0x82B3
+#define GL_CLEAR_BUFFER 0x82B4
+#define GL_TEXTURE_VIEW 0x82B5
+#define GL_VIEW_COMPATIBILITY_CLASS 0x82B6
+#define GL_FULL_SUPPORT 0x82B7
+#define GL_CAVEAT_SUPPORT 0x82B8
+#define GL_IMAGE_CLASS_4_X_32 0x82B9
+#define GL_IMAGE_CLASS_2_X_32 0x82BA
+#define GL_IMAGE_CLASS_1_X_32 0x82BB
+#define GL_IMAGE_CLASS_4_X_16 0x82BC
+#define GL_IMAGE_CLASS_2_X_16 0x82BD
+#define GL_IMAGE_CLASS_1_X_16 0x82BE
+#define GL_IMAGE_CLASS_4_X_8 0x82BF
+#define GL_IMAGE_CLASS_2_X_8 0x82C0
+#define GL_IMAGE_CLASS_1_X_8 0x82C1
+#define GL_IMAGE_CLASS_11_11_10 0x82C2
+#define GL_IMAGE_CLASS_10_10_10_2 0x82C3
+#define GL_VIEW_CLASS_128_BITS 0x82C4
+#define GL_VIEW_CLASS_96_BITS 0x82C5
+#define GL_VIEW_CLASS_64_BITS 0x82C6
+#define GL_VIEW_CLASS_48_BITS 0x82C7
+#define GL_VIEW_CLASS_32_BITS 0x82C8
+#define GL_VIEW_CLASS_24_BITS 0x82C9
+#define GL_VIEW_CLASS_16_BITS 0x82CA
+#define GL_VIEW_CLASS_8_BITS 0x82CB
+#define GL_VIEW_CLASS_S3TC_DXT1_RGB 0x82CC
+#define GL_VIEW_CLASS_S3TC_DXT1_RGBA 0x82CD
+#define GL_VIEW_CLASS_S3TC_DXT3_RGBA 0x82CE
+#define GL_VIEW_CLASS_S3TC_DXT5_RGBA 0x82CF
+#define GL_VIEW_CLASS_RGTC1_RED 0x82D0
+#define GL_VIEW_CLASS_RGTC2_RG 0x82D1
+#define GL_VIEW_CLASS_BPTC_UNORM 0x82D2
+#define GL_VIEW_CLASS_BPTC_FLOAT 0x82D3
+#define GL_SRGB_DECODE_ARB 0x8299
+
+
+#ifndef GL_ARB_internalformat_query2
+#define GL_ARB_internalformat_query2 1
+
+typedef void (GLE_FUNCPTR * PFNGLGETINTERNALFORMATI64VPROC)(GLenum , GLenum , GLenum , GLsizei , GLint64 *);
+
+extern PFNGLGETINTERNALFORMATI64VPROC __gleGetInternalformati64v;
+#define glGetInternalformati64v __gleGetInternalformati64v
+#endif /*GL_ARB_internalformat_query2*/
+
+/******************************
+* Extension: GL_ARB_invalidate_subdata
+******************************/
+
+#ifndef GL_ARB_invalidate_subdata
+#define GL_ARB_invalidate_subdata 1
+
+typedef void (GLE_FUNCPTR * PFNGLINVALIDATETEXSUBIMAGEPROC)(GLuint , GLint , GLint , GLint , GLint , GLsizei , GLsizei , GLsizei );
+typedef void (GLE_FUNCPTR * PFNGLINVALIDATETEXIMAGEPROC)(GLuint , GLint );
+typedef void (GLE_FUNCPTR * PFNGLINVALIDATEBUFFERSUBDATAPROC)(GLuint , GLintptr , GLsizeiptr );
+typedef void (GLE_FUNCPTR * PFNGLINVALIDATEBUFFERDATAPROC)(GLuint );
+typedef void (GLE_FUNCPTR * PFNGLINVALIDATEFRAMEBUFFERPROC)(GLenum , GLsizei , const GLenum *);
+typedef void (GLE_FUNCPTR * PFNGLINVALIDATESUBFRAMEBUFFERPROC)(GLenum , GLsizei , const GLenum *, GLint , GLint , GLsizei , GLsizei );
+
+extern PFNGLINVALIDATETEXSUBIMAGEPROC __gleInvalidateTexSubImage;
+#define glInvalidateTexSubImage __gleInvalidateTexSubImage
+extern PFNGLINVALIDATETEXIMAGEPROC __gleInvalidateTexImage;
+#define glInvalidateTexImage __gleInvalidateTexImage
+extern PFNGLINVALIDATEBUFFERSUBDATAPROC __gleInvalidateBufferSubData;
+#define glInvalidateBufferSubData __gleInvalidateBufferSubData
+extern PFNGLINVALIDATEBUFFERDATAPROC __gleInvalidateBufferData;
+#define glInvalidateBufferData __gleInvalidateBufferData
+extern PFNGLINVALIDATEFRAMEBUFFERPROC __gleInvalidateFramebuffer;
+#define glInvalidateFramebuffer __gleInvalidateFramebuffer
+extern PFNGLINVALIDATESUBFRAMEBUFFERPROC __gleInvalidateSubFramebuffer;
+#define glInvalidateSubFramebuffer __gleInvalidateSubFramebuffer
+#endif /*GL_ARB_invalidate_subdata*/
+
+/******************************
 * Extension: GL_ARB_map_buffer_alignment
 ******************************/
 
 #endif /*GL_ARB_matrix_palette*/
 
 /******************************
+* Extension: GL_ARB_multi_draw_indirect
+******************************/
+
+#ifndef GL_ARB_multi_draw_indirect
+#define GL_ARB_multi_draw_indirect 1
+
+typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWARRAYSINDIRECTPROC)(GLenum , const void *, GLsizei , GLsizei );
+typedef void (GLE_FUNCPTR * PFNGLMULTIDRAWELEMENTSINDIRECTPROC)(GLenum , GLenum , const void *, GLsizei , GLsizei );
+
+extern PFNGLMULTIDRAWARRAYSINDIRECTPROC __gleMultiDrawArraysIndirect;
+#define glMultiDrawArraysIndirect __gleMultiDrawArraysIndirect
+extern PFNGLMULTIDRAWELEMENTSINDIRECTPROC __gleMultiDrawElementsIndirect;
+#define glMultiDrawElementsIndirect __gleMultiDrawElementsIndirect
+#endif /*GL_ARB_multi_draw_indirect*/
+
+/******************************
 * Extension: GL_ARB_multisample
 ******************************/
 
 #ifndef GL_ARB_multisample
 #define GL_ARB_multisample 1
 
-typedef void (GLE_FUNCPTR * PFNGLSAMPLECOVERAGEARBPROC)(GLclampf , GLboolean );
+typedef void (GLE_FUNCPTR * PFNGLSAMPLECOVERAGEARBPROC)(GLfloat , GLboolean );
 
 extern PFNGLSAMPLECOVERAGEARBPROC glSampleCoverageARB;
 #endif /*GL_ARB_multisample*/
 
 
 /******************************
+* Extension: GL_ARB_program_interface_query
+******************************/
+
+#define GL_NUM_COMPATIBLE_SUBROUTINES 0x8E4A
+#define GL_COMPATIBLE_SUBROUTINES 0x8E4B
+#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
+#define GL_UNIFORM 0x92E1
+#define GL_UNIFORM_BLOCK 0x92E2
+#define GL_PROGRAM_INPUT 0x92E3
+#define GL_PROGRAM_OUTPUT 0x92E4
+#define GL_BUFFER_VARIABLE 0x92E5
+#define GL_SHADER_STORAGE_BLOCK 0x92E6
+#define GL_VERTEX_SUBROUTINE 0x92E8
+#define GL_TESS_CONTROL_SUBROUTINE 0x92E9
+#define GL_TESS_EVALUATION_SUBROUTINE 0x92EA
+#define GL_GEOMETRY_SUBROUTINE 0x92EB
+#define GL_FRAGMENT_SUBROUTINE 0x92EC
+#define GL_COMPUTE_SUBROUTINE 0x92ED
+#define GL_VERTEX_SUBROUTINE_UNIFORM 0x92EE
+#define GL_TESS_CONTROL_SUBROUTINE_UNIFORM 0x92EF
+#define GL_TESS_EVALUATION_SUBROUTINE_UNIFORM 0x92F0
+#define GL_GEOMETRY_SUBROUTINE_UNIFORM 0x92F1
+#define GL_FRAGMENT_SUBROUTINE_UNIFORM 0x92F2
+#define GL_COMPUTE_SUBROUTINE_UNIFORM 0x92F3
+#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
+#define GL_ACTIVE_RESOURCES 0x92F5
+#define GL_MAX_NAME_LENGTH 0x92F6
+#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
+#define GL_MAX_NUM_COMPATIBLE_SUBROUTINES 0x92F8
+#define GL_NAME_LENGTH 0x92F9
+#define GL_TYPE 0x92FA
+#define GL_ARRAY_SIZE 0x92FB
+#define GL_OFFSET 0x92FC
+#define GL_BLOCK_INDEX 0x92FD
+#define GL_ARRAY_STRIDE 0x92FE
+#define GL_MATRIX_STRIDE 0x92FF
+#define GL_IS_ROW_MAJOR 0x9300
+#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
+#define GL_BUFFER_BINDING 0x9302
+#define GL_BUFFER_DATA_SIZE 0x9303
+#define GL_NUM_ACTIVE_VARIABLES 0x9304
+#define GL_ACTIVE_VARIABLES 0x9305
+#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
+#define GL_REFERENCED_BY_TESS_CONTROL_SHADER 0x9307
+#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER 0x9308
+#define GL_REFERENCED_BY_GEOMETRY_SHADER 0x9309
+#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
+#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
+#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
+#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
+#define GL_LOCATION 0x930E
+#define GL_LOCATION_INDEX 0x930F
+#define GL_IS_PER_PATCH 0x92E7
+
+
+#ifndef GL_ARB_program_interface_query
+#define GL_ARB_program_interface_query 1
+
+typedef void (GLE_FUNCPTR * PFNGLGETPROGRAMINTERFACEIVPROC)(GLuint , GLenum , GLenum , GLint *);
+typedef GLuint (GLE_FUNCPTR * PFNGLGETPROGRAMRESOURCEINDEXPROC)(GLuint , GLenum , const GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLGETPROGRAMRESOURCENAMEPROC)(GLuint , GLenum , GLuint , GLsizei , GLsizei *, GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLGETPROGRAMRESOURCEIVPROC)(GLuint , GLenum , GLuint , GLsizei , const GLenum *, GLsizei , GLsizei *, GLint *);
+typedef GLint (GLE_FUNCPTR * PFNGLGETPROGRAMRESOURCELOCATIONPROC)(GLuint , GLenum , const GLchar *);
+typedef GLint (GLE_FUNCPTR * PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC)(GLuint , GLenum , const GLchar *);
+
+extern PFNGLGETPROGRAMINTERFACEIVPROC __gleGetProgramInterfaceiv;
+#define glGetProgramInterfaceiv __gleGetProgramInterfaceiv
+extern PFNGLGETPROGRAMRESOURCEINDEXPROC __gleGetProgramResourceIndex;
+#define glGetProgramResourceIndex __gleGetProgramResourceIndex
+extern PFNGLGETPROGRAMRESOURCENAMEPROC __gleGetProgramResourceName;
+#define glGetProgramResourceName __gleGetProgramResourceName
+extern PFNGLGETPROGRAMRESOURCEIVPROC __gleGetProgramResourceiv;
+#define glGetProgramResourceiv __gleGetProgramResourceiv
+extern PFNGLGETPROGRAMRESOURCELOCATIONPROC __gleGetProgramResourceLocation;
+#define glGetProgramResourceLocation __gleGetProgramResourceLocation
+extern PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC __gleGetProgramResourceLocationIndex;
+#define glGetProgramResourceLocationIndex __gleGetProgramResourceLocationIndex
+#endif /*GL_ARB_program_interface_query*/
+
+/******************************
 * Extension: GL_ARB_provoking_vertex
 ******************************/
 
 #endif /*GL_ARB_provoking_vertex*/
 
 /******************************
+* Extension: GL_ARB_robust_buffer_access_behavior
+******************************/
+
+/******************************
 * Extension: GL_ARB_robustness
 ******************************/
 
 #endif /*GL_ARB_robustness*/
 
 /******************************
+* Extension: GL_ARB_robustness_isolation
+******************************/
+
+/******************************
 * Extension: GL_ARB_sample_shading
 ******************************/
 
 #ifndef GL_ARB_sample_shading
 #define GL_ARB_sample_shading 1
 
-typedef void (GLE_FUNCPTR * PFNGLMINSAMPLESHADINGARBPROC)(GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLMINSAMPLESHADINGARBPROC)(GLfloat );
 
 extern PFNGLMINSAMPLESHADINGARBPROC glMinSampleShadingARB;
 #endif /*GL_ARB_sample_shading*/
 
 typedef void (GLE_FUNCPTR * PFNGLUSEPROGRAMSTAGESPROC)(GLuint , GLbitfield , GLuint );
 typedef void (GLE_FUNCPTR * PFNGLACTIVESHADERPROGRAMPROC)(GLuint , GLuint );
-typedef GLuint (GLE_FUNCPTR * PFNGLCREATESHADERPROGRAMVPROC)(GLenum , GLsizei , const GLchar* *);
+typedef GLuint (GLE_FUNCPTR * PFNGLCREATESHADERPROGRAMVPROC)(GLenum , GLsizei , const GLchar* const *);
 typedef void (GLE_FUNCPTR * PFNGLBINDPROGRAMPIPELINEPROC)(GLuint );
 typedef void (GLE_FUNCPTR * PFNGLDELETEPROGRAMPIPELINESPROC)(GLsizei , const GLuint *);
 typedef void (GLE_FUNCPTR * PFNGLGENPROGRAMPIPELINESPROC)(GLsizei , GLuint *);
 #endif /*GL_ARB_shader_image_load_store*/
 
 /******************************
+* Extension: GL_ARB_shader_image_size
+******************************/
+
+/******************************
 * Extension: GL_ARB_shader_objects
 ******************************/
 
 ******************************/
 
 /******************************
+* Extension: GL_ARB_shader_storage_buffer_object
+******************************/
+
+#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
+#define GL_SHADER_STORAGE_BUFFER 0x90D2
+#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
+#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
+#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
+#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
+#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS 0x90D7
+#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS 0x90D8
+#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS 0x90D9
+#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
+#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
+#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
+#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
+#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
+#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
+#define GL_SHADER_STORAGE_BARRIER_BIT 0x2000
+#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39 /* GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS */
+
+
+#ifndef GL_ARB_shader_storage_buffer_object
+#define GL_ARB_shader_storage_buffer_object 1
+
+typedef void (GLE_FUNCPTR * PFNGLSHADERSTORAGEBLOCKBINDINGPROC)(GLuint , GLuint , GLuint );
+
+extern PFNGLSHADERSTORAGEBLOCKBINDINGPROC __gleShaderStorageBlockBinding;
+#define glShaderStorageBlockBinding __gleShaderStorageBlockBinding
+#endif /*GL_ARB_shader_storage_buffer_object*/
+
+/******************************
 * Extension: GL_ARB_shader_subroutine
 ******************************/
 
 
 
 /******************************
+* Extension: GL_ARB_stencil_texturing
+******************************/
+
+#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
+
+
+/******************************
 * Extension: GL_ARB_sync
 ******************************/
 
 
 
 /******************************
+* Extension: GL_ARB_texture_buffer_range
+******************************/
+
+#define GL_TEXTURE_BUFFER_OFFSET 0x919D
+#define GL_TEXTURE_BUFFER_SIZE 0x919E
+#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
+
+
+#ifndef GL_ARB_texture_buffer_range
+#define GL_ARB_texture_buffer_range 1
+
+typedef void (GLE_FUNCPTR * PFNGLTEXBUFFERRANGEPROC)(GLenum , GLenum , GLuint , GLintptr , GLsizeiptr );
+typedef void (GLE_FUNCPTR * PFNGLTEXTUREBUFFERRANGEEXTPROC)(GLuint , GLenum , GLenum , GLuint , GLintptr , GLsizeiptr );
+
+extern PFNGLTEXBUFFERRANGEPROC __gleTexBufferRange;
+#define glTexBufferRange __gleTexBufferRange
+extern PFNGLTEXTUREBUFFERRANGEEXTPROC __gleTextureBufferRangeEXT;
+#define glTextureBufferRangeEXT __gleTextureBufferRangeEXT
+#endif /*GL_ARB_texture_buffer_range*/
+
+/******************************
 * Extension: GL_ARB_texture_compression
 ******************************/
 
 ******************************/
 
 /******************************
+* Extension: GL_ARB_texture_query_levels
+******************************/
+
+/******************************
 * Extension: GL_ARB_texture_query_lod
 ******************************/
 
 #endif /*GL_ARB_texture_storage*/
 
 /******************************
+* Extension: GL_ARB_texture_storage_multisample
+******************************/
+
+#ifndef GL_ARB_texture_storage_multisample
+#define GL_ARB_texture_storage_multisample 1
+
+typedef void (GLE_FUNCPTR * PFNGLTEXSTORAGE2DMULTISAMPLEPROC)(GLenum , GLsizei , GLenum , GLsizei , GLsizei , GLboolean );
+typedef void (GLE_FUNCPTR * PFNGLTEXSTORAGE3DMULTISAMPLEPROC)(GLenum , GLsizei , GLenum , GLsizei , GLsizei , GLsizei , GLboolean );
+typedef void (GLE_FUNCPTR * PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC)(GLuint , GLenum , GLsizei , GLenum , GLsizei , GLsizei , GLboolean );
+typedef void (GLE_FUNCPTR * PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC)(GLuint , GLenum , GLsizei , GLenum , GLsizei , GLsizei , GLsizei , GLboolean );
+
+extern PFNGLTEXSTORAGE2DMULTISAMPLEPROC __gleTexStorage2DMultisample;
+#define glTexStorage2DMultisample __gleTexStorage2DMultisample
+extern PFNGLTEXSTORAGE3DMULTISAMPLEPROC __gleTexStorage3DMultisample;
+#define glTexStorage3DMultisample __gleTexStorage3DMultisample
+extern PFNGLTEXTURESTORAGE2DMULTISAMPLEEXTPROC __gleTextureStorage2DMultisampleEXT;
+#define glTextureStorage2DMultisampleEXT __gleTextureStorage2DMultisampleEXT
+extern PFNGLTEXTURESTORAGE3DMULTISAMPLEEXTPROC __gleTextureStorage3DMultisampleEXT;
+#define glTextureStorage3DMultisampleEXT __gleTextureStorage3DMultisampleEXT
+#endif /*GL_ARB_texture_storage_multisample*/
+
+/******************************
 * Extension: GL_ARB_texture_swizzle
 ******************************/
 
 
 
 /******************************
+* Extension: GL_ARB_texture_view
+******************************/
+
+#define GL_TEXTURE_VIEW_MIN_LEVEL 0x82DB
+#define GL_TEXTURE_VIEW_NUM_LEVELS 0x82DC
+#define GL_TEXTURE_VIEW_MIN_LAYER 0x82DD
+#define GL_TEXTURE_VIEW_NUM_LAYERS 0x82DE
+#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
+
+
+#ifndef GL_ARB_texture_view
+#define GL_ARB_texture_view 1
+
+typedef void (GLE_FUNCPTR * PFNGLTEXTUREVIEWPROC)(GLuint , GLenum , GLuint , GLenum , GLuint , GLuint , GLuint , GLuint );
+
+extern PFNGLTEXTUREVIEWPROC __gleTextureView;
+#define glTextureView __gleTextureView
+#endif /*GL_ARB_texture_view*/
+
+/******************************
 * Extension: GL_ARB_timer_query
 ******************************/
 
 ******************************/
 
 #define GL_TRANSFORM_FEEDBACK 0x8E22
-#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23
-#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24
+#define GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED 0x8E23 /* GL_TRANSFORM_FEEDBACK_PAUSED */
+#define GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE 0x8E24 /* GL_TRANSFORM_FEEDBACK_ACTIVE */
 #define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
+#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
+#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
 
 
 #ifndef GL_ARB_transform_feedback2
 #ifndef GL_ARB_uniform_buffer_object
 #define GL_ARB_uniform_buffer_object 1
 
-typedef void (GLE_FUNCPTR * PFNGLGETUNIFORMINDICESPROC)(GLuint , GLsizei , const GLchar* *, GLuint *);
+typedef void (GLE_FUNCPTR * PFNGLGETUNIFORMINDICESPROC)(GLuint , GLsizei , const GLchar* const *, GLuint *);
 typedef void (GLE_FUNCPTR * PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint , GLsizei , const GLuint *, GLenum , GLint *);
 typedef void (GLE_FUNCPTR * PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint , GLuint , GLsizei , GLsizei *, GLchar *);
 typedef GLuint (GLE_FUNCPTR * PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint , const GLchar *);
 #endif /*GL_ARB_vertex_attrib_64bit*/
 
 /******************************
+* Extension: GL_ARB_vertex_attrib_binding
+******************************/
+
+#define GL_VERTEX_ATTRIB_BINDING 0x82D4
+#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
+#define GL_VERTEX_BINDING_DIVISOR 0x82D6
+#define GL_VERTEX_BINDING_OFFSET 0x82D7
+#define GL_VERTEX_BINDING_STRIDE 0x82D8
+#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
+#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
+
+
+#ifndef GL_ARB_vertex_attrib_binding
+#define GL_ARB_vertex_attrib_binding 1
+
+typedef void (GLE_FUNCPTR * PFNGLBINDVERTEXBUFFERPROC)(GLuint , GLuint , GLintptr , GLsizei );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXATTRIBFORMATPROC)(GLuint , GLint , GLenum , GLboolean , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXATTRIBIFORMATPROC)(GLuint , GLint , GLenum , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXATTRIBLFORMATPROC)(GLuint , GLint , GLenum , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXATTRIBBINDINGPROC)(GLuint , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXBINDINGDIVISORPROC)(GLuint , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC)(GLuint , GLuint , GLuint , GLintptr , GLsizei );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC)(GLuint , GLuint , GLint , GLenum , GLboolean , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC)(GLuint , GLuint , GLint , GLenum , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC)(GLuint , GLuint , GLint , GLenum , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC)(GLuint , GLuint , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC)(GLuint , GLuint , GLuint );
+
+extern PFNGLBINDVERTEXBUFFERPROC __gleBindVertexBuffer;
+#define glBindVertexBuffer __gleBindVertexBuffer
+extern PFNGLVERTEXATTRIBFORMATPROC __gleVertexAttribFormat;
+#define glVertexAttribFormat __gleVertexAttribFormat
+extern PFNGLVERTEXATTRIBIFORMATPROC __gleVertexAttribIFormat;
+#define glVertexAttribIFormat __gleVertexAttribIFormat
+extern PFNGLVERTEXATTRIBLFORMATPROC __gleVertexAttribLFormat;
+#define glVertexAttribLFormat __gleVertexAttribLFormat
+extern PFNGLVERTEXATTRIBBINDINGPROC __gleVertexAttribBinding;
+#define glVertexAttribBinding __gleVertexAttribBinding
+extern PFNGLVERTEXBINDINGDIVISORPROC __gleVertexBindingDivisor;
+#define glVertexBindingDivisor __gleVertexBindingDivisor
+extern PFNGLVERTEXARRAYBINDVERTEXBUFFEREXTPROC __gleVertexArrayBindVertexBufferEXT;
+#define glVertexArrayBindVertexBufferEXT __gleVertexArrayBindVertexBufferEXT
+extern PFNGLVERTEXARRAYVERTEXATTRIBFORMATEXTPROC __gleVertexArrayVertexAttribFormatEXT;
+#define glVertexArrayVertexAttribFormatEXT __gleVertexArrayVertexAttribFormatEXT
+extern PFNGLVERTEXARRAYVERTEXATTRIBIFORMATEXTPROC __gleVertexArrayVertexAttribIFormatEXT;
+#define glVertexArrayVertexAttribIFormatEXT __gleVertexArrayVertexAttribIFormatEXT
+extern PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC __gleVertexArrayVertexAttribLFormatEXT;
+#define glVertexArrayVertexAttribLFormatEXT __gleVertexArrayVertexAttribLFormatEXT
+extern PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC __gleVertexArrayVertexAttribBindingEXT;
+#define glVertexArrayVertexAttribBindingEXT __gleVertexArrayVertexAttribBindingEXT
+extern PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC __gleVertexArrayVertexBindingDivisorEXT;
+#define glVertexArrayVertexBindingDivisorEXT __gleVertexArrayVertexBindingDivisorEXT
+#endif /*GL_ARB_vertex_attrib_binding*/
+
+/******************************
 * Extension: GL_ARB_vertex_blend
 ******************************/
 
 typedef void (GLE_FUNCPTR * PFNGLSCISSORARRAYVPROC)(GLuint , GLsizei , const GLint *);
 typedef void (GLE_FUNCPTR * PFNGLSCISSORINDEXEDPROC)(GLuint , GLint , GLint , GLsizei , GLsizei );
 typedef void (GLE_FUNCPTR * PFNGLSCISSORINDEXEDVPROC)(GLuint , const GLint *);
-typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEARRAYVPROC)(GLuint , GLsizei , const GLclampd *);
-typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEINDEXEDPROC)(GLuint , GLclampd , GLclampd );
+typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEARRAYVPROC)(GLuint , GLsizei , const GLdouble *);
+typedef void (GLE_FUNCPTR * PFNGLDEPTHRANGEINDEXEDPROC)(GLuint , GLdouble , GLdouble );
 typedef void (GLE_FUNCPTR * PFNGLGETFLOATI_VPROC)(GLenum , GLuint , GLfloat *);
 typedef void (GLE_FUNCPTR * PFNGLGETDOUBLEI_VPROC)(GLenum , GLuint , GLdouble *);
 
 #ifndef GL_EXT_blend_color
 #define GL_EXT_blend_color 1
 
-typedef void (GLE_FUNCPTR * PFNGLBLENDCOLOREXTPROC)(GLclampf , GLclampf , GLclampf , GLclampf );
+typedef void (GLE_FUNCPTR * PFNGLBLENDCOLOREXTPROC)(GLfloat , GLfloat , GLfloat , GLfloat );
 
 extern PFNGLBLENDCOLOREXTPROC glBlendColorEXT;
 #endif /*GL_EXT_blend_color*/
 ******************************/
 
 /******************************
+* Extension: GL_KHR_debug
+******************************/
+
+#define GL_STACK_OVERFLOW 0x0503
+#define GL_STACK_UNDERFLOW 0x0504
+#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
+#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
+#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
+#define GL_DEBUG_CALLBACK_USER_PARAM 0x8245
+#define GL_DEBUG_SOURCE_API 0x8246
+#define GL_DEBUG_SOURCE_WINDOW_SYSTEM 0x8247
+#define GL_DEBUG_SOURCE_SHADER_COMPILER 0x8248
+#define GL_DEBUG_SOURCE_THIRD_PARTY 0x8249
+#define GL_DEBUG_SOURCE_APPLICATION 0x824A
+#define GL_DEBUG_SOURCE_OTHER 0x824B
+#define GL_DEBUG_TYPE_ERROR 0x824C
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
+#define GL_DEBUG_TYPE_PORTABILITY 0x824F
+#define GL_DEBUG_TYPE_PERFORMANCE 0x8250
+#define GL_DEBUG_TYPE_OTHER 0x8251
+#define GL_MAX_DEBUG_MESSAGE_LENGTH 0x9143
+#define GL_MAX_DEBUG_LOGGED_MESSAGES 0x9144
+#define GL_DEBUG_LOGGED_MESSAGES 0x9145
+#define GL_DEBUG_SEVERITY_HIGH 0x9146
+#define GL_DEBUG_SEVERITY_MEDIUM 0x9147
+#define GL_DEBUG_SEVERITY_LOW 0x9148
+#define GL_DEBUG_TYPE_MARKER 0x8268
+#define GL_DEBUG_TYPE_PUSH_GROUP 0x8269
+#define GL_DEBUG_TYPE_POP_GROUP 0x826A
+#define GL_DEBUG_SEVERITY_NOTIFICATION 0x826B
+#define GL_MAX_DEBUG_GROUP_STACK_DEPTH 0x826C
+#define GL_DEBUG_GROUP_STACK_DEPTH 0x826D
+#define GL_BUFFER 0x82E0
+#define GL_SHADER 0x82E1
+#define GL_PROGRAM 0x82E2
+#define GL_QUERY 0x82E3
+#define GL_PROGRAM_PIPELINE 0x82E4
+#define GL_SAMPLER 0x82E6
+#define GL_DISPLAY_LIST 0x82E7
+#define GL_MAX_LABEL_LENGTH 0x82E8
+#define GL_DEBUG_OUTPUT 0x92E0
+#define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002
+
+
+#ifndef GL_KHR_debug
+#define GL_KHR_debug 1
+
+typedef void (GLE_FUNCPTR * PFNGLDEBUGMESSAGECONTROLPROC)(GLenum , GLenum , GLenum , GLsizei , const GLuint *, GLboolean );
+typedef void (GLE_FUNCPTR * PFNGLDEBUGMESSAGEINSERTPROC)(GLenum , GLenum , GLuint , GLenum , GLsizei , const GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLDEBUGMESSAGECALLBACKPROC)(GLDEBUGPROC , const void *);
+typedef GLuint (GLE_FUNCPTR * PFNGLGETDEBUGMESSAGELOGPROC)(GLuint , GLsizei , GLenum *, GLenum *, GLuint *, GLenum *, GLsizei *, GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLPUSHDEBUGGROUPPROC)(GLenum , GLuint , GLsizei , const GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLPOPDEBUGGROUPPROC)();
+typedef void (GLE_FUNCPTR * PFNGLOBJECTLABELPROC)(GLenum , GLuint , GLsizei , const GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLGETOBJECTLABELPROC)(GLenum , GLuint , GLsizei , GLsizei *, GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLOBJECTPTRLABELPROC)(const void *, GLsizei , const GLchar *);
+typedef void (GLE_FUNCPTR * PFNGLGETOBJECTPTRLABELPROC)(const void *, GLsizei , GLsizei *, GLchar *);
+
+extern PFNGLDEBUGMESSAGECONTROLPROC __gleDebugMessageControl;
+#define glDebugMessageControl __gleDebugMessageControl
+extern PFNGLDEBUGMESSAGEINSERTPROC __gleDebugMessageInsert;
+#define glDebugMessageInsert __gleDebugMessageInsert
+extern PFNGLDEBUGMESSAGECALLBACKPROC __gleDebugMessageCallback;
+#define glDebugMessageCallback __gleDebugMessageCallback
+extern PFNGLGETDEBUGMESSAGELOGPROC __gleGetDebugMessageLog;
+#define glGetDebugMessageLog __gleGetDebugMessageLog
+extern PFNGLPUSHDEBUGGROUPPROC __glePushDebugGroup;
+#define glPushDebugGroup __glePushDebugGroup
+extern PFNGLPOPDEBUGGROUPPROC __glePopDebugGroup;
+#define glPopDebugGroup __glePopDebugGroup
+extern PFNGLOBJECTLABELPROC __gleObjectLabel;
+#define glObjectLabel __gleObjectLabel
+extern PFNGLGETOBJECTLABELPROC __gleGetObjectLabel;
+#define glGetObjectLabel __gleGetObjectLabel
+extern PFNGLOBJECTPTRLABELPROC __gleObjectPtrLabel;
+#define glObjectPtrLabel __gleObjectPtrLabel
+extern PFNGLGETOBJECTPTRLABELPROC __gleGetObjectPtrLabel;
+#define glGetObjectPtrLabel __gleGetObjectPtrLabel
+#endif /*GL_KHR_debug*/
+
+/******************************
+* Extension: GL_KHR_texture_compression_astc_ldr
+******************************/
+
+#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
+#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
+#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
+#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
+#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
+#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
+#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
+#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
+#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
+#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
+#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
+#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
+#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
+#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
+#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
+
+
+/******************************
 * Extension: GL_MESAX_texture_stack
 ******************************/
 
 
 
 /******************************
+* Extension: GL_NV_bindless_texture
+******************************/
+
+#ifndef GL_NV_bindless_texture
+#define GL_NV_bindless_texture 1
+
+typedef GLuint64 (GLE_FUNCPTR * PFNGLGETTEXTUREHANDLENVPROC)(GLuint );
+typedef GLuint64 (GLE_FUNCPTR * PFNGLGETTEXTURESAMPLERHANDLENVPROC)(GLuint , GLuint );
+typedef void (GLE_FUNCPTR * PFNGLMAKETEXTUREHANDLERESIDENTNVPROC)(GLuint64 );
+typedef void (GLE_FUNCPTR * PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC)(GLuint64 );
+typedef GLuint64 (GLE_FUNCPTR * PFNGLGETIMAGEHANDLENVPROC)(GLuint , GLint , GLboolean , GLint , GLenum );
+typedef void (GLE_FUNCPTR * PFNGLMAKEIMAGEHANDLERESIDENTNVPROC)(GLuint64 , GLenum );
+typedef void (GLE_FUNCPTR * PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC)(GLuint64 );
+typedef void (GLE_FUNCPTR * PFNGLUNIFORMHANDLEUI64NVPROC)(GLint , GLuint64 );
+typedef void (GLE_FUNCPTR * PFNGLUNIFORMHANDLEUI64VNVPROC)(GLint , GLsizei , const GLuint64 *);
+typedef void (GLE_FUNCPTR * PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC)(GLuint , GLint , GLuint64 );
+typedef void (GLE_FUNCPTR * PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC)(GLuint , GLint , GLsizei , const GLuint64 *);
+typedef GLboolean (GLE_FUNCPTR * PFNGLISTEXTUREHANDLERESIDENTNVPROC)(GLuint64 );
+typedef GLboolean (GLE_FUNCPTR * PFNGLISIMAGEHANDLERESIDENTNVPROC)(GLuint64 );
+
+extern PFNGLGETTEXTUREHANDLENVPROC glGetTextureHandleNV;
+extern PFNGLGETTEXTURESAMPLERHANDLENVPROC glGetTextureSamplerHandleNV;
+extern PFNGLMAKETEXTUREHANDLERESIDENTNVPROC glMakeTextureHandleResidentNV;
+extern PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC glMakeTextureHandleNonResidentNV;
+extern PFNGLGETIMAGEHANDLENVPROC glGetImageHandleNV;
+extern PFNGLMAKEIMAGEHANDLERESIDENTNVPROC glMakeImageHandleResidentNV;
+extern PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC glMakeImageHandleNonResidentNV;
+extern PFNGLUNIFORMHANDLEUI64NVPROC glUniformHandleui64NV;
+extern PFNGLUNIFORMHANDLEUI64VNVPROC glUniformHandleui64vNV;
+extern PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC glProgramUniformHandleui64NV;
+extern PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC glProgramUniformHandleui64vNV;
+extern PFNGLISTEXTUREHANDLERESIDENTNVPROC glIsTextureHandleResidentNV;
+extern PFNGLISIMAGEHANDLERESIDENTNVPROC glIsImageHandleResidentNV;
+#endif /*GL_NV_bindless_texture*/
+
+/******************************
 * Extension: GL_NV_blend_square
 ******************************/
 
 ******************************/
 
 /******************************
+* Extension: GL_NV_path_rendering
+******************************/
+
+#define GL_PATH_FORMAT_SVG_NV 0x9070
+#define GL_PATH_FORMAT_PS_NV 0x9071
+#define GL_STANDARD_FONT_NAME_NV 0x9072
+#define GL_SYSTEM_FONT_NAME_NV 0x9073
+#define GL_FILE_NAME_NV 0x9074
+#define GL_PATH_STROKE_WIDTH_NV 0x9075
+#define GL_PATH_END_CAPS_NV 0x9076
+#define GL_PATH_INITIAL_END_CAP_NV 0x9077
+#define GL_PATH_TERMINAL_END_CAP_NV 0x9078
+#define GL_PATH_JOIN_STYLE_NV 0x9079
+#define GL_PATH_MITER_LIMIT_NV 0x907A
+#define GL_PATH_DASH_CAPS_NV 0x907B
+#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C
+#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D
+#define GL_PATH_DASH_OFFSET_NV 0x907E
+#define GL_PATH_CLIENT_LENGTH_NV 0x907F
+#define GL_PATH_FILL_MODE_NV 0x9080
+#define GL_PATH_FILL_MASK_NV 0x9081
+#define GL_PATH_FILL_COVER_MODE_NV 0x9082
+#define GL_PATH_STROKE_COVER_MODE_NV 0x9083
+#define GL_PATH_STROKE_MASK_NV 0x9084
+#define GL_PATH_SAMPLE_QUALITY_NV 0x9085
+#define GL_PATH_STROKE_BOUND_NV 0x9086
+#define GL_PATH_STROKE_OVERSAMPLE_COUNT_NV 0x9087
+#define GL_COUNT_UP_NV 0x9088
+#define GL_COUNT_DOWN_NV 0x9089
+#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A
+#define GL_CONVEX_HULL_NV 0x908B
+#define GL_MULTI_HULLS_NV 0x908C
+#define GL_BOUNDING_BOX_NV 0x908D
+#define GL_TRANSLATE_X_NV 0x908E
+#define GL_TRANSLATE_Y_NV 0x908F
+#define GL_TRANSLATE_2D_NV 0x9090
+#define GL_TRANSLATE_3D_NV 0x9091
+#define GL_AFFINE_2D_NV 0x9092
+#define GL_PROJECTIVE_2D_NV 0x9093
+#define GL_AFFINE_3D_NV 0x9094
+#define GL_PROJECTIVE_3D_NV 0x9095
+#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096
+#define GL_TRANSPOSE_PROJECTIVE_2D_NV 0x9097
+#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098
+#define GL_TRANSPOSE_PROJECTIVE_3D_NV 0x9099
+#define GL_UTF8_NV 0x909A
+#define GL_UTF16_NV 0x909B
+#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C
+#define GL_PATH_COMMAND_COUNT_NV 0x909D
+#define GL_PATH_COORD_COUNT_NV 0x909E
+#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F
+#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0
+#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1
+#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2
+#define GL_SQUARE_NV 0x90A3
+#define GL_ROUND_NV 0x90A4
+#define GL_TRIANGULAR_NV 0x90A5
+#define GL_BEVEL_NV 0x90A6
+#define GL_MITER_REVERT_NV 0x90A7
+#define GL_MITER_TRUNCATE_NV 0x90A8
+#define GL_SKIP_MISSING_GLYPH_NV 0x90A9
+#define GL_USE_MISSING_GLYPH_NV 0x90AA
+#define GL_PATH_ERROR_POSITION_NV 0x90AB
+#define GL_PATH_FOG_GEN_MODE_NV 0x90AC
+#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD
+#define GL_ADJACENT_PAIRS_NV 0x90AE
+#define GL_FIRST_TO_REST_NV 0x90AF
+#define GL_PATH_GEN_MODE_NV 0x90B0
+#define GL_PATH_GEN_COEFF_NV 0x90B1
+#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2
+#define GL_PATH_GEN_COMPONENTS_NV 0x90B3
+#define GL_PATH_STENCIL_FUNC_NV 0x90B7
+#define GL_PATH_STENCIL_REF_NV 0x90B8
+#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9
+#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD
+#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE
+#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF