Use alias tag to check if ext and core funcs are same

OpenGL API registry commands have <alias> tag that can be used to
determine if extension function can be treated as an alias to a core
entry point.

This change updates scripts to take advantage of alias tag to correctly
determine if ext and core entry points can be folded into one. This
fixes issues with EXT_direct_state_access where behavior has changed
between EXT and core versions.

VK-GL-CTS issue: 368
Components: Framework
Change-Id: I6addfdca02c778b7a44db1cb81d5a88aae6cf273
diff --git a/external/fetch_kc_cts.py b/external/fetch_kc_cts.py
index ae5404a..f5f6198 100644
--- a/external/fetch_kc_cts.py
+++ b/external/fetch_kc_cts.py
@@ -32,7 +32,7 @@
 from build.common import *
 
 EXTERNAL_DIR	= os.path.realpath(os.path.normpath(os.path.dirname(__file__)))
-SHA1 = "105cdeeb048579df5cf14b8ca037aa03508adc58"
+SHA1 = "91d9cf24bfcd910aaeea4d0652f2056f1820d726"
 
 PACKAGES = [
 	GitRepo(
diff --git a/framework/egl/egluStaticES20Library.inl b/framework/egl/egluStaticES20Library.inl
index 500923a..6b6bf5f 100644
--- a/framework/egl/egluStaticES20Library.inl
+++ b/framework/egl/egluStaticES20Library.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 	{ "glActiveTexture",						(deFunctionPtr)glActiveTexture },
 	{ "glAttachShader",							(deFunctionPtr)glAttachShader },
diff --git a/framework/egl/egluStaticES30Library.inl b/framework/egl/egluStaticES30Library.inl
index 2d9cb16..f8da8be 100644
--- a/framework/egl/egluStaticES30Library.inl
+++ b/framework/egl/egluStaticES30Library.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 	{ "glActiveTexture",						(deFunctionPtr)glActiveTexture },
 	{ "glAttachShader",							(deFunctionPtr)glAttachShader },
diff --git a/framework/opengl/gluCallLogUtil.inl b/framework/opengl/gluCallLogUtil.inl
index a41d0c1..b786409 100644
--- a/framework/opengl/gluCallLogUtil.inl
+++ b/framework/opengl/gluCallLogUtil.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 int getTextureParamNumArgs (int pname)
diff --git a/framework/opengl/gluCallLogWrapper.inl b/framework/opengl/gluCallLogWrapper.inl
index 7e3d23c..4c02574 100644
--- a/framework/opengl/gluCallLogWrapper.inl
+++ b/framework/opengl/gluCallLogWrapper.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 void CallLogWrapper::glActiveShaderProgram (glw::GLuint pipeline, glw::GLuint program)
@@ -346,6 +346,16 @@
 	return returnValue;
 }
 
+glw::GLenum CallLogWrapper::glCheckNamedFramebufferStatusEXT (glw::GLuint framebuffer, glw::GLenum target)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glCheckNamedFramebufferStatusEXT(" << framebuffer << ", " << toHex(target) << ");" << TestLog::EndMessage;
+	glw::GLenum returnValue = m_gl.checkNamedFramebufferStatusEXT(framebuffer, target);
+	if (m_enableLog)
+		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
+	return returnValue;
+}
+
 void CallLogWrapper::glClampColor (glw::GLenum target, glw::GLenum clamp)
 {
 	if (m_enableLog)
@@ -430,6 +440,13 @@
 	m_gl.clearNamedBufferData(buffer, internalformat, format, type, data);
 }
 
+void CallLogWrapper::glClearNamedBufferDataEXT (glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glClearNamedBufferDataEXT(" << buffer << ", " << toHex(internalformat) << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
+	m_gl.clearNamedBufferDataEXT(buffer, internalformat, format, type, data);
+}
+
 void CallLogWrapper::glClearNamedBufferSubData (glw::GLuint buffer, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
 {
 	if (m_enableLog)
@@ -437,6 +454,13 @@
 	m_gl.clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
 }
 
+void CallLogWrapper::glClearNamedBufferSubDataEXT (glw::GLuint buffer, glw::GLenum internalformat, glw::GLsizeiptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glClearNamedBufferSubDataEXT(" << buffer << ", " << toHex(internalformat) << ", " << offset << ", " << size << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
+	m_gl.clearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data);
+}
+
 void CallLogWrapper::glClearNamedFramebufferfi (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil)
 {
 	if (m_enableLog)
@@ -594,13 +618,6 @@
 	m_gl.compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
 }
 
-void CallLogWrapper::glCompressedTexImage3DOES (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLsizei imageSize, const void *data)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glCompressedTexImage3DOES(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
-	m_gl.compressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
-}
-
 void CallLogWrapper::glCompressedTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *data)
 {
 	if (m_enableLog)
@@ -622,13 +639,6 @@
 	m_gl.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
 }
 
-void CallLogWrapper::glCompressedTexSubImage3DOES (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLsizei imageSize, const void *data)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glCompressedTexSubImage3DOES(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
-	m_gl.compressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
-}
-
 void CallLogWrapper::glCompressedTextureImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *bits)
 {
 	if (m_enableLog)
@@ -783,13 +793,6 @@
 	m_gl.copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
 }
 
-void CallLogWrapper::glCopyTexSubImage3DOES (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glCopyTexSubImage3DOES(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
-	m_gl.copyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
-}
-
 void CallLogWrapper::glCopyTextureImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLint border)
 {
 	if (m_enableLog)
@@ -1142,13 +1145,6 @@
 	m_gl.disableClientStateiEXT(array, index);
 }
 
-void CallLogWrapper::glDisableIndexedEXT (glw::GLenum target, glw::GLuint index)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glDisableIndexedEXT(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
-	m_gl.disableIndexedEXT(target, index);
-}
-
 void CallLogWrapper::glDisableVertexArrayAttrib (glw::GLuint vaobj, glw::GLuint index)
 {
 	if (m_enableLog)
@@ -1156,6 +1152,13 @@
 	m_gl.disableVertexArrayAttrib(vaobj, index);
 }
 
+void CallLogWrapper::glDisableVertexArrayAttribEXT (glw::GLuint vaobj, glw::GLuint index)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glDisableVertexArrayAttribEXT(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
+	m_gl.disableVertexArrayAttribEXT(vaobj, index);
+}
+
 void CallLogWrapper::glDisableVertexArrayEXT (glw::GLuint vaobj, glw::GLenum array)
 {
 	if (m_enableLog)
@@ -1359,13 +1362,6 @@
 	m_gl.enableClientStateiEXT(array, index);
 }
 
-void CallLogWrapper::glEnableIndexedEXT (glw::GLenum target, glw::GLuint index)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glEnableIndexedEXT(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
-	m_gl.enableIndexedEXT(target, index);
-}
-
 void CallLogWrapper::glEnableVertexArrayAttrib (glw::GLuint vaobj, glw::GLuint index)
 {
 	if (m_enableLog)
@@ -1373,6 +1369,13 @@
 	m_gl.enableVertexArrayAttrib(vaobj, index);
 }
 
+void CallLogWrapper::glEnableVertexArrayAttribEXT (glw::GLuint vaobj, glw::GLuint index)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glEnableVertexArrayAttribEXT(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
+	m_gl.enableVertexArrayAttribEXT(vaobj, index);
+}
+
 void CallLogWrapper::glEnableVertexArrayEXT (glw::GLuint vaobj, glw::GLenum array)
 {
 	if (m_enableLog)
@@ -1460,6 +1463,13 @@
 	m_gl.flushMappedNamedBufferRange(buffer, offset, length);
 }
 
+void CallLogWrapper::glFlushMappedNamedBufferRangeEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glFlushMappedNamedBufferRangeEXT(" << buffer << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
+	m_gl.flushMappedNamedBufferRangeEXT(buffer, offset, length);
+}
+
 void CallLogWrapper::glFramebufferDrawBufferEXT (glw::GLuint framebuffer, glw::GLenum mode)
 {
 	if (m_enableLog)
@@ -1523,13 +1533,6 @@
 	m_gl.framebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
 }
 
-void CallLogWrapper::glFramebufferTexture3DOES (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glFramebufferTexture3DOES(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ", " << zoffset << ");" << TestLog::EndMessage;
-	m_gl.framebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
-}
-
 void CallLogWrapper::glFramebufferTextureLayer (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
 {
 	if (m_enableLog)
@@ -1644,6 +1647,13 @@
 	m_gl.generateTextureMipmap(texture);
 }
 
+void CallLogWrapper::glGenerateTextureMipmapEXT (glw::GLuint texture, glw::GLenum target)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGenerateTextureMipmapEXT(" << texture << ", " << toHex(target) << ");" << TestLog::EndMessage;
+	m_gl.generateTextureMipmapEXT(texture, target);
+}
+
 void CallLogWrapper::glGetActiveAtomicCounterBufferiv (glw::GLuint program, glw::GLuint bufferIndex, glw::GLenum pname, glw::GLint *params)
 {
 	if (m_enableLog)
@@ -1740,13 +1750,6 @@
 	return returnValue;
 }
 
-void CallLogWrapper::glGetBooleanIndexedvEXT (glw::GLenum target, glw::GLuint index, glw::GLboolean *data)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glGetBooleanIndexedvEXT(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
-	m_gl.getBooleanIndexedvEXT(target, index, data);
-}
-
 void CallLogWrapper::glGetBooleani_v (glw::GLenum target, glw::GLuint index, glw::GLboolean *data)
 {
 	if (m_enableLog)
@@ -1814,6 +1817,13 @@
 	m_gl.getCompressedTextureImage(texture, level, bufSize, pixels);
 }
 
+void CallLogWrapper::glGetCompressedTextureImageEXT (glw::GLuint texture, glw::GLenum target, glw::GLint lod, void *img)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetCompressedTextureImageEXT(" << texture << ", " << toHex(target) << ", " << lod << ", " << img << ");" << TestLog::EndMessage;
+	m_gl.getCompressedTextureImageEXT(texture, target, lod, img);
+}
+
 void CallLogWrapper::glGetCompressedTextureSubImage (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLsizei bufSize, void *pixels)
 {
 	if (m_enableLog)
@@ -1831,13 +1841,6 @@
 	return returnValue;
 }
 
-void CallLogWrapper::glGetDoubleIndexedvEXT (glw::GLenum target, glw::GLuint index, glw::GLdouble *data)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glGetDoubleIndexedvEXT(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
-	m_gl.getDoubleIndexedvEXT(target, index, data);
-}
-
 void CallLogWrapper::glGetDoublei_v (glw::GLenum target, glw::GLuint index, glw::GLdouble *data)
 {
 	if (m_enableLog)
@@ -1862,13 +1865,6 @@
 	return returnValue;
 }
 
-void CallLogWrapper::glGetFloatIndexedvEXT (glw::GLenum target, glw::GLuint index, glw::GLfloat *data)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glGetFloatIndexedvEXT(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
-	m_gl.getFloatIndexedvEXT(target, index, data);
-}
-
 void CallLogWrapper::glGetFloati_v (glw::GLenum target, glw::GLuint index, glw::GLfloat *data)
 {
 	if (m_enableLog)
@@ -1923,6 +1919,13 @@
 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
 }
 
+void CallLogWrapper::glGetFramebufferParameterivEXT (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetFramebufferParameterivEXT(" << framebuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getFramebufferParameterivEXT(framebuffer, pname, params);
+}
+
 glw::GLenum CallLogWrapper::glGetGraphicsResetStatus (void)
 {
 	if (m_enableLog)
@@ -1951,13 +1954,6 @@
 		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
 }
 
-void CallLogWrapper::glGetIntegerIndexedvEXT (glw::GLenum target, glw::GLuint index, glw::GLint *data)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glGetIntegerIndexedvEXT(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
-	m_gl.getIntegerIndexedvEXT(target, index, data);
-}
-
 void CallLogWrapper::glGetIntegeri_v (glw::GLenum target, glw::GLuint index, glw::GLint *data)
 {
 	if (m_enableLog)
@@ -2106,6 +2102,13 @@
 	m_gl.getNamedBufferParameteriv(buffer, pname, params);
 }
 
+void CallLogWrapper::glGetNamedBufferParameterivEXT (glw::GLuint buffer, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetNamedBufferParameterivEXT(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getNamedBufferParameterivEXT(buffer, pname, params);
+}
+
 void CallLogWrapper::glGetNamedBufferPointerv (glw::GLuint buffer, glw::GLenum pname, void **params)
 {
 	if (m_enableLog)
@@ -2113,6 +2116,13 @@
 	m_gl.getNamedBufferPointerv(buffer, pname, params);
 }
 
+void CallLogWrapper::glGetNamedBufferPointervEXT (glw::GLuint buffer, glw::GLenum pname, void **params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetNamedBufferPointervEXT(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getNamedBufferPointervEXT(buffer, pname, params);
+}
+
 void CallLogWrapper::glGetNamedBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
 {
 	if (m_enableLog)
@@ -2120,6 +2130,13 @@
 	m_gl.getNamedBufferSubData(buffer, offset, size, data);
 }
 
+void CallLogWrapper::glGetNamedBufferSubDataEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetNamedBufferSubDataEXT(" << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
+	m_gl.getNamedBufferSubDataEXT(buffer, offset, size, data);
+}
+
 void CallLogWrapper::glGetNamedFramebufferAttachmentParameteriv (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
 {
 	if (m_enableLog)
@@ -2127,6 +2144,13 @@
 	m_gl.getNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params);
 }
 
+void CallLogWrapper::glGetNamedFramebufferAttachmentParameterivEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetNamedFramebufferAttachmentParameterivEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);
+}
+
 void CallLogWrapper::glGetNamedFramebufferParameteriv (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *param)
 {
 	if (m_enableLog)
@@ -2134,6 +2158,13 @@
 	m_gl.getNamedFramebufferParameteriv(framebuffer, pname, param);
 }
 
+void CallLogWrapper::glGetNamedFramebufferParameterivEXT (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetNamedFramebufferParameterivEXT(" << framebuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getNamedFramebufferParameterivEXT(framebuffer, pname, params);
+}
+
 void CallLogWrapper::glGetNamedProgramLocalParameterIivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLint *params)
 {
 	if (m_enableLog)
@@ -2183,6 +2214,13 @@
 	m_gl.getNamedRenderbufferParameteriv(renderbuffer, pname, params);
 }
 
+void CallLogWrapper::glGetNamedRenderbufferParameterivEXT (glw::GLuint renderbuffer, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetNamedRenderbufferParameterivEXT(" << renderbuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getNamedRenderbufferParameterivEXT(renderbuffer, pname, params);
+}
+
 void CallLogWrapper::glGetObjectLabel (glw::GLenum identifier, glw::GLuint name, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label)
 {
 	if (m_enableLog)
@@ -2596,6 +2634,13 @@
 	m_gl.getTextureImage(texture, level, format, type, bufSize, pixels);
 }
 
+void CallLogWrapper::glGetTextureImageEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, void *pixels)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureImageEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
+	m_gl.getTextureImageEXT(texture, target, level, format, type, pixels);
+}
+
 void CallLogWrapper::glGetTextureLevelParameterfv (glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
 {
 	if (m_enableLog)
@@ -2603,6 +2648,13 @@
 	m_gl.getTextureLevelParameterfv(texture, level, pname, params);
 }
 
+void CallLogWrapper::glGetTextureLevelParameterfvEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureLevelParameterfvEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getTextureLevelParameterfvEXT(texture, target, level, pname, params);
+}
+
 void CallLogWrapper::glGetTextureLevelParameteriv (glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLint *params)
 {
 	if (m_enableLog)
@@ -2610,6 +2662,13 @@
 	m_gl.getTextureLevelParameteriv(texture, level, pname, params);
 }
 
+void CallLogWrapper::glGetTextureLevelParameterivEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureLevelParameterivEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getTextureLevelParameterivEXT(texture, target, level, pname, params);
+}
+
 void CallLogWrapper::glGetTextureParameterIiv (glw::GLuint texture, glw::GLenum pname, glw::GLint *params)
 {
 	if (m_enableLog)
@@ -2617,6 +2676,13 @@
 	m_gl.getTextureParameterIiv(texture, pname, params);
 }
 
+void CallLogWrapper::glGetTextureParameterIivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureParameterIivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getTextureParameterIivEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glGetTextureParameterIuiv (glw::GLuint texture, glw::GLenum pname, glw::GLuint *params)
 {
 	if (m_enableLog)
@@ -2624,6 +2690,13 @@
 	m_gl.getTextureParameterIuiv(texture, pname, params);
 }
 
+void CallLogWrapper::glGetTextureParameterIuivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLuint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureParameterIuivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getTextureParameterIuivEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glGetTextureParameterfv (glw::GLuint texture, glw::GLenum pname, glw::GLfloat *params)
 {
 	if (m_enableLog)
@@ -2631,6 +2704,13 @@
 	m_gl.getTextureParameterfv(texture, pname, params);
 }
 
+void CallLogWrapper::glGetTextureParameterfvEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLfloat *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureParameterfvEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getTextureParameterfvEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glGetTextureParameteriv (glw::GLuint texture, glw::GLenum pname, glw::GLint *params)
 {
 	if (m_enableLog)
@@ -2638,6 +2718,13 @@
 	m_gl.getTextureParameteriv(texture, pname, params);
 }
 
+void CallLogWrapper::glGetTextureParameterivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glGetTextureParameterivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.getTextureParameterivEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glGetTextureSubImage (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels)
 {
 	if (m_enableLog)
@@ -2975,16 +3062,6 @@
 	return returnValue;
 }
 
-glw::GLboolean CallLogWrapper::glIsEnabledIndexedEXT (glw::GLenum target, glw::GLuint index)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glIsEnabledIndexedEXT(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
-	glw::GLboolean returnValue = m_gl.isEnabledIndexedEXT(target, index);
-	if (m_enableLog)
-		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
-	return returnValue;
-}
-
 glw::GLboolean CallLogWrapper::glIsEnabledi (glw::GLenum target, glw::GLuint index)
 {
 	if (m_enableLog)
@@ -3156,6 +3233,16 @@
 	return returnValue;
 }
 
+void * CallLogWrapper::glMapNamedBufferEXT (glw::GLuint buffer, glw::GLenum access)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glMapNamedBufferEXT(" << buffer << ", " << toHex(access) << ");" << TestLog::EndMessage;
+	void * returnValue = m_gl.mapNamedBufferEXT(buffer, access);
+	if (m_enableLog)
+		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
+	return returnValue;
+}
+
 void * CallLogWrapper::glMapNamedBufferRange (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
 {
 	if (m_enableLog)
@@ -3166,6 +3253,16 @@
 	return returnValue;
 }
 
+void * CallLogWrapper::glMapNamedBufferRangeEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glMapNamedBufferRangeEXT(" << buffer << ", " << offset << ", " << length << ", " << toHex(access) << ");" << TestLog::EndMessage;
+	void * returnValue = m_gl.mapNamedBufferRangeEXT(buffer, offset, length, access);
+	if (m_enableLog)
+		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
+	return returnValue;
+}
+
 void CallLogWrapper::glMatrixFrustumEXT (glw::GLenum mode, glw::GLdouble left, glw::GLdouble right, glw::GLdouble bottom, glw::GLdouble top, glw::GLdouble zNear, glw::GLdouble zFar)
 {
 	if (m_enableLog)
@@ -3558,6 +3655,13 @@
 	m_gl.namedBufferData(buffer, size, data, usage);
 }
 
+void CallLogWrapper::glNamedBufferDataEXT (glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLenum usage)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedBufferDataEXT(" << buffer << ", " << size << ", " << data << ", " << toHex(usage) << ");" << TestLog::EndMessage;
+	m_gl.namedBufferDataEXT(buffer, size, data, usage);
+}
+
 void CallLogWrapper::glNamedBufferPageCommitmentARB (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLboolean commit)
 {
 	if (m_enableLog)
@@ -3614,6 +3718,13 @@
 	m_gl.namedFramebufferParameteri(framebuffer, pname, param);
 }
 
+void CallLogWrapper::glNamedFramebufferParameteriEXT (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint param)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedFramebufferParameteriEXT(" << framebuffer << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
+	m_gl.namedFramebufferParameteriEXT(framebuffer, pname, param);
+}
+
 void CallLogWrapper::glNamedFramebufferReadBuffer (glw::GLuint framebuffer, glw::GLenum src)
 {
 	if (m_enableLog)
@@ -3628,6 +3739,13 @@
 	m_gl.namedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
 }
 
+void CallLogWrapper::glNamedFramebufferRenderbufferEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedFramebufferRenderbufferEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(renderbuffertarget) << ", " << renderbuffer << ");" << TestLog::EndMessage;
+	m_gl.namedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);
+}
+
 void CallLogWrapper::glNamedFramebufferTexture (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
 {
 	if (m_enableLog)
@@ -3656,6 +3774,13 @@
 	m_gl.namedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);
 }
 
+void CallLogWrapper::glNamedFramebufferTextureEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedFramebufferTextureEXT(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
+	m_gl.namedFramebufferTextureEXT(framebuffer, attachment, texture, level);
+}
+
 void CallLogWrapper::glNamedFramebufferTextureFaceEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLenum face)
 {
 	if (m_enableLog)
@@ -3670,6 +3795,13 @@
 	m_gl.namedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
 }
 
+void CallLogWrapper::glNamedFramebufferTextureLayerEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedFramebufferTextureLayerEXT(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << layer << ");" << TestLog::EndMessage;
+	m_gl.namedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);
+}
+
 void CallLogWrapper::glNamedProgramLocalParameter4dEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
 {
 	if (m_enableLog)
@@ -3761,6 +3893,13 @@
 	m_gl.namedRenderbufferStorage(renderbuffer, internalformat, width, height);
 }
 
+void CallLogWrapper::glNamedRenderbufferStorageEXT (glw::GLuint renderbuffer, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedRenderbufferStorageEXT(" << renderbuffer << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
+	m_gl.namedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);
+}
+
 void CallLogWrapper::glNamedRenderbufferStorageMultisample (glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
 {
 	if (m_enableLog)
@@ -3775,6 +3914,13 @@
 	m_gl.namedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
 }
 
+void CallLogWrapper::glNamedRenderbufferStorageMultisampleEXT (glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glNamedRenderbufferStorageMultisampleEXT(" << renderbuffer << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
+	m_gl.namedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);
+}
+
 void CallLogWrapper::glObjectLabel (glw::GLenum identifier, glw::GLuint name, glw::GLsizei length, const glw::GLchar *label)
 {
 	if (m_enableLog)
@@ -3922,6 +4068,13 @@
 	m_gl.programUniform1d(program, location, v0);
 }
 
+void CallLogWrapper::glProgramUniform1dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform1dEXT(" << program << ", " << location << ", " << x << ");" << TestLog::EndMessage;
+	m_gl.programUniform1dEXT(program, location, x);
+}
+
 void CallLogWrapper::glProgramUniform1dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
 {
 	if (m_enableLog)
@@ -3929,6 +4082,13 @@
 	m_gl.programUniform1dv(program, location, count, value);
 }
 
+void CallLogWrapper::glProgramUniform1dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform1dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniform1dvEXT(program, location, count, value);
+}
+
 void CallLogWrapper::glProgramUniform1f (glw::GLuint program, glw::GLint location, glw::GLfloat v0)
 {
 	if (m_enableLog)
@@ -3978,6 +4138,13 @@
 	m_gl.programUniform2d(program, location, v0, v1);
 }
 
+void CallLogWrapper::glProgramUniform2dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform2dEXT(" << program << ", " << location << ", " << x << ", " << y << ");" << TestLog::EndMessage;
+	m_gl.programUniform2dEXT(program, location, x, y);
+}
+
 void CallLogWrapper::glProgramUniform2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
 {
 	if (m_enableLog)
@@ -3985,6 +4152,13 @@
 	m_gl.programUniform2dv(program, location, count, value);
 }
 
+void CallLogWrapper::glProgramUniform2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform2dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniform2dvEXT(program, location, count, value);
+}
+
 void CallLogWrapper::glProgramUniform2f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1)
 {
 	if (m_enableLog)
@@ -4034,6 +4208,13 @@
 	m_gl.programUniform3d(program, location, v0, v1, v2);
 }
 
+void CallLogWrapper::glProgramUniform3dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform3dEXT(" << program << ", " << location << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
+	m_gl.programUniform3dEXT(program, location, x, y, z);
+}
+
 void CallLogWrapper::glProgramUniform3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
 {
 	if (m_enableLog)
@@ -4041,6 +4222,13 @@
 	m_gl.programUniform3dv(program, location, count, value);
 }
 
+void CallLogWrapper::glProgramUniform3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform3dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniform3dvEXT(program, location, count, value);
+}
+
 void CallLogWrapper::glProgramUniform3f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2)
 {
 	if (m_enableLog)
@@ -4090,6 +4278,13 @@
 	m_gl.programUniform4d(program, location, v0, v1, v2, v3);
 }
 
+void CallLogWrapper::glProgramUniform4dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform4dEXT(" << program << ", " << location << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
+	m_gl.programUniform4dEXT(program, location, x, y, z, w);
+}
+
 void CallLogWrapper::glProgramUniform4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
 {
 	if (m_enableLog)
@@ -4097,6 +4292,13 @@
 	m_gl.programUniform4dv(program, location, count, value);
 }
 
+void CallLogWrapper::glProgramUniform4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniform4dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniform4dvEXT(program, location, count, value);
+}
+
 void CallLogWrapper::glProgramUniform4f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2, glw::GLfloat v3)
 {
 	if (m_enableLog)
@@ -4146,6 +4348,13 @@
 	m_gl.programUniformMatrix2dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix2dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix2dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4160,6 +4369,13 @@
 	m_gl.programUniformMatrix2x3dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix2x3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix2x3dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix2x3dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix2x3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4174,6 +4390,13 @@
 	m_gl.programUniformMatrix2x4dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix2x4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix2x4dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix2x4dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix2x4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4188,6 +4411,13 @@
 	m_gl.programUniformMatrix3dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix3dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix3dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4202,6 +4432,13 @@
 	m_gl.programUniformMatrix3x2dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix3x2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix3x2dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix3x2dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix3x2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4216,6 +4453,13 @@
 	m_gl.programUniformMatrix3x4dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix3x4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix3x4dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix3x4dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix3x4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4230,6 +4474,13 @@
 	m_gl.programUniformMatrix4dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix4dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix4dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4244,6 +4495,13 @@
 	m_gl.programUniformMatrix4x2dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix4x2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix4x2dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix4x2dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix4x2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4258,6 +4516,13 @@
 	m_gl.programUniformMatrix4x3dv(program, location, count, transpose, value);
 }
 
+void CallLogWrapper::glProgramUniformMatrix4x3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glProgramUniformMatrix4x3dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
+	m_gl.programUniformMatrix4x3dvEXT(program, location, count, transpose, value);
+}
+
 void CallLogWrapper::glProgramUniformMatrix4x3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
 {
 	if (m_enableLog)
@@ -4545,13 +4810,6 @@
 	m_gl.texImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
 }
 
-void CallLogWrapper::glTexImage3DOES (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glTexImage3DOES(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
-	m_gl.texImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
-}
-
 void CallLogWrapper::glTexPageCommitmentARB (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean commit)
 {
 	if (m_enableLog)
@@ -4608,13 +4866,6 @@
 	m_gl.texStorage1D(target, levels, internalformat, width);
 }
 
-void CallLogWrapper::glTexStorage1DEXT (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glTexStorage1DEXT(" << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ");" << TestLog::EndMessage;
-	m_gl.texStorage1DEXT(target, levels, internalformat, width);
-}
-
 void CallLogWrapper::glTexStorage2D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
 {
 	if (m_enableLog)
@@ -4622,13 +4873,6 @@
 	m_gl.texStorage2D(target, levels, internalformat, width, height);
 }
 
-void CallLogWrapper::glTexStorage2DEXT (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glTexStorage2DEXT(" << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
-	m_gl.texStorage2DEXT(target, levels, internalformat, width, height);
-}
-
 void CallLogWrapper::glTexStorage2DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
 {
 	if (m_enableLog)
@@ -4643,13 +4887,6 @@
 	m_gl.texStorage3D(target, levels, internalformat, width, height, depth);
 }
 
-void CallLogWrapper::glTexStorage3DEXT (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glTexStorage3DEXT(" << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
-	m_gl.texStorage3DEXT(target, levels, internalformat, width, height, depth);
-}
-
 void CallLogWrapper::glTexStorage3DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
 {
 	if (m_enableLog)
@@ -4678,13 +4915,6 @@
 	m_gl.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
 }
 
-void CallLogWrapper::glTexSubImage3DOES (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *pixels)
-{
-	if (m_enableLog)
-		m_log << TestLog::Message << "glTexSubImage3DOES(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
-	m_gl.texSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
-}
-
 void CallLogWrapper::glTextureBarrier (void)
 {
 	if (m_enableLog)
@@ -4699,6 +4929,13 @@
 	m_gl.textureBuffer(texture, internalformat, buffer);
 }
 
+void CallLogWrapper::glTextureBufferEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureBufferEXT(" << texture << ", " << toHex(target) << ", " << toHex(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
+	m_gl.textureBufferEXT(texture, target, internalformat, buffer);
+}
+
 void CallLogWrapper::glTextureBufferRange (glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
 {
 	if (m_enableLog)
@@ -4706,6 +4943,13 @@
 	m_gl.textureBufferRange(texture, internalformat, buffer, offset, size);
 }
 
+void CallLogWrapper::glTextureBufferRangeEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureBufferRangeEXT(" << texture << ", " << toHex(target) << ", " << toHex(internalformat) << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
+	m_gl.textureBufferRangeEXT(texture, target, internalformat, buffer, offset, size);
+}
+
 void CallLogWrapper::glTextureImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
 {
 	if (m_enableLog)
@@ -4741,6 +4985,13 @@
 	m_gl.textureParameterIiv(texture, pname, params);
 }
 
+void CallLogWrapper::glTextureParameterIivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureParameterIivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.textureParameterIivEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glTextureParameterIuiv (glw::GLuint texture, glw::GLenum pname, const glw::GLuint *params)
 {
 	if (m_enableLog)
@@ -4748,6 +4999,13 @@
 	m_gl.textureParameterIuiv(texture, pname, params);
 }
 
+void CallLogWrapper::glTextureParameterIuivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLuint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureParameterIuivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.textureParameterIuivEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glTextureParameterf (glw::GLuint texture, glw::GLenum pname, glw::GLfloat param)
 {
 	if (m_enableLog)
@@ -4755,6 +5013,13 @@
 	m_gl.textureParameterf(texture, pname, param);
 }
 
+void CallLogWrapper::glTextureParameterfEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLfloat param)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureParameterfEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
+	m_gl.textureParameterfEXT(texture, target, pname, param);
+}
+
 void CallLogWrapper::glTextureParameterfv (glw::GLuint texture, glw::GLenum pname, const glw::GLfloat *param)
 {
 	if (m_enableLog)
@@ -4762,6 +5027,13 @@
 	m_gl.textureParameterfv(texture, pname, param);
 }
 
+void CallLogWrapper::glTextureParameterfvEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureParameterfvEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.textureParameterfvEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glTextureParameteri (glw::GLuint texture, glw::GLenum pname, glw::GLint param)
 {
 	if (m_enableLog)
@@ -4769,6 +5041,13 @@
 	m_gl.textureParameteri(texture, pname, param);
 }
 
+void CallLogWrapper::glTextureParameteriEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint param)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureParameteriEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
+	m_gl.textureParameteriEXT(texture, target, pname, param);
+}
+
 void CallLogWrapper::glTextureParameteriv (glw::GLuint texture, glw::GLenum pname, const glw::GLint *param)
 {
 	if (m_enableLog)
@@ -4776,6 +5055,13 @@
 	m_gl.textureParameteriv(texture, pname, param);
 }
 
+void CallLogWrapper::glTextureParameterivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureParameterivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
+	m_gl.textureParameterivEXT(texture, target, pname, params);
+}
+
 void CallLogWrapper::glTextureRenderbufferEXT (glw::GLuint texture, glw::GLenum target, glw::GLuint renderbuffer)
 {
 	if (m_enableLog)
@@ -4818,6 +5104,13 @@
 	m_gl.textureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
 }
 
+void CallLogWrapper::glTextureStorage2DMultisampleEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureStorage2DMultisampleEXT(" << texture << ", " << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
+	m_gl.textureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations);
+}
+
 void CallLogWrapper::glTextureStorage3D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
 {
 	if (m_enableLog)
@@ -4839,6 +5132,13 @@
 	m_gl.textureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
 }
 
+void CallLogWrapper::glTextureStorage3DMultisampleEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glTextureStorage3DMultisampleEXT(" << texture << ", " << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
+	m_gl.textureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations);
+}
+
 void CallLogWrapper::glTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
 {
 	if (m_enableLog)
@@ -5293,6 +5593,16 @@
 	return returnValue;
 }
 
+glw::GLboolean CallLogWrapper::glUnmapNamedBufferEXT (glw::GLuint buffer)
+{
+	if (m_enableLog)
+		m_log << TestLog::Message << "glUnmapNamedBufferEXT(" << buffer << ");" << TestLog::EndMessage;
+	glw::GLboolean returnValue = m_gl.unmapNamedBufferEXT(buffer);
+	if (m_enableLog)
+		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
+	return returnValue;
+}
+
 void CallLogWrapper::glUseProgram (glw::GLuint program)
 {
 	if (m_enableLog)
diff --git a/framework/opengl/gluCallLogWrapperApi.inl b/framework/opengl/gluCallLogWrapperApi.inl
index 7d93902..3ac2072 100644
--- a/framework/opengl/gluCallLogWrapperApi.inl
+++ b/framework/opengl/gluCallLogWrapperApi.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 void					glActiveShaderProgram								(glw::GLuint pipeline, glw::GLuint program);
 void					glActiveTexture										(glw::GLenum texture);
@@ -51,6 +51,7 @@
 void					glBufferSubData										(glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr size, const void *data);
 glw::GLenum				glCheckFramebufferStatus							(glw::GLenum target);
 glw::GLenum				glCheckNamedFramebufferStatus						(glw::GLuint framebuffer, glw::GLenum target);
+glw::GLenum				glCheckNamedFramebufferStatusEXT					(glw::GLuint framebuffer, glw::GLenum target);
 void					glClampColor										(glw::GLenum target, glw::GLenum clamp);
 void					glClear												(glw::GLbitfield mask);
 void					glClearBufferData									(glw::GLenum target, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data);
@@ -63,7 +64,9 @@
 void					glClearDepth										(glw::GLdouble depth);
 void					glClearDepthf										(glw::GLfloat d);
 void					glClearNamedBufferData								(glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data);
+void					glClearNamedBufferDataEXT							(glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data);
 void					glClearNamedBufferSubData							(glw::GLuint buffer, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data);
+void					glClearNamedBufferSubDataEXT						(glw::GLuint buffer, glw::GLenum internalformat, glw::GLsizeiptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data);
 void					glClearNamedFramebufferfi							(glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil);
 void					glClearNamedFramebufferfv							(glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value);
 void					glClearNamedFramebufferiv							(glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLint *value);
@@ -86,11 +89,9 @@
 void					glCompressedTexImage1D								(glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *data);
 void					glCompressedTexImage2D								(glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLsizei imageSize, const void *data);
 void					glCompressedTexImage3D								(glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLsizei imageSize, const void *data);
-void					glCompressedTexImage3DOES							(glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLsizei imageSize, const void *data);
 void					glCompressedTexSubImage1D							(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *data);
 void					glCompressedTexSubImage2D							(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLsizei imageSize, const void *data);
 void					glCompressedTexSubImage3D							(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLsizei imageSize, const void *data);
-void					glCompressedTexSubImage3DOES						(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLsizei imageSize, const void *data);
 void					glCompressedTextureImage1DEXT						(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *bits);
 void					glCompressedTextureImage2DEXT						(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLsizei imageSize, const void *bits);
 void					glCompressedTextureImage3DEXT						(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLsizei imageSize, const void *bits);
@@ -113,7 +114,6 @@
 void					glCopyTexSubImage1D									(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width);
 void					glCopyTexSubImage2D									(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height);
 void					glCopyTexSubImage3D									(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height);
-void					glCopyTexSubImage3DOES								(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height);
 void					glCopyTextureImage1DEXT								(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLint border);
 void					glCopyTextureImage2DEXT								(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLint border);
 void					glCopyTextureSubImage1D								(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width);
@@ -163,8 +163,8 @@
 void					glDisable											(glw::GLenum cap);
 void					glDisableClientStateIndexedEXT						(glw::GLenum array, glw::GLuint index);
 void					glDisableClientStateiEXT							(glw::GLenum array, glw::GLuint index);
-void					glDisableIndexedEXT									(glw::GLenum target, glw::GLuint index);
 void					glDisableVertexArrayAttrib							(glw::GLuint vaobj, glw::GLuint index);
+void					glDisableVertexArrayAttribEXT						(glw::GLuint vaobj, glw::GLuint index);
 void					glDisableVertexArrayEXT								(glw::GLuint vaobj, glw::GLenum array);
 void					glDisableVertexAttribArray							(glw::GLuint index);
 void					glDisablei											(glw::GLenum target, glw::GLuint index);
@@ -194,8 +194,8 @@
 void					glEnable											(glw::GLenum cap);
 void					glEnableClientStateIndexedEXT						(glw::GLenum array, glw::GLuint index);
 void					glEnableClientStateiEXT								(glw::GLenum array, glw::GLuint index);
-void					glEnableIndexedEXT									(glw::GLenum target, glw::GLuint index);
 void					glEnableVertexArrayAttrib							(glw::GLuint vaobj, glw::GLuint index);
+void					glEnableVertexArrayAttribEXT						(glw::GLuint vaobj, glw::GLuint index);
 void					glEnableVertexArrayEXT								(glw::GLuint vaobj, glw::GLenum array);
 void					glEnableVertexAttribArray							(glw::GLuint index);
 void					glEnablei											(glw::GLenum target, glw::GLuint index);
@@ -208,6 +208,7 @@
 void					glFlush												(void);
 void					glFlushMappedBufferRange							(glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr length);
 void					glFlushMappedNamedBufferRange						(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length);
+void					glFlushMappedNamedBufferRangeEXT					(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length);
 void					glFramebufferDrawBufferEXT							(glw::GLuint framebuffer, glw::GLenum mode);
 void					glFramebufferDrawBuffersEXT							(glw::GLuint framebuffer, glw::GLsizei n, const glw::GLenum *bufs);
 void					glFramebufferParameteri								(glw::GLenum target, glw::GLenum pname, glw::GLint param);
@@ -217,7 +218,6 @@
 void					glFramebufferTexture1D								(glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level);
 void					glFramebufferTexture2D								(glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level);
 void					glFramebufferTexture3D								(glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset);
-void					glFramebufferTexture3DOES							(glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset);
 void					glFramebufferTextureLayer							(glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer);
 void					glFrontFace											(glw::GLenum mode);
 void					glGenBuffers										(glw::GLsizei n, glw::GLuint *buffers);
@@ -232,6 +232,7 @@
 void					glGenerateMipmap									(glw::GLenum target);
 void					glGenerateMultiTexMipmapEXT							(glw::GLenum texunit, glw::GLenum target);
 void					glGenerateTextureMipmap								(glw::GLuint texture);
+void					glGenerateTextureMipmapEXT							(glw::GLuint texture, glw::GLenum target);
 void					glGetActiveAtomicCounterBufferiv					(glw::GLuint program, glw::GLuint bufferIndex, glw::GLenum pname, glw::GLint *params);
 void					glGetActiveAttrib									(glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *size, glw::GLenum *type, glw::GLchar *name);
 void					glGetActiveSubroutineName							(glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLsizei bufsize, glw::GLsizei *length, glw::GLchar *name);
@@ -244,7 +245,6 @@
 void					glGetActiveUniformsiv								(glw::GLuint program, glw::GLsizei uniformCount, const glw::GLuint *uniformIndices, glw::GLenum pname, glw::GLint *params);
 void					glGetAttachedShaders								(glw::GLuint program, glw::GLsizei maxCount, glw::GLsizei *count, glw::GLuint *shaders);
 glw::GLint				glGetAttribLocation									(glw::GLuint program, const glw::GLchar *name);
-void					glGetBooleanIndexedvEXT								(glw::GLenum target, glw::GLuint index, glw::GLboolean *data);
 void					glGetBooleani_v										(glw::GLenum target, glw::GLuint index, glw::GLboolean *data);
 void					glGetBooleanv										(glw::GLenum pname, glw::GLboolean *data);
 void					glGetBufferParameteri64v							(glw::GLenum target, glw::GLenum pname, glw::GLint64 *params);
@@ -254,23 +254,22 @@
 void					glGetCompressedMultiTexImageEXT						(glw::GLenum texunit, glw::GLenum target, glw::GLint lod, void *img);
 void					glGetCompressedTexImage								(glw::GLenum target, glw::GLint level, void *img);
 void					glGetCompressedTextureImage							(glw::GLuint texture, glw::GLint level, glw::GLsizei bufSize, void *pixels);
+void					glGetCompressedTextureImageEXT						(glw::GLuint texture, glw::GLenum target, glw::GLint lod, void *img);
 void					glGetCompressedTextureSubImage						(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLsizei bufSize, void *pixels);
 glw::GLuint				glGetDebugMessageLog								(glw::GLuint count, glw::GLsizei bufSize, glw::GLenum *sources, glw::GLenum *types, glw::GLuint *ids, glw::GLenum *severities, glw::GLsizei *lengths, glw::GLchar *messageLog);
-void					glGetDoubleIndexedvEXT								(glw::GLenum target, glw::GLuint index, glw::GLdouble *data);
 void					glGetDoublei_v										(glw::GLenum target, glw::GLuint index, glw::GLdouble *data);
 void					glGetDoublev										(glw::GLenum pname, glw::GLdouble *data);
 glw::GLenum				glGetError											(void);
-void					glGetFloatIndexedvEXT								(glw::GLenum target, glw::GLuint index, glw::GLfloat *data);
 void					glGetFloati_v										(glw::GLenum target, glw::GLuint index, glw::GLfloat *data);
 void					glGetFloatv											(glw::GLenum pname, glw::GLfloat *data);
 glw::GLint				glGetFragDataIndex									(glw::GLuint program, const glw::GLchar *name);
 glw::GLint				glGetFragDataLocation								(glw::GLuint program, const glw::GLchar *name);
 void					glGetFramebufferAttachmentParameteriv				(glw::GLenum target, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params);
 void					glGetFramebufferParameteriv							(glw::GLenum target, glw::GLenum pname, glw::GLint *params);
+void					glGetFramebufferParameterivEXT						(glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *params);
 glw::GLenum				glGetGraphicsResetStatus							(void);
 void					glGetInteger64i_v									(glw::GLenum target, glw::GLuint index, glw::GLint64 *data);
 void					glGetInteger64v										(glw::GLenum pname, glw::GLint64 *data);
-void					glGetIntegerIndexedvEXT								(glw::GLenum target, glw::GLuint index, glw::GLint *data);
 void					glGetIntegeri_v										(glw::GLenum target, glw::GLuint index, glw::GLint *data);
 void					glGetIntegerv										(glw::GLenum pname, glw::GLint *data);
 void					glGetInternalformatSampleivNV						(glw::GLenum target, glw::GLenum internalformat, glw::GLsizei samples, glw::GLenum pname, glw::GLsizei bufSize, glw::GLint *params);
@@ -291,10 +290,15 @@
 void					glGetMultisamplefv									(glw::GLenum pname, glw::GLuint index, glw::GLfloat *val);
 void					glGetNamedBufferParameteri64v						(glw::GLuint buffer, glw::GLenum pname, glw::GLint64 *params);
 void					glGetNamedBufferParameteriv							(glw::GLuint buffer, glw::GLenum pname, glw::GLint *params);
+void					glGetNamedBufferParameterivEXT						(glw::GLuint buffer, glw::GLenum pname, glw::GLint *params);
 void					glGetNamedBufferPointerv							(glw::GLuint buffer, glw::GLenum pname, void **params);
+void					glGetNamedBufferPointervEXT							(glw::GLuint buffer, glw::GLenum pname, void **params);
 void					glGetNamedBufferSubData								(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data);
+void					glGetNamedBufferSubDataEXT							(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data);
 void					glGetNamedFramebufferAttachmentParameteriv			(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params);
+void					glGetNamedFramebufferAttachmentParameterivEXT		(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params);
 void					glGetNamedFramebufferParameteriv					(glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *param);
+void					glGetNamedFramebufferParameterivEXT					(glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *params);
 void					glGetNamedProgramLocalParameterIivEXT				(glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLint *params);
 void					glGetNamedProgramLocalParameterIuivEXT				(glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLuint *params);
 void					glGetNamedProgramLocalParameterdvEXT				(glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLdouble *params);
@@ -302,6 +306,7 @@
 void					glGetNamedProgramStringEXT							(glw::GLuint program, glw::GLenum target, glw::GLenum pname, void *string);
 void					glGetNamedProgramivEXT								(glw::GLuint program, glw::GLenum target, glw::GLenum pname, glw::GLint *params);
 void					glGetNamedRenderbufferParameteriv					(glw::GLuint renderbuffer, glw::GLenum pname, glw::GLint *params);
+void					glGetNamedRenderbufferParameterivEXT				(glw::GLuint renderbuffer, glw::GLenum pname, glw::GLint *params);
 void					glGetObjectLabel									(glw::GLenum identifier, glw::GLuint name, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label);
 void					glGetObjectPtrLabel									(const void *ptr, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label);
 void					glGetPointerIndexedvEXT								(glw::GLenum target, glw::GLuint index, void **data);
@@ -351,12 +356,19 @@
 void					glGetTexParameterfv									(glw::GLenum target, glw::GLenum pname, glw::GLfloat *params);
 void					glGetTexParameteriv									(glw::GLenum target, glw::GLenum pname, glw::GLint *params);
 void					glGetTextureImage									(glw::GLuint texture, glw::GLint level, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels);
+void					glGetTextureImageEXT								(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, void *pixels);
 void					glGetTextureLevelParameterfv						(glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLfloat *params);
+void					glGetTextureLevelParameterfvEXT						(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLfloat *params);
 void					glGetTextureLevelParameteriv						(glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLint *params);
+void					glGetTextureLevelParameterivEXT						(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLint *params);
 void					glGetTextureParameterIiv							(glw::GLuint texture, glw::GLenum pname, glw::GLint *params);
+void					glGetTextureParameterIivEXT							(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint *params);
 void					glGetTextureParameterIuiv							(glw::GLuint texture, glw::GLenum pname, glw::GLuint *params);
+void					glGetTextureParameterIuivEXT						(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLuint *params);
 void					glGetTextureParameterfv								(glw::GLuint texture, glw::GLenum pname, glw::GLfloat *params);
+void					glGetTextureParameterfvEXT							(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLfloat *params);
 void					glGetTextureParameteriv								(glw::GLuint texture, glw::GLenum pname, glw::GLint *params);
+void					glGetTextureParameterivEXT							(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint *params);
 void					glGetTextureSubImage								(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels);
 void					glGetTransformFeedbackVarying						(glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLsizei *size, glw::GLenum *type, glw::GLchar *name);
 void					glGetTransformFeedbacki64_v							(glw::GLuint xfb, glw::GLenum pname, glw::GLuint index, glw::GLint64 *param);
@@ -402,7 +414,6 @@
 void					glInvalidateTexSubImage								(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth);
 glw::GLboolean			glIsBuffer											(glw::GLuint buffer);
 glw::GLboolean			glIsEnabled											(glw::GLenum cap);
-glw::GLboolean			glIsEnabledIndexedEXT								(glw::GLenum target, glw::GLuint index);
 glw::GLboolean			glIsEnabledi										(glw::GLenum target, glw::GLuint index);
 glw::GLboolean			glIsFramebuffer										(glw::GLuint framebuffer);
 glw::GLboolean			glIsProgram											(glw::GLuint program);
@@ -421,7 +432,9 @@
 void *					glMapBuffer											(glw::GLenum target, glw::GLenum access);
 void *					glMapBufferRange									(glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access);
 void *					glMapNamedBuffer									(glw::GLuint buffer, glw::GLenum access);
+void *					glMapNamedBufferEXT									(glw::GLuint buffer, glw::GLenum access);
 void *					glMapNamedBufferRange								(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access);
+void *					glMapNamedBufferRangeEXT							(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access);
 void					glMatrixFrustumEXT									(glw::GLenum mode, glw::GLdouble left, glw::GLdouble right, glw::GLdouble bottom, glw::GLdouble top, glw::GLdouble zNear, glw::GLdouble zFar);
 void					glMatrixLoadIdentityEXT								(glw::GLenum mode);
 void					glMatrixLoadTransposedEXT							(glw::GLenum mode, const glw::GLdouble *m);
@@ -478,6 +491,7 @@
 void					glMultiTexSubImage2DEXT								(glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glMultiTexSubImage3DEXT								(glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glNamedBufferData									(glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLenum usage);
+void					glNamedBufferDataEXT								(glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLenum usage);
 void					glNamedBufferPageCommitmentARB						(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLboolean commit);
 void					glNamedBufferPageCommitmentEXT						(glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLboolean commit);
 void					glNamedBufferStorage								(glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLbitfield flags);
@@ -486,14 +500,18 @@
 void					glNamedFramebufferDrawBuffer						(glw::GLuint framebuffer, glw::GLenum buf);
 void					glNamedFramebufferDrawBuffers						(glw::GLuint framebuffer, glw::GLsizei n, const glw::GLenum *bufs);
 void					glNamedFramebufferParameteri						(glw::GLuint framebuffer, glw::GLenum pname, glw::GLint param);
+void					glNamedFramebufferParameteriEXT						(glw::GLuint framebuffer, glw::GLenum pname, glw::GLint param);
 void					glNamedFramebufferReadBuffer						(glw::GLuint framebuffer, glw::GLenum src);
 void					glNamedFramebufferRenderbuffer						(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer);
+void					glNamedFramebufferRenderbufferEXT					(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer);
 void					glNamedFramebufferTexture							(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level);
 void					glNamedFramebufferTexture1DEXT						(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level);
 void					glNamedFramebufferTexture2DEXT						(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level);
 void					glNamedFramebufferTexture3DEXT						(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset);
+void					glNamedFramebufferTextureEXT						(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level);
 void					glNamedFramebufferTextureFaceEXT					(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLenum face);
 void					glNamedFramebufferTextureLayer						(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer);
+void					glNamedFramebufferTextureLayerEXT					(glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer);
 void					glNamedProgramLocalParameter4dEXT					(glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w);
 void					glNamedProgramLocalParameter4dvEXT					(glw::GLuint program, glw::GLenum target, glw::GLuint index, const glw::GLdouble *params);
 void					glNamedProgramLocalParameter4fEXT					(glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z, glw::GLfloat w);
@@ -507,8 +525,10 @@
 void					glNamedProgramLocalParametersI4uivEXT				(glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLsizei count, const glw::GLuint *params);
 void					glNamedProgramStringEXT								(glw::GLuint program, glw::GLenum target, glw::GLenum format, glw::GLsizei len, const void *string);
 void					glNamedRenderbufferStorage							(glw::GLuint renderbuffer, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
+void					glNamedRenderbufferStorageEXT						(glw::GLuint renderbuffer, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
 void					glNamedRenderbufferStorageMultisample				(glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
 void					glNamedRenderbufferStorageMultisampleCoverageEXT	(glw::GLuint renderbuffer, glw::GLsizei coverageSamples, glw::GLsizei colorSamples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
+void					glNamedRenderbufferStorageMultisampleEXT			(glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
 void					glObjectLabel										(glw::GLenum identifier, glw::GLuint name, glw::GLsizei length, const glw::GLchar *label);
 void					glObjectPtrLabel									(const void *ptr, glw::GLsizei length, const glw::GLchar *label);
 void					glPatchParameterfv									(glw::GLenum pname, const glw::GLfloat *values);
@@ -530,7 +550,9 @@
 void					glProgramBinary										(glw::GLuint program, glw::GLenum binaryFormat, const void *binary, glw::GLsizei length);
 void					glProgramParameteri									(glw::GLuint program, glw::GLenum pname, glw::GLint value);
 void					glProgramUniform1d									(glw::GLuint program, glw::GLint location, glw::GLdouble v0);
+void					glProgramUniform1dEXT								(glw::GLuint program, glw::GLint location, glw::GLdouble x);
 void					glProgramUniform1dv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
+void					glProgramUniform1dvEXT								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
 void					glProgramUniform1f									(glw::GLuint program, glw::GLint location, glw::GLfloat v0);
 void					glProgramUniform1fv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value);
 void					glProgramUniform1i									(glw::GLuint program, glw::GLint location, glw::GLint v0);
@@ -538,7 +560,9 @@
 void					glProgramUniform1ui									(glw::GLuint program, glw::GLint location, glw::GLuint v0);
 void					glProgramUniform1uiv								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value);
 void					glProgramUniform2d									(glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1);
+void					glProgramUniform2dEXT								(glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y);
 void					glProgramUniform2dv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
+void					glProgramUniform2dvEXT								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
 void					glProgramUniform2f									(glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1);
 void					glProgramUniform2fv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value);
 void					glProgramUniform2i									(glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1);
@@ -546,7 +570,9 @@
 void					glProgramUniform2ui									(glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1);
 void					glProgramUniform2uiv								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value);
 void					glProgramUniform3d									(glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1, glw::GLdouble v2);
+void					glProgramUniform3dEXT								(glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z);
 void					glProgramUniform3dv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
+void					glProgramUniform3dvEXT								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
 void					glProgramUniform3f									(glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2);
 void					glProgramUniform3fv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value);
 void					glProgramUniform3i									(glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2);
@@ -554,7 +580,9 @@
 void					glProgramUniform3ui									(glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2);
 void					glProgramUniform3uiv								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value);
 void					glProgramUniform4d									(glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1, glw::GLdouble v2, glw::GLdouble v3);
+void					glProgramUniform4dEXT								(glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w);
 void					glProgramUniform4dv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
+void					glProgramUniform4dvEXT								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value);
 void					glProgramUniform4f									(glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2, glw::GLfloat v3);
 void					glProgramUniform4fv									(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value);
 void					glProgramUniform4i									(glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2, glw::GLint v3);
@@ -562,22 +590,31 @@
 void					glProgramUniform4ui									(glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2, glw::GLuint v3);
 void					glProgramUniform4uiv								(glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value);
 void					glProgramUniformMatrix2dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix2dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix2fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix2x3dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix2x3dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix2x3fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix2x4dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix2x4dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix2x4fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix3dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix3dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix3fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix3x2dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix3x2dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix3x2fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix3x4dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix3x4dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix3x4fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix4dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix4dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix4fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix4x2dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix4x2dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix4x2fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProgramUniformMatrix4x3dv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
+void					glProgramUniformMatrix4x3dvEXT						(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value);
 void					glProgramUniformMatrix4x3fv							(glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value);
 void					glProvokingVertex									(glw::GLenum mode);
 void					glPushClientAttribDefaultEXT						(glw::GLbitfield mask);
@@ -619,7 +656,6 @@
 void					glTexImage2DMultisample								(glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations);
 void					glTexImage3D										(glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTexImage3DMultisample								(glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations);
-void					glTexImage3DOES										(glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTexPageCommitmentARB								(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean commit);
 void					glTexParameterIiv									(glw::GLenum target, glw::GLenum pname, const glw::GLint *params);
 void					glTexParameterIuiv									(glw::GLenum target, glw::GLenum pname, const glw::GLuint *params);
@@ -628,39 +664,45 @@
 void					glTexParameteri										(glw::GLenum target, glw::GLenum pname, glw::GLint param);
 void					glTexParameteriv									(glw::GLenum target, glw::GLenum pname, const glw::GLint *params);
 void					glTexStorage1D										(glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width);
-void					glTexStorage1DEXT									(glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width);
 void					glTexStorage2D										(glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
-void					glTexStorage2DEXT									(glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
 void					glTexStorage2DMultisample							(glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations);
 void					glTexStorage3D										(glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth);
-void					glTexStorage3DEXT									(glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth);
 void					glTexStorage3DMultisample							(glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations);
 void					glTexSubImage1D										(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTexSubImage2D										(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTexSubImage3D										(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *pixels);
-void					glTexSubImage3DOES									(glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTextureBarrier									(void);
 void					glTextureBuffer										(glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer);
+void					glTextureBufferEXT									(glw::GLuint texture, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer);
 void					glTextureBufferRange								(glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size);
+void					glTextureBufferRangeEXT								(glw::GLuint texture, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size);
 void					glTextureImage1DEXT									(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTextureImage2DEXT									(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTextureImage3DEXT									(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTexturePageCommitmentEXT							(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean commit);
 void					glTextureParameterIiv								(glw::GLuint texture, glw::GLenum pname, const glw::GLint *params);
+void					glTextureParameterIivEXT							(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLint *params);
 void					glTextureParameterIuiv								(glw::GLuint texture, glw::GLenum pname, const glw::GLuint *params);
+void					glTextureParameterIuivEXT							(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLuint *params);
 void					glTextureParameterf									(glw::GLuint texture, glw::GLenum pname, glw::GLfloat param);
+void					glTextureParameterfEXT								(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLfloat param);
 void					glTextureParameterfv								(glw::GLuint texture, glw::GLenum pname, const glw::GLfloat *param);
+void					glTextureParameterfvEXT								(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params);
 void					glTextureParameteri									(glw::GLuint texture, glw::GLenum pname, glw::GLint param);
+void					glTextureParameteriEXT								(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint param);
 void					glTextureParameteriv								(glw::GLuint texture, glw::GLenum pname, const glw::GLint *param);
+void					glTextureParameterivEXT								(glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLint *params);
 void					glTextureRenderbufferEXT							(glw::GLuint texture, glw::GLenum target, glw::GLuint renderbuffer);
 void					glTextureStorage1D									(glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width);
 void					glTextureStorage1DEXT								(glw::GLuint texture, glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width);
 void					glTextureStorage2D									(glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
 void					glTextureStorage2DEXT								(glw::GLuint texture, glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height);
 void					glTextureStorage2DMultisample						(glw::GLuint texture, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations);
+void					glTextureStorage2DMultisampleEXT					(glw::GLuint texture, glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations);
 void					glTextureStorage3D									(glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth);
 void					glTextureStorage3DEXT								(glw::GLuint texture, glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth);
 void					glTextureStorage3DMultisample						(glw::GLuint texture, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations);
+void					glTextureStorage3DMultisampleEXT					(glw::GLuint texture, glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations);
 void					glTextureSubImage1D									(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTextureSubImage1DEXT								(glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels);
 void					glTextureSubImage2D									(glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, const void *pixels);
@@ -725,6 +767,7 @@
 void					glUniformSubroutinesuiv								(glw::GLenum shadertype, glw::GLsizei count, const glw::GLuint *indices);
 glw::GLboolean			glUnmapBuffer										(glw::GLenum target);
 glw::GLboolean			glUnmapNamedBuffer									(glw::GLuint buffer);
+glw::GLboolean			glUnmapNamedBufferEXT								(glw::GLuint buffer);
 void					glUseProgram										(glw::GLuint program);
 void					glUseProgramStages									(glw::GLuint pipeline, glw::GLbitfield stages, glw::GLuint program);
 void					glValidateProgram									(glw::GLuint program);
diff --git a/framework/opengl/gluES3PlusWrapperFuncs.inl b/framework/opengl/gluES3PlusWrapperFuncs.inl
index 178307b..c70eb71 100644
--- a/framework/opengl/gluES3PlusWrapperFuncs.inl
+++ b/framework/opengl/gluES3PlusWrapperFuncs.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 dst->activeShaderProgram					= src.activeShaderProgram;
 dst->activeTexture							= src.activeTexture;
diff --git a/framework/opengl/gluQueryUtil.inl b/framework/opengl/gluQueryUtil.inl
index 7bbc9e5..7f30ea8 100644
--- a/framework/opengl/gluQueryUtil.inl
+++ b/framework/opengl/gluQueryUtil.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 int getBasicQueryNumArgsOut (int pname)
diff --git a/framework/opengl/gluStrUtil.inl b/framework/opengl/gluStrUtil.inl
index a6c95cb..ef4d780 100644
--- a/framework/opengl/gluStrUtil.inl
+++ b/framework/opengl/gluStrUtil.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 const char* getErrorName (int value)
diff --git a/framework/opengl/gluStrUtilPrototypes.inl b/framework/opengl/gluStrUtilPrototypes.inl
index 2120ff2..8cfbd72 100644
--- a/framework/opengl/gluStrUtilPrototypes.inl
+++ b/framework/opengl/gluStrUtilPrototypes.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 const char*							getErrorName							(int value);
 const char*							getTypeName								(int value);
diff --git a/framework/opengl/wrapper/glwApi.inl b/framework/opengl/wrapper/glwApi.inl
index aea410b..c317eea 100644
--- a/framework/opengl/wrapper/glwApi.inl
+++ b/framework/opengl/wrapper/glwApi.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 #define			glActiveShaderProgram								glwActiveShaderProgram
 #define			glActiveTexture										glwActiveTexture
@@ -51,6 +51,7 @@
 #define			glBufferSubData										glwBufferSubData
 #define			glCheckFramebufferStatus							glwCheckFramebufferStatus
 #define			glCheckNamedFramebufferStatus						glwCheckNamedFramebufferStatus
+#define			glCheckNamedFramebufferStatusEXT					glwCheckNamedFramebufferStatusEXT
 #define			glClampColor										glwClampColor
 #define			glClear												glwClear
 #define			glClearBufferData									glwClearBufferData
@@ -63,7 +64,9 @@
 #define			glClearDepth										glwClearDepth
 #define			glClearDepthf										glwClearDepthf
 #define			glClearNamedBufferData								glwClearNamedBufferData
+#define			glClearNamedBufferDataEXT							glwClearNamedBufferDataEXT
 #define			glClearNamedBufferSubData							glwClearNamedBufferSubData
+#define			glClearNamedBufferSubDataEXT						glwClearNamedBufferSubDataEXT
 #define			glClearNamedFramebufferfi							glwClearNamedFramebufferfi
 #define			glClearNamedFramebufferfv							glwClearNamedFramebufferfv
 #define			glClearNamedFramebufferiv							glwClearNamedFramebufferiv
@@ -86,11 +89,9 @@
 #define			glCompressedTexImage1D								glwCompressedTexImage1D
 #define			glCompressedTexImage2D								glwCompressedTexImage2D
 #define			glCompressedTexImage3D								glwCompressedTexImage3D
-#define			glCompressedTexImage3DOES							glwCompressedTexImage3DOES
 #define			glCompressedTexSubImage1D							glwCompressedTexSubImage1D
 #define			glCompressedTexSubImage2D							glwCompressedTexSubImage2D
 #define			glCompressedTexSubImage3D							glwCompressedTexSubImage3D
-#define			glCompressedTexSubImage3DOES						glwCompressedTexSubImage3DOES
 #define			glCompressedTextureImage1DEXT						glwCompressedTextureImage1DEXT
 #define			glCompressedTextureImage2DEXT						glwCompressedTextureImage2DEXT
 #define			glCompressedTextureImage3DEXT						glwCompressedTextureImage3DEXT
@@ -113,7 +114,6 @@
 #define			glCopyTexSubImage1D									glwCopyTexSubImage1D
 #define			glCopyTexSubImage2D									glwCopyTexSubImage2D
 #define			glCopyTexSubImage3D									glwCopyTexSubImage3D
-#define			glCopyTexSubImage3DOES								glwCopyTexSubImage3DOES
 #define			glCopyTextureImage1DEXT								glwCopyTextureImage1DEXT
 #define			glCopyTextureImage2DEXT								glwCopyTextureImage2DEXT
 #define			glCopyTextureSubImage1D								glwCopyTextureSubImage1D
@@ -163,8 +163,8 @@
 #define			glDisable											glwDisable
 #define			glDisableClientStateIndexedEXT						glwDisableClientStateIndexedEXT
 #define			glDisableClientStateiEXT							glwDisableClientStateiEXT
-#define			glDisableIndexedEXT									glwDisableIndexedEXT
 #define			glDisableVertexArrayAttrib							glwDisableVertexArrayAttrib
+#define			glDisableVertexArrayAttribEXT						glwDisableVertexArrayAttribEXT
 #define			glDisableVertexArrayEXT								glwDisableVertexArrayEXT
 #define			glDisableVertexAttribArray							glwDisableVertexAttribArray
 #define			glDisablei											glwDisablei
@@ -194,8 +194,8 @@
 #define			glEnable											glwEnable
 #define			glEnableClientStateIndexedEXT						glwEnableClientStateIndexedEXT
 #define			glEnableClientStateiEXT								glwEnableClientStateiEXT
-#define			glEnableIndexedEXT									glwEnableIndexedEXT
 #define			glEnableVertexArrayAttrib							glwEnableVertexArrayAttrib
+#define			glEnableVertexArrayAttribEXT						glwEnableVertexArrayAttribEXT
 #define			glEnableVertexArrayEXT								glwEnableVertexArrayEXT
 #define			glEnableVertexAttribArray							glwEnableVertexAttribArray
 #define			glEnablei											glwEnablei
@@ -208,6 +208,7 @@
 #define			glFlush												glwFlush
 #define			glFlushMappedBufferRange							glwFlushMappedBufferRange
 #define			glFlushMappedNamedBufferRange						glwFlushMappedNamedBufferRange
+#define			glFlushMappedNamedBufferRangeEXT					glwFlushMappedNamedBufferRangeEXT
 #define			glFramebufferDrawBufferEXT							glwFramebufferDrawBufferEXT
 #define			glFramebufferDrawBuffersEXT							glwFramebufferDrawBuffersEXT
 #define			glFramebufferParameteri								glwFramebufferParameteri
@@ -217,7 +218,6 @@
 #define			glFramebufferTexture1D								glwFramebufferTexture1D
 #define			glFramebufferTexture2D								glwFramebufferTexture2D
 #define			glFramebufferTexture3D								glwFramebufferTexture3D
-#define			glFramebufferTexture3DOES							glwFramebufferTexture3DOES
 #define			glFramebufferTextureLayer							glwFramebufferTextureLayer
 #define			glFrontFace											glwFrontFace
 #define			glGenBuffers										glwGenBuffers
@@ -232,6 +232,7 @@
 #define			glGenerateMipmap									glwGenerateMipmap
 #define			glGenerateMultiTexMipmapEXT							glwGenerateMultiTexMipmapEXT
 #define			glGenerateTextureMipmap								glwGenerateTextureMipmap
+#define			glGenerateTextureMipmapEXT							glwGenerateTextureMipmapEXT
 #define			glGetActiveAtomicCounterBufferiv					glwGetActiveAtomicCounterBufferiv
 #define			glGetActiveAttrib									glwGetActiveAttrib
 #define			glGetActiveSubroutineName							glwGetActiveSubroutineName
@@ -244,7 +245,6 @@
 #define			glGetActiveUniformsiv								glwGetActiveUniformsiv
 #define			glGetAttachedShaders								glwGetAttachedShaders
 #define			glGetAttribLocation									glwGetAttribLocation
-#define			glGetBooleanIndexedvEXT								glwGetBooleanIndexedvEXT
 #define			glGetBooleani_v										glwGetBooleani_v
 #define			glGetBooleanv										glwGetBooleanv
 #define			glGetBufferParameteri64v							glwGetBufferParameteri64v
@@ -254,23 +254,22 @@
 #define			glGetCompressedMultiTexImageEXT						glwGetCompressedMultiTexImageEXT
 #define			glGetCompressedTexImage								glwGetCompressedTexImage
 #define			glGetCompressedTextureImage							glwGetCompressedTextureImage
+#define			glGetCompressedTextureImageEXT						glwGetCompressedTextureImageEXT
 #define			glGetCompressedTextureSubImage						glwGetCompressedTextureSubImage
 #define			glGetDebugMessageLog								glwGetDebugMessageLog
-#define			glGetDoubleIndexedvEXT								glwGetDoubleIndexedvEXT
 #define			glGetDoublei_v										glwGetDoublei_v
 #define			glGetDoublev										glwGetDoublev
 #define			glGetError											glwGetError
-#define			glGetFloatIndexedvEXT								glwGetFloatIndexedvEXT
 #define			glGetFloati_v										glwGetFloati_v
 #define			glGetFloatv											glwGetFloatv
 #define			glGetFragDataIndex									glwGetFragDataIndex
 #define			glGetFragDataLocation								glwGetFragDataLocation
 #define			glGetFramebufferAttachmentParameteriv				glwGetFramebufferAttachmentParameteriv
 #define			glGetFramebufferParameteriv							glwGetFramebufferParameteriv
+#define			glGetFramebufferParameterivEXT						glwGetFramebufferParameterivEXT
 #define			glGetGraphicsResetStatus							glwGetGraphicsResetStatus
 #define			glGetInteger64i_v									glwGetInteger64i_v
 #define			glGetInteger64v										glwGetInteger64v
-#define			glGetIntegerIndexedvEXT								glwGetIntegerIndexedvEXT
 #define			glGetIntegeri_v										glwGetIntegeri_v
 #define			glGetIntegerv										glwGetIntegerv
 #define			glGetInternalformatSampleivNV						glwGetInternalformatSampleivNV
@@ -291,10 +290,15 @@
 #define			glGetMultisamplefv									glwGetMultisamplefv
 #define			glGetNamedBufferParameteri64v						glwGetNamedBufferParameteri64v
 #define			glGetNamedBufferParameteriv							glwGetNamedBufferParameteriv
+#define			glGetNamedBufferParameterivEXT						glwGetNamedBufferParameterivEXT
 #define			glGetNamedBufferPointerv							glwGetNamedBufferPointerv
+#define			glGetNamedBufferPointervEXT							glwGetNamedBufferPointervEXT
 #define			glGetNamedBufferSubData								glwGetNamedBufferSubData
+#define			glGetNamedBufferSubDataEXT							glwGetNamedBufferSubDataEXT
 #define			glGetNamedFramebufferAttachmentParameteriv			glwGetNamedFramebufferAttachmentParameteriv
+#define			glGetNamedFramebufferAttachmentParameterivEXT		glwGetNamedFramebufferAttachmentParameterivEXT
 #define			glGetNamedFramebufferParameteriv					glwGetNamedFramebufferParameteriv
+#define			glGetNamedFramebufferParameterivEXT					glwGetNamedFramebufferParameterivEXT
 #define			glGetNamedProgramLocalParameterIivEXT				glwGetNamedProgramLocalParameterIivEXT
 #define			glGetNamedProgramLocalParameterIuivEXT				glwGetNamedProgramLocalParameterIuivEXT
 #define			glGetNamedProgramLocalParameterdvEXT				glwGetNamedProgramLocalParameterdvEXT
@@ -302,6 +306,7 @@
 #define			glGetNamedProgramStringEXT							glwGetNamedProgramStringEXT
 #define			glGetNamedProgramivEXT								glwGetNamedProgramivEXT
 #define			glGetNamedRenderbufferParameteriv					glwGetNamedRenderbufferParameteriv
+#define			glGetNamedRenderbufferParameterivEXT				glwGetNamedRenderbufferParameterivEXT
 #define			glGetObjectLabel									glwGetObjectLabel
 #define			glGetObjectPtrLabel									glwGetObjectPtrLabel
 #define			glGetPointerIndexedvEXT								glwGetPointerIndexedvEXT
@@ -351,12 +356,19 @@
 #define			glGetTexParameterfv									glwGetTexParameterfv
 #define			glGetTexParameteriv									glwGetTexParameteriv
 #define			glGetTextureImage									glwGetTextureImage
+#define			glGetTextureImageEXT								glwGetTextureImageEXT
 #define			glGetTextureLevelParameterfv						glwGetTextureLevelParameterfv
+#define			glGetTextureLevelParameterfvEXT						glwGetTextureLevelParameterfvEXT
 #define			glGetTextureLevelParameteriv						glwGetTextureLevelParameteriv
+#define			glGetTextureLevelParameterivEXT						glwGetTextureLevelParameterivEXT
 #define			glGetTextureParameterIiv							glwGetTextureParameterIiv
+#define			glGetTextureParameterIivEXT							glwGetTextureParameterIivEXT
 #define			glGetTextureParameterIuiv							glwGetTextureParameterIuiv
+#define			glGetTextureParameterIuivEXT						glwGetTextureParameterIuivEXT
 #define			glGetTextureParameterfv								glwGetTextureParameterfv
+#define			glGetTextureParameterfvEXT							glwGetTextureParameterfvEXT
 #define			glGetTextureParameteriv								glwGetTextureParameteriv
+#define			glGetTextureParameterivEXT							glwGetTextureParameterivEXT
 #define			glGetTextureSubImage								glwGetTextureSubImage
 #define			glGetTransformFeedbackVarying						glwGetTransformFeedbackVarying
 #define			glGetTransformFeedbacki64_v							glwGetTransformFeedbacki64_v
@@ -402,7 +414,6 @@
 #define			glInvalidateTexSubImage								glwInvalidateTexSubImage
 #define			glIsBuffer											glwIsBuffer
 #define			glIsEnabled											glwIsEnabled
-#define			glIsEnabledIndexedEXT								glwIsEnabledIndexedEXT
 #define			glIsEnabledi										glwIsEnabledi
 #define			glIsFramebuffer										glwIsFramebuffer
 #define			glIsProgram											glwIsProgram
@@ -421,7 +432,9 @@
 #define			glMapBuffer											glwMapBuffer
 #define			glMapBufferRange									glwMapBufferRange
 #define			glMapNamedBuffer									glwMapNamedBuffer
+#define			glMapNamedBufferEXT									glwMapNamedBufferEXT
 #define			glMapNamedBufferRange								glwMapNamedBufferRange
+#define			glMapNamedBufferRangeEXT							glwMapNamedBufferRangeEXT
 #define			glMatrixFrustumEXT									glwMatrixFrustumEXT
 #define			glMatrixLoadIdentityEXT								glwMatrixLoadIdentityEXT
 #define			glMatrixLoadTransposedEXT							glwMatrixLoadTransposedEXT
@@ -478,6 +491,7 @@
 #define			glMultiTexSubImage2DEXT								glwMultiTexSubImage2DEXT
 #define			glMultiTexSubImage3DEXT								glwMultiTexSubImage3DEXT
 #define			glNamedBufferData									glwNamedBufferData
+#define			glNamedBufferDataEXT								glwNamedBufferDataEXT
 #define			glNamedBufferPageCommitmentARB						glwNamedBufferPageCommitmentARB
 #define			glNamedBufferPageCommitmentEXT						glwNamedBufferPageCommitmentEXT
 #define			glNamedBufferStorage								glwNamedBufferStorage
@@ -486,14 +500,18 @@
 #define			glNamedFramebufferDrawBuffer						glwNamedFramebufferDrawBuffer
 #define			glNamedFramebufferDrawBuffers						glwNamedFramebufferDrawBuffers
 #define			glNamedFramebufferParameteri						glwNamedFramebufferParameteri
+#define			glNamedFramebufferParameteriEXT						glwNamedFramebufferParameteriEXT
 #define			glNamedFramebufferReadBuffer						glwNamedFramebufferReadBuffer
 #define			glNamedFramebufferRenderbuffer						glwNamedFramebufferRenderbuffer
+#define			glNamedFramebufferRenderbufferEXT					glwNamedFramebufferRenderbufferEXT
 #define			glNamedFramebufferTexture							glwNamedFramebufferTexture
 #define			glNamedFramebufferTexture1DEXT						glwNamedFramebufferTexture1DEXT
 #define			glNamedFramebufferTexture2DEXT						glwNamedFramebufferTexture2DEXT
 #define			glNamedFramebufferTexture3DEXT						glwNamedFramebufferTexture3DEXT
+#define			glNamedFramebufferTextureEXT						glwNamedFramebufferTextureEXT
 #define			glNamedFramebufferTextureFaceEXT					glwNamedFramebufferTextureFaceEXT
 #define			glNamedFramebufferTextureLayer						glwNamedFramebufferTextureLayer
+#define			glNamedFramebufferTextureLayerEXT					glwNamedFramebufferTextureLayerEXT
 #define			glNamedProgramLocalParameter4dEXT					glwNamedProgramLocalParameter4dEXT
 #define			glNamedProgramLocalParameter4dvEXT					glwNamedProgramLocalParameter4dvEXT
 #define			glNamedProgramLocalParameter4fEXT					glwNamedProgramLocalParameter4fEXT
@@ -507,8 +525,10 @@
 #define			glNamedProgramLocalParametersI4uivEXT				glwNamedProgramLocalParametersI4uivEXT
 #define			glNamedProgramStringEXT								glwNamedProgramStringEXT
 #define			glNamedRenderbufferStorage							glwNamedRenderbufferStorage
+#define			glNamedRenderbufferStorageEXT						glwNamedRenderbufferStorageEXT
 #define			glNamedRenderbufferStorageMultisample				glwNamedRenderbufferStorageMultisample
 #define			glNamedRenderbufferStorageMultisampleCoverageEXT	glwNamedRenderbufferStorageMultisampleCoverageEXT
+#define			glNamedRenderbufferStorageMultisampleEXT			glwNamedRenderbufferStorageMultisampleEXT
 #define			glObjectLabel										glwObjectLabel
 #define			glObjectPtrLabel									glwObjectPtrLabel
 #define			glPatchParameterfv									glwPatchParameterfv
@@ -530,7 +550,9 @@
 #define			glProgramBinary										glwProgramBinary
 #define			glProgramParameteri									glwProgramParameteri
 #define			glProgramUniform1d									glwProgramUniform1d
+#define			glProgramUniform1dEXT								glwProgramUniform1dEXT
 #define			glProgramUniform1dv									glwProgramUniform1dv
+#define			glProgramUniform1dvEXT								glwProgramUniform1dvEXT
 #define			glProgramUniform1f									glwProgramUniform1f
 #define			glProgramUniform1fv									glwProgramUniform1fv
 #define			glProgramUniform1i									glwProgramUniform1i
@@ -538,7 +560,9 @@
 #define			glProgramUniform1ui									glwProgramUniform1ui
 #define			glProgramUniform1uiv								glwProgramUniform1uiv
 #define			glProgramUniform2d									glwProgramUniform2d
+#define			glProgramUniform2dEXT								glwProgramUniform2dEXT
 #define			glProgramUniform2dv									glwProgramUniform2dv
+#define			glProgramUniform2dvEXT								glwProgramUniform2dvEXT
 #define			glProgramUniform2f									glwProgramUniform2f
 #define			glProgramUniform2fv									glwProgramUniform2fv
 #define			glProgramUniform2i									glwProgramUniform2i
@@ -546,7 +570,9 @@
 #define			glProgramUniform2ui									glwProgramUniform2ui
 #define			glProgramUniform2uiv								glwProgramUniform2uiv
 #define			glProgramUniform3d									glwProgramUniform3d
+#define			glProgramUniform3dEXT								glwProgramUniform3dEXT
 #define			glProgramUniform3dv									glwProgramUniform3dv
+#define			glProgramUniform3dvEXT								glwProgramUniform3dvEXT
 #define			glProgramUniform3f									glwProgramUniform3f
 #define			glProgramUniform3fv									glwProgramUniform3fv
 #define			glProgramUniform3i									glwProgramUniform3i
@@ -554,7 +580,9 @@
 #define			glProgramUniform3ui									glwProgramUniform3ui
 #define			glProgramUniform3uiv								glwProgramUniform3uiv
 #define			glProgramUniform4d									glwProgramUniform4d
+#define			glProgramUniform4dEXT								glwProgramUniform4dEXT
 #define			glProgramUniform4dv									glwProgramUniform4dv
+#define			glProgramUniform4dvEXT								glwProgramUniform4dvEXT
 #define			glProgramUniform4f									glwProgramUniform4f
 #define			glProgramUniform4fv									glwProgramUniform4fv
 #define			glProgramUniform4i									glwProgramUniform4i
@@ -562,22 +590,31 @@
 #define			glProgramUniform4ui									glwProgramUniform4ui
 #define			glProgramUniform4uiv								glwProgramUniform4uiv
 #define			glProgramUniformMatrix2dv							glwProgramUniformMatrix2dv
+#define			glProgramUniformMatrix2dvEXT						glwProgramUniformMatrix2dvEXT
 #define			glProgramUniformMatrix2fv							glwProgramUniformMatrix2fv
 #define			glProgramUniformMatrix2x3dv							glwProgramUniformMatrix2x3dv
+#define			glProgramUniformMatrix2x3dvEXT						glwProgramUniformMatrix2x3dvEXT
 #define			glProgramUniformMatrix2x3fv							glwProgramUniformMatrix2x3fv
 #define			glProgramUniformMatrix2x4dv							glwProgramUniformMatrix2x4dv
+#define			glProgramUniformMatrix2x4dvEXT						glwProgramUniformMatrix2x4dvEXT
 #define			glProgramUniformMatrix2x4fv							glwProgramUniformMatrix2x4fv
 #define			glProgramUniformMatrix3dv							glwProgramUniformMatrix3dv
+#define			glProgramUniformMatrix3dvEXT						glwProgramUniformMatrix3dvEXT
 #define			glProgramUniformMatrix3fv							glwProgramUniformMatrix3fv
 #define			glProgramUniformMatrix3x2dv							glwProgramUniformMatrix3x2dv
+#define			glProgramUniformMatrix3x2dvEXT						glwProgramUniformMatrix3x2dvEXT
 #define			glProgramUniformMatrix3x2fv							glwProgramUniformMatrix3x2fv
 #define			glProgramUniformMatrix3x4dv							glwProgramUniformMatrix3x4dv
+#define			glProgramUniformMatrix3x4dvEXT						glwProgramUniformMatrix3x4dvEXT
 #define			glProgramUniformMatrix3x4fv							glwProgramUniformMatrix3x4fv
 #define			glProgramUniformMatrix4dv							glwProgramUniformMatrix4dv
+#define			glProgramUniformMatrix4dvEXT						glwProgramUniformMatrix4dvEXT
 #define			glProgramUniformMatrix4fv							glwProgramUniformMatrix4fv
 #define			glProgramUniformMatrix4x2dv							glwProgramUniformMatrix4x2dv
+#define			glProgramUniformMatrix4x2dvEXT						glwProgramUniformMatrix4x2dvEXT
 #define			glProgramUniformMatrix4x2fv							glwProgramUniformMatrix4x2fv
 #define			glProgramUniformMatrix4x3dv							glwProgramUniformMatrix4x3dv
+#define			glProgramUniformMatrix4x3dvEXT						glwProgramUniformMatrix4x3dvEXT
 #define			glProgramUniformMatrix4x3fv							glwProgramUniformMatrix4x3fv
 #define			glProvokingVertex									glwProvokingVertex
 #define			glPushClientAttribDefaultEXT						glwPushClientAttribDefaultEXT
@@ -619,7 +656,6 @@
 #define			glTexImage2DMultisample								glwTexImage2DMultisample
 #define			glTexImage3D										glwTexImage3D
 #define			glTexImage3DMultisample								glwTexImage3DMultisample
-#define			glTexImage3DOES										glwTexImage3DOES
 #define			glTexPageCommitmentARB								glwTexPageCommitmentARB
 #define			glTexParameterIiv									glwTexParameterIiv
 #define			glTexParameterIuiv									glwTexParameterIuiv
@@ -628,39 +664,45 @@
 #define			glTexParameteri										glwTexParameteri
 #define			glTexParameteriv									glwTexParameteriv
 #define			glTexStorage1D										glwTexStorage1D
-#define			glTexStorage1DEXT									glwTexStorage1DEXT
 #define			glTexStorage2D										glwTexStorage2D
-#define			glTexStorage2DEXT									glwTexStorage2DEXT
 #define			glTexStorage2DMultisample							glwTexStorage2DMultisample
 #define			glTexStorage3D										glwTexStorage3D
-#define			glTexStorage3DEXT									glwTexStorage3DEXT
 #define			glTexStorage3DMultisample							glwTexStorage3DMultisample
 #define			glTexSubImage1D										glwTexSubImage1D
 #define			glTexSubImage2D										glwTexSubImage2D
 #define			glTexSubImage3D										glwTexSubImage3D
-#define			glTexSubImage3DOES									glwTexSubImage3DOES
 #define			glTextureBarrier									glwTextureBarrier
 #define			glTextureBuffer										glwTextureBuffer
+#define			glTextureBufferEXT									glwTextureBufferEXT
 #define			glTextureBufferRange								glwTextureBufferRange
+#define			glTextureBufferRangeEXT								glwTextureBufferRangeEXT
 #define			glTextureImage1DEXT									glwTextureImage1DEXT
 #define			glTextureImage2DEXT									glwTextureImage2DEXT
 #define			glTextureImage3DEXT									glwTextureImage3DEXT
 #define			glTexturePageCommitmentEXT							glwTexturePageCommitmentEXT
 #define			glTextureParameterIiv								glwTextureParameterIiv
+#define			glTextureParameterIivEXT							glwTextureParameterIivEXT
 #define			glTextureParameterIuiv								glwTextureParameterIuiv
+#define			glTextureParameterIuivEXT							glwTextureParameterIuivEXT
 #define			glTextureParameterf									glwTextureParameterf
+#define			glTextureParameterfEXT								glwTextureParameterfEXT
 #define			glTextureParameterfv								glwTextureParameterfv
+#define			glTextureParameterfvEXT								glwTextureParameterfvEXT
 #define			glTextureParameteri									glwTextureParameteri
+#define			glTextureParameteriEXT								glwTextureParameteriEXT
 #define			glTextureParameteriv								glwTextureParameteriv
+#define			glTextureParameterivEXT								glwTextureParameterivEXT
 #define			glTextureRenderbufferEXT							glwTextureRenderbufferEXT
 #define			glTextureStorage1D									glwTextureStorage1D
 #define			glTextureStorage1DEXT								glwTextureStorage1DEXT
 #define			glTextureStorage2D									glwTextureStorage2D
 #define			glTextureStorage2DEXT								glwTextureStorage2DEXT
 #define			glTextureStorage2DMultisample						glwTextureStorage2DMultisample
+#define			glTextureStorage2DMultisampleEXT					glwTextureStorage2DMultisampleEXT
 #define			glTextureStorage3D									glwTextureStorage3D
 #define			glTextureStorage3DEXT								glwTextureStorage3DEXT
 #define			glTextureStorage3DMultisample						glwTextureStorage3DMultisample
+#define			glTextureStorage3DMultisampleEXT					glwTextureStorage3DMultisampleEXT
 #define			glTextureSubImage1D									glwTextureSubImage1D
 #define			glTextureSubImage1DEXT								glwTextureSubImage1DEXT
 #define			glTextureSubImage2D									glwTextureSubImage2D
@@ -725,6 +767,7 @@
 #define			glUniformSubroutinesuiv								glwUniformSubroutinesuiv
 #define			glUnmapBuffer										glwUnmapBuffer
 #define			glUnmapNamedBuffer									glwUnmapNamedBuffer
+#define			glUnmapNamedBufferEXT								glwUnmapNamedBufferEXT
 #define			glUseProgram										glwUseProgram
 #define			glUseProgramStages									glwUseProgramStages
 #define			glValidateProgram									glwValidateProgram
@@ -890,6 +933,7 @@
 void			glwBufferSubData									(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
 GLenum			glwCheckFramebufferStatus							(GLenum target);
 GLenum			glwCheckNamedFramebufferStatus						(GLuint framebuffer, GLenum target);
+GLenum			glwCheckNamedFramebufferStatusEXT					(GLuint framebuffer, GLenum target);
 void			glwClampColor										(GLenum target, GLenum clamp);
 void			glwClear											(GLbitfield mask);
 void			glwClearBufferData									(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
@@ -902,7 +946,9 @@
 void			glwClearDepth										(GLdouble depth);
 void			glwClearDepthf										(GLfloat d);
 void			glwClearNamedBufferData								(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
+void			glwClearNamedBufferDataEXT							(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
 void			glwClearNamedBufferSubData							(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
+void			glwClearNamedBufferSubDataEXT						(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
 void			glwClearNamedFramebufferfi							(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 void			glwClearNamedFramebufferfv							(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
 void			glwClearNamedFramebufferiv							(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
@@ -925,11 +971,9 @@
 void			glwCompressedTexImage1D								(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
 void			glwCompressedTexImage2D								(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
 void			glwCompressedTexImage3D								(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
-void			glwCompressedTexImage3DOES							(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
 void			glwCompressedTexSubImage1D							(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
 void			glwCompressedTexSubImage2D							(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
 void			glwCompressedTexSubImage3D							(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
-void			glwCompressedTexSubImage3DOES						(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
 void			glwCompressedTextureImage1DEXT						(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);
 void			glwCompressedTextureImage2DEXT						(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);
 void			glwCompressedTextureImage3DEXT						(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);
@@ -952,7 +996,6 @@
 void			glwCopyTexSubImage1D								(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 void			glwCopyTexSubImage2D								(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 void			glwCopyTexSubImage3D								(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-void			glwCopyTexSubImage3DOES								(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 void			glwCopyTextureImage1DEXT							(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
 void			glwCopyTextureImage2DEXT							(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
 void			glwCopyTextureSubImage1D							(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
@@ -1002,8 +1045,8 @@
 void			glwDisable											(GLenum cap);
 void			glwDisableClientStateIndexedEXT						(GLenum array, GLuint index);
 void			glwDisableClientStateiEXT							(GLenum array, GLuint index);
-void			glwDisableIndexedEXT								(GLenum target, GLuint index);
 void			glwDisableVertexArrayAttrib							(GLuint vaobj, GLuint index);
+void			glwDisableVertexArrayAttribEXT						(GLuint vaobj, GLuint index);
 void			glwDisableVertexArrayEXT							(GLuint vaobj, GLenum array);
 void			glwDisableVertexAttribArray							(GLuint index);
 void			glwDisablei											(GLenum target, GLuint index);
@@ -1033,8 +1076,8 @@
 void			glwEnable											(GLenum cap);
 void			glwEnableClientStateIndexedEXT						(GLenum array, GLuint index);
 void			glwEnableClientStateiEXT							(GLenum array, GLuint index);
-void			glwEnableIndexedEXT									(GLenum target, GLuint index);
 void			glwEnableVertexArrayAttrib							(GLuint vaobj, GLuint index);
+void			glwEnableVertexArrayAttribEXT						(GLuint vaobj, GLuint index);
 void			glwEnableVertexArrayEXT								(GLuint vaobj, GLenum array);
 void			glwEnableVertexAttribArray							(GLuint index);
 void			glwEnablei											(GLenum target, GLuint index);
@@ -1047,6 +1090,7 @@
 void			glwFlush											();
 void			glwFlushMappedBufferRange							(GLenum target, GLintptr offset, GLsizeiptr length);
 void			glwFlushMappedNamedBufferRange						(GLuint buffer, GLintptr offset, GLsizeiptr length);
+void			glwFlushMappedNamedBufferRangeEXT					(GLuint buffer, GLintptr offset, GLsizeiptr length);
 void			glwFramebufferDrawBufferEXT							(GLuint framebuffer, GLenum mode);
 void			glwFramebufferDrawBuffersEXT						(GLuint framebuffer, GLsizei n, const GLenum *bufs);
 void			glwFramebufferParameteri							(GLenum target, GLenum pname, GLint param);
@@ -1056,7 +1100,6 @@
 void			glwFramebufferTexture1D								(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 void			glwFramebufferTexture2D								(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 void			glwFramebufferTexture3D								(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
-void			glwFramebufferTexture3DOES							(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 void			glwFramebufferTextureLayer							(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 void			glwFrontFace										(GLenum mode);
 void			glwGenBuffers										(GLsizei n, GLuint *buffers);
@@ -1071,6 +1114,7 @@
 void			glwGenerateMipmap									(GLenum target);
 void			glwGenerateMultiTexMipmapEXT						(GLenum texunit, GLenum target);
 void			glwGenerateTextureMipmap							(GLuint texture);
+void			glwGenerateTextureMipmapEXT							(GLuint texture, GLenum target);
 void			glwGetActiveAtomicCounterBufferiv					(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
 void			glwGetActiveAttrib									(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
 void			glwGetActiveSubroutineName							(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
@@ -1083,7 +1127,6 @@
 void			glwGetActiveUniformsiv								(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
 void			glwGetAttachedShaders								(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
 GLint			glwGetAttribLocation								(GLuint program, const GLchar *name);
-void			glwGetBooleanIndexedvEXT							(GLenum target, GLuint index, GLboolean *data);
 void			glwGetBooleani_v									(GLenum target, GLuint index, GLboolean *data);
 void			glwGetBooleanv										(GLenum pname, GLboolean *data);
 void			glwGetBufferParameteri64v							(GLenum target, GLenum pname, GLint64 *params);
@@ -1093,23 +1136,22 @@
 void			glwGetCompressedMultiTexImageEXT					(GLenum texunit, GLenum target, GLint lod, void *img);
 void			glwGetCompressedTexImage							(GLenum target, GLint level, void *img);
 void			glwGetCompressedTextureImage						(GLuint texture, GLint level, GLsizei bufSize, void *pixels);
+void			glwGetCompressedTextureImageEXT						(GLuint texture, GLenum target, GLint lod, void *img);
 void			glwGetCompressedTextureSubImage						(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
 GLuint			glwGetDebugMessageLog								(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
-void			glwGetDoubleIndexedvEXT								(GLenum target, GLuint index, GLdouble *data);
 void			glwGetDoublei_v										(GLenum target, GLuint index, GLdouble *data);
 void			glwGetDoublev										(GLenum pname, GLdouble *data);
 GLenum			glwGetError											();
-void			glwGetFloatIndexedvEXT								(GLenum target, GLuint index, GLfloat *data);
 void			glwGetFloati_v										(GLenum target, GLuint index, GLfloat *data);
 void			glwGetFloatv										(GLenum pname, GLfloat *data);
 GLint			glwGetFragDataIndex									(GLuint program, const GLchar *name);
 GLint			glwGetFragDataLocation								(GLuint program, const GLchar *name);
 void			glwGetFramebufferAttachmentParameteriv				(GLenum target, GLenum attachment, GLenum pname, GLint *params);
 void			glwGetFramebufferParameteriv						(GLenum target, GLenum pname, GLint *params);
+void			glwGetFramebufferParameterivEXT						(GLuint framebuffer, GLenum pname, GLint *params);
 GLenum			glwGetGraphicsResetStatus							();
 void			glwGetInteger64i_v									(GLenum target, GLuint index, GLint64 *data);
 void			glwGetInteger64v									(GLenum pname, GLint64 *data);
-void			glwGetIntegerIndexedvEXT							(GLenum target, GLuint index, GLint *data);
 void			glwGetIntegeri_v									(GLenum target, GLuint index, GLint *data);
 void			glwGetIntegerv										(GLenum pname, GLint *data);
 void			glwGetInternalformatSampleivNV						(GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);
@@ -1130,10 +1172,15 @@
 void			glwGetMultisamplefv									(GLenum pname, GLuint index, GLfloat *val);
 void			glwGetNamedBufferParameteri64v						(GLuint buffer, GLenum pname, GLint64 *params);
 void			glwGetNamedBufferParameteriv						(GLuint buffer, GLenum pname, GLint *params);
+void			glwGetNamedBufferParameterivEXT						(GLuint buffer, GLenum pname, GLint *params);
 void			glwGetNamedBufferPointerv							(GLuint buffer, GLenum pname, void **params);
+void			glwGetNamedBufferPointervEXT						(GLuint buffer, GLenum pname, void **params);
 void			glwGetNamedBufferSubData							(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
+void			glwGetNamedBufferSubDataEXT							(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
 void			glwGetNamedFramebufferAttachmentParameteriv			(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+void			glwGetNamedFramebufferAttachmentParameterivEXT		(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
 void			glwGetNamedFramebufferParameteriv					(GLuint framebuffer, GLenum pname, GLint *param);
+void			glwGetNamedFramebufferParameterivEXT				(GLuint framebuffer, GLenum pname, GLint *params);
 void			glwGetNamedProgramLocalParameterIivEXT				(GLuint program, GLenum target, GLuint index, GLint *params);
 void			glwGetNamedProgramLocalParameterIuivEXT				(GLuint program, GLenum target, GLuint index, GLuint *params);
 void			glwGetNamedProgramLocalParameterdvEXT				(GLuint program, GLenum target, GLuint index, GLdouble *params);
@@ -1141,6 +1188,7 @@
 void			glwGetNamedProgramStringEXT							(GLuint program, GLenum target, GLenum pname, void *string);
 void			glwGetNamedProgramivEXT								(GLuint program, GLenum target, GLenum pname, GLint *params);
 void			glwGetNamedRenderbufferParameteriv					(GLuint renderbuffer, GLenum pname, GLint *params);
+void			glwGetNamedRenderbufferParameterivEXT				(GLuint renderbuffer, GLenum pname, GLint *params);
 void			glwGetObjectLabel									(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
 void			glwGetObjectPtrLabel								(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
 void			glwGetPointerIndexedvEXT							(GLenum target, GLuint index, void **data);
@@ -1190,12 +1238,19 @@
 void			glwGetTexParameterfv								(GLenum target, GLenum pname, GLfloat *params);
 void			glwGetTexParameteriv								(GLenum target, GLenum pname, GLint *params);
 void			glwGetTextureImage									(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
+void			glwGetTextureImageEXT								(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
 void			glwGetTextureLevelParameterfv						(GLuint texture, GLint level, GLenum pname, GLfloat *params);
+void			glwGetTextureLevelParameterfvEXT					(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
 void			glwGetTextureLevelParameteriv						(GLuint texture, GLint level, GLenum pname, GLint *params);
+void			glwGetTextureLevelParameterivEXT					(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
 void			glwGetTextureParameterIiv							(GLuint texture, GLenum pname, GLint *params);
+void			glwGetTextureParameterIivEXT						(GLuint texture, GLenum target, GLenum pname, GLint *params);
 void			glwGetTextureParameterIuiv							(GLuint texture, GLenum pname, GLuint *params);
+void			glwGetTextureParameterIuivEXT						(GLuint texture, GLenum target, GLenum pname, GLuint *params);
 void			glwGetTextureParameterfv							(GLuint texture, GLenum pname, GLfloat *params);
+void			glwGetTextureParameterfvEXT							(GLuint texture, GLenum target, GLenum pname, GLfloat *params);
 void			glwGetTextureParameteriv							(GLuint texture, GLenum pname, GLint *params);
+void			glwGetTextureParameterivEXT							(GLuint texture, GLenum target, GLenum pname, GLint *params);
 void			glwGetTextureSubImage								(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 void			glwGetTransformFeedbackVarying						(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
 void			glwGetTransformFeedbacki64_v						(GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
@@ -1241,7 +1296,6 @@
 void			glwInvalidateTexSubImage							(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
 GLboolean		glwIsBuffer											(GLuint buffer);
 GLboolean		glwIsEnabled										(GLenum cap);
-GLboolean		glwIsEnabledIndexedEXT								(GLenum target, GLuint index);
 GLboolean		glwIsEnabledi										(GLenum target, GLuint index);
 GLboolean		glwIsFramebuffer									(GLuint framebuffer);
 GLboolean		glwIsProgram										(GLuint program);
@@ -1260,7 +1314,9 @@
 void *			glwMapBuffer										(GLenum target, GLenum access);
 void *			glwMapBufferRange									(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
 void *			glwMapNamedBuffer									(GLuint buffer, GLenum access);
+void *			glwMapNamedBufferEXT								(GLuint buffer, GLenum access);
 void *			glwMapNamedBufferRange								(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+void *			glwMapNamedBufferRangeEXT							(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
 void			glwMatrixFrustumEXT									(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
 void			glwMatrixLoadIdentityEXT							(GLenum mode);
 void			glwMatrixLoadTransposedEXT							(GLenum mode, const GLdouble *m);
@@ -1317,6 +1373,7 @@
 void			glwMultiTexSubImage2DEXT							(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
 void			glwMultiTexSubImage3DEXT							(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
 void			glwNamedBufferData									(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
+void			glwNamedBufferDataEXT								(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
 void			glwNamedBufferPageCommitmentARB						(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
 void			glwNamedBufferPageCommitmentEXT						(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
 void			glwNamedBufferStorage								(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
@@ -1325,14 +1382,18 @@
 void			glwNamedFramebufferDrawBuffer						(GLuint framebuffer, GLenum buf);
 void			glwNamedFramebufferDrawBuffers						(GLuint framebuffer, GLsizei n, const GLenum *bufs);
 void			glwNamedFramebufferParameteri						(GLuint framebuffer, GLenum pname, GLint param);
+void			glwNamedFramebufferParameteriEXT					(GLuint framebuffer, GLenum pname, GLint param);
 void			glwNamedFramebufferReadBuffer						(GLuint framebuffer, GLenum src);
 void			glwNamedFramebufferRenderbuffer						(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+void			glwNamedFramebufferRenderbufferEXT					(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 void			glwNamedFramebufferTexture							(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 void			glwNamedFramebufferTexture1DEXT						(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 void			glwNamedFramebufferTexture2DEXT						(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 void			glwNamedFramebufferTexture3DEXT						(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+void			glwNamedFramebufferTextureEXT						(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 void			glwNamedFramebufferTextureFaceEXT					(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
 void			glwNamedFramebufferTextureLayer						(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+void			glwNamedFramebufferTextureLayerEXT					(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
 void			glwNamedProgramLocalParameter4dEXT					(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 void			glwNamedProgramLocalParameter4dvEXT					(GLuint program, GLenum target, GLuint index, const GLdouble *params);
 void			glwNamedProgramLocalParameter4fEXT					(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
@@ -1346,8 +1407,10 @@
 void			glwNamedProgramLocalParametersI4uivEXT				(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
 void			glwNamedProgramStringEXT							(GLuint program, GLenum target, GLenum format, GLsizei len, const void *string);
 void			glwNamedRenderbufferStorage							(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+void			glwNamedRenderbufferStorageEXT						(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
 void			glwNamedRenderbufferStorageMultisample				(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 void			glwNamedRenderbufferStorageMultisampleCoverageEXT	(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+void			glwNamedRenderbufferStorageMultisampleEXT			(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 void			glwObjectLabel										(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
 void			glwObjectPtrLabel									(const void *ptr, GLsizei length, const GLchar *label);
 void			glwPatchParameterfv									(GLenum pname, const GLfloat *values);
@@ -1369,7 +1432,9 @@
 void			glwProgramBinary									(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
 void			glwProgramParameteri								(GLuint program, GLenum pname, GLint value);
 void			glwProgramUniform1d									(GLuint program, GLint location, GLdouble v0);
+void			glwProgramUniform1dEXT								(GLuint program, GLint location, GLdouble x);
 void			glwProgramUniform1dv								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+void			glwProgramUniform1dvEXT								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 void			glwProgramUniform1f									(GLuint program, GLint location, GLfloat v0);
 void			glwProgramUniform1fv								(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 void			glwProgramUniform1i									(GLuint program, GLint location, GLint v0);
@@ -1377,7 +1442,9 @@
 void			glwProgramUniform1ui								(GLuint program, GLint location, GLuint v0);
 void			glwProgramUniform1uiv								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 void			glwProgramUniform2d									(GLuint program, GLint location, GLdouble v0, GLdouble v1);
+void			glwProgramUniform2dEXT								(GLuint program, GLint location, GLdouble x, GLdouble y);
 void			glwProgramUniform2dv								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+void			glwProgramUniform2dvEXT								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 void			glwProgramUniform2f									(GLuint program, GLint location, GLfloat v0, GLfloat v1);
 void			glwProgramUniform2fv								(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 void			glwProgramUniform2i									(GLuint program, GLint location, GLint v0, GLint v1);
@@ -1385,7 +1452,9 @@
 void			glwProgramUniform2ui								(GLuint program, GLint location, GLuint v0, GLuint v1);
 void			glwProgramUniform2uiv								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 void			glwProgramUniform3d									(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+void			glwProgramUniform3dEXT								(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
 void			glwProgramUniform3dv								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+void			glwProgramUniform3dvEXT								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 void			glwProgramUniform3f									(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
 void			glwProgramUniform3fv								(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 void			glwProgramUniform3i									(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
@@ -1393,7 +1462,9 @@
 void			glwProgramUniform3ui								(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
 void			glwProgramUniform3uiv								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 void			glwProgramUniform4d									(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+void			glwProgramUniform4dEXT								(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 void			glwProgramUniform4dv								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+void			glwProgramUniform4dvEXT								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 void			glwProgramUniform4f									(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
 void			glwProgramUniform4fv								(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 void			glwProgramUniform4i									(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
@@ -1401,22 +1472,31 @@
 void			glwProgramUniform4ui								(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 void			glwProgramUniform4uiv								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 void			glwProgramUniformMatrix2dv							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix2dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix2fv							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix2x3dv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix2x3dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix2x3fv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix2x4dv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix2x4dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix2x4fv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix3dv							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix3dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix3fv							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix3x2dv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix3x2dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix3x2fv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix3x4dv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix3x4dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix3x4fv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix4dv							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix4dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix4fv							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix4x2dv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix4x2dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix4x2fv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProgramUniformMatrix4x3dv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+void			glwProgramUniformMatrix4x3dvEXT						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 void			glwProgramUniformMatrix4x3fv						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 void			glwProvokingVertex									(GLenum mode);
 void			glwPushClientAttribDefaultEXT						(GLbitfield mask);
@@ -1458,7 +1538,6 @@
 void			glwTexImage2DMultisample							(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 void			glwTexImage3D										(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
 void			glwTexImage3DMultisample							(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
-void			glwTexImage3DOES									(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
 void			glwTexPageCommitmentARB								(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 void			glwTexParameterIiv									(GLenum target, GLenum pname, const GLint *params);
 void			glwTexParameterIuiv									(GLenum target, GLenum pname, const GLuint *params);
@@ -1467,39 +1546,45 @@
 void			glwTexParameteri									(GLenum target, GLenum pname, GLint param);
 void			glwTexParameteriv									(GLenum target, GLenum pname, const GLint *params);
 void			glwTexStorage1D										(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
-void			glwTexStorage1DEXT									(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 void			glwTexStorage2D										(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
-void			glwTexStorage2DEXT									(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 void			glwTexStorage2DMultisample							(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 void			glwTexStorage3D										(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
-void			glwTexStorage3DEXT									(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 void			glwTexStorage3DMultisample							(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 void			glwTexSubImage1D									(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 void			glwTexSubImage2D									(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
 void			glwTexSubImage3D									(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
-void			glwTexSubImage3DOES									(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
 void			glwTextureBarrier									();
 void			glwTextureBuffer									(GLuint texture, GLenum internalformat, GLuint buffer);
+void			glwTextureBufferEXT									(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
 void			glwTextureBufferRange								(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+void			glwTextureBufferRangeEXT							(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 void			glwTextureImage1DEXT								(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);
 void			glwTextureImage2DEXT								(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
 void			glwTextureImage3DEXT								(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
 void			glwTexturePageCommitmentEXT							(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 void			glwTextureParameterIiv								(GLuint texture, GLenum pname, const GLint *params);
+void			glwTextureParameterIivEXT							(GLuint texture, GLenum target, GLenum pname, const GLint *params);
 void			glwTextureParameterIuiv								(GLuint texture, GLenum pname, const GLuint *params);
+void			glwTextureParameterIuivEXT							(GLuint texture, GLenum target, GLenum pname, const GLuint *params);
 void			glwTextureParameterf								(GLuint texture, GLenum pname, GLfloat param);
+void			glwTextureParameterfEXT								(GLuint texture, GLenum target, GLenum pname, GLfloat param);
 void			glwTextureParameterfv								(GLuint texture, GLenum pname, const GLfloat *param);
+void			glwTextureParameterfvEXT							(GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
 void			glwTextureParameteri								(GLuint texture, GLenum pname, GLint param);
+void			glwTextureParameteriEXT								(GLuint texture, GLenum target, GLenum pname, GLint param);
 void			glwTextureParameteriv								(GLuint texture, GLenum pname, const GLint *param);
+void			glwTextureParameterivEXT							(GLuint texture, GLenum target, GLenum pname, const GLint *params);
 void			glwTextureRenderbufferEXT							(GLuint texture, GLenum target, GLuint renderbuffer);
 void			glwTextureStorage1D									(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
 void			glwTextureStorage1DEXT								(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 void			glwTextureStorage2D									(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 void			glwTextureStorage2DEXT								(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 void			glwTextureStorage2DMultisample						(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+void			glwTextureStorage2DMultisampleEXT					(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 void			glwTextureStorage3D									(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 void			glwTextureStorage3DEXT								(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 void			glwTextureStorage3DMultisample						(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+void			glwTextureStorage3DMultisampleEXT					(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 void			glwTextureSubImage1D								(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 void			glwTextureSubImage1DEXT								(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 void			glwTextureSubImage2D								(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
@@ -1564,6 +1649,7 @@
 void			glwUniformSubroutinesuiv							(GLenum shadertype, GLsizei count, const GLuint *indices);
 GLboolean		glwUnmapBuffer										(GLenum target);
 GLboolean		glwUnmapNamedBuffer									(GLuint buffer);
+GLboolean		glwUnmapNamedBufferEXT								(GLuint buffer);
 void			glwUseProgram										(GLuint program);
 void			glwUseProgramStages									(GLuint pipeline, GLbitfield stages, GLuint program);
 void			glwValidateProgram									(GLuint program);
diff --git a/framework/opengl/wrapper/glwEnums.inl b/framework/opengl/wrapper/glwEnums.inl
index 6048c6b..bb5d4b9 100644
--- a/framework/opengl/wrapper/glwEnums.inl
+++ b/framework/opengl/wrapper/glwEnums.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 #define GL_DEPTH_BUFFER_BIT												0x00000100
 #define GL_STENCIL_BUFFER_BIT											0x00000400
diff --git a/framework/opengl/wrapper/glwFunctionTypes.inl b/framework/opengl/wrapper/glwFunctionTypes.inl
index cf1f98b..077f8f5 100644
--- a/framework/opengl/wrapper/glwFunctionTypes.inl
+++ b/framework/opengl/wrapper/glwFunctionTypes.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 typedef GLW_APICALL void			(GLW_APIENTRY* glActiveShaderProgramFunc)								(GLuint pipeline, GLuint program);
 typedef GLW_APICALL void			(GLW_APIENTRY* glActiveTextureFunc)										(GLenum texture);
@@ -51,6 +51,7 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glBufferSubDataFunc)										(GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
 typedef GLW_APICALL GLenum			(GLW_APIENTRY* glCheckFramebufferStatusFunc)							(GLenum target);
 typedef GLW_APICALL GLenum			(GLW_APIENTRY* glCheckNamedFramebufferStatusFunc)						(GLuint framebuffer, GLenum target);
+typedef GLW_APICALL GLenum			(GLW_APIENTRY* glCheckNamedFramebufferStatusEXTFunc)					(GLuint framebuffer, GLenum target);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClampColorFunc)										(GLenum target, GLenum clamp);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearFunc)												(GLbitfield mask);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearBufferDataFunc)									(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
@@ -63,7 +64,9 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearDepthFunc)										(GLdouble depth);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearDepthfFunc)										(GLfloat d);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedBufferDataFunc)								(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
+typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedBufferDataEXTFunc)							(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedBufferSubDataFunc)							(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
+typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedBufferSubDataEXTFunc)						(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedFramebufferfiFunc)							(GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedFramebufferfvFunc)							(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glClearNamedFramebufferivFunc)							(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value);
@@ -86,11 +89,9 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexImage1DFunc)								(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexImage2DFunc)								(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexImage3DFunc)								(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
-typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexImage3DOESFunc)							(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexSubImage1DFunc)							(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexSubImage2DFunc)							(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexSubImage3DFunc)							(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
-typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTexSubImage3DOESFunc)						(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTextureImage1DEXTFunc)						(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTextureImage2DEXTFunc)						(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCompressedTextureImage3DEXTFunc)						(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits);
@@ -113,7 +114,6 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTexSubImage1DFunc)									(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTexSubImage2DFunc)									(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTexSubImage3DFunc)									(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTexSubImage3DOESFunc)								(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTextureImage1DEXTFunc)								(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTextureImage2DEXTFunc)								(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
 typedef GLW_APICALL void			(GLW_APIENTRY* glCopyTextureSubImage1DFunc)								(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
@@ -163,8 +163,8 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableFunc)											(GLenum cap);
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableClientStateIndexedEXTFunc)						(GLenum array, GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableClientStateiEXTFunc)							(GLenum array, GLuint index);
-typedef GLW_APICALL void			(GLW_APIENTRY* glDisableIndexedEXTFunc)									(GLenum target, GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableVertexArrayAttribFunc)							(GLuint vaobj, GLuint index);
+typedef GLW_APICALL void			(GLW_APIENTRY* glDisableVertexArrayAttribEXTFunc)						(GLuint vaobj, GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableVertexArrayEXTFunc)								(GLuint vaobj, GLenum array);
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableVertexAttribArrayFunc)							(GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glDisableiFunc)											(GLenum target, GLuint index);
@@ -194,8 +194,8 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableFunc)											(GLenum cap);
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableClientStateIndexedEXTFunc)						(GLenum array, GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableClientStateiEXTFunc)								(GLenum array, GLuint index);
-typedef GLW_APICALL void			(GLW_APIENTRY* glEnableIndexedEXTFunc)									(GLenum target, GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableVertexArrayAttribFunc)							(GLuint vaobj, GLuint index);
+typedef GLW_APICALL void			(GLW_APIENTRY* glEnableVertexArrayAttribEXTFunc)						(GLuint vaobj, GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableVertexArrayEXTFunc)								(GLuint vaobj, GLenum array);
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableVertexAttribArrayFunc)							(GLuint index);
 typedef GLW_APICALL void			(GLW_APIENTRY* glEnableiFunc)											(GLenum target, GLuint index);
@@ -208,6 +208,7 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glFlushFunc)												(void);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFlushMappedBufferRangeFunc)							(GLenum target, GLintptr offset, GLsizeiptr length);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFlushMappedNamedBufferRangeFunc)						(GLuint buffer, GLintptr offset, GLsizeiptr length);
+typedef GLW_APICALL void			(GLW_APIENTRY* glFlushMappedNamedBufferRangeEXTFunc)					(GLuint buffer, GLintptr offset, GLsizeiptr length);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferDrawBufferEXTFunc)							(GLuint framebuffer, GLenum mode);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferDrawBuffersEXTFunc)							(GLuint framebuffer, GLsizei n, const GLenum *bufs);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferParameteriFunc)								(GLenum target, GLenum pname, GLint param);
@@ -217,7 +218,6 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferTexture1DFunc)								(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferTexture2DFunc)								(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferTexture3DFunc)								(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
-typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferTexture3DOESFunc)							(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFramebufferTextureLayerFunc)							(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
 typedef GLW_APICALL void			(GLW_APIENTRY* glFrontFaceFunc)											(GLenum mode);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGenBuffersFunc)										(GLsizei n, GLuint *buffers);
@@ -232,6 +232,7 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glGenerateMipmapFunc)									(GLenum target);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGenerateMultiTexMipmapEXTFunc)							(GLenum texunit, GLenum target);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGenerateTextureMipmapFunc)								(GLuint texture);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGenerateTextureMipmapEXTFunc)							(GLuint texture, GLenum target);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetActiveAtomicCounterBufferivFunc)					(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetActiveAttribFunc)									(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetActiveSubroutineNameFunc)							(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name);
@@ -244,7 +245,6 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetActiveUniformsivFunc)								(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetAttachedShadersFunc)								(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
 typedef GLW_APICALL GLint			(GLW_APIENTRY* glGetAttribLocationFunc)									(GLuint program, const GLchar *name);
-typedef GLW_APICALL void			(GLW_APIENTRY* glGetBooleanIndexedvEXTFunc)								(GLenum target, GLuint index, GLboolean *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetBooleani_vFunc)										(GLenum target, GLuint index, GLboolean *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetBooleanvFunc)										(GLenum pname, GLboolean *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetBufferParameteri64vFunc)							(GLenum target, GLenum pname, GLint64 *params);
@@ -254,23 +254,22 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetCompressedMultiTexImageEXTFunc)						(GLenum texunit, GLenum target, GLint lod, void *img);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetCompressedTexImageFunc)								(GLenum target, GLint level, void *img);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetCompressedTextureImageFunc)							(GLuint texture, GLint level, GLsizei bufSize, void *pixels);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetCompressedTextureImageEXTFunc)						(GLuint texture, GLenum target, GLint lod, void *img);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetCompressedTextureSubImageFunc)						(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels);
 typedef GLW_APICALL GLuint			(GLW_APIENTRY* glGetDebugMessageLogFunc)								(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
-typedef GLW_APICALL void			(GLW_APIENTRY* glGetDoubleIndexedvEXTFunc)								(GLenum target, GLuint index, GLdouble *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetDoublei_vFunc)										(GLenum target, GLuint index, GLdouble *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetDoublevFunc)										(GLenum pname, GLdouble *data);
 typedef GLW_APICALL GLenum			(GLW_APIENTRY* glGetErrorFunc)											(void);
-typedef GLW_APICALL void			(GLW_APIENTRY* glGetFloatIndexedvEXTFunc)								(GLenum target, GLuint index, GLfloat *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetFloati_vFunc)										(GLenum target, GLuint index, GLfloat *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetFloatvFunc)											(GLenum pname, GLfloat *data);
 typedef GLW_APICALL GLint			(GLW_APIENTRY* glGetFragDataIndexFunc)									(GLuint program, const GLchar *name);
 typedef GLW_APICALL GLint			(GLW_APIENTRY* glGetFragDataLocationFunc)								(GLuint program, const GLchar *name);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetFramebufferAttachmentParameterivFunc)				(GLenum target, GLenum attachment, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetFramebufferParameterivFunc)							(GLenum target, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetFramebufferParameterivEXTFunc)						(GLuint framebuffer, GLenum pname, GLint *params);
 typedef GLW_APICALL GLenum			(GLW_APIENTRY* glGetGraphicsResetStatusFunc)							(void);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetInteger64i_vFunc)									(GLenum target, GLuint index, GLint64 *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetInteger64vFunc)										(GLenum pname, GLint64 *data);
-typedef GLW_APICALL void			(GLW_APIENTRY* glGetIntegerIndexedvEXTFunc)								(GLenum target, GLuint index, GLint *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetIntegeri_vFunc)										(GLenum target, GLuint index, GLint *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetIntegervFunc)										(GLenum pname, GLint *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetInternalformatSampleivNVFunc)						(GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei bufSize, GLint *params);
@@ -291,10 +290,15 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetMultisamplefvFunc)									(GLenum pname, GLuint index, GLfloat *val);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferParameteri64vFunc)						(GLuint buffer, GLenum pname, GLint64 *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferParameterivFunc)							(GLuint buffer, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferParameterivEXTFunc)						(GLuint buffer, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferPointervFunc)							(GLuint buffer, GLenum pname, void **params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferPointervEXTFunc)							(GLuint buffer, GLenum pname, void **params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferSubDataFunc)								(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedBufferSubDataEXTFunc)							(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedFramebufferAttachmentParameterivFunc)			(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedFramebufferAttachmentParameterivEXTFunc)		(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedFramebufferParameterivFunc)					(GLuint framebuffer, GLenum pname, GLint *param);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedFramebufferParameterivEXTFunc)					(GLuint framebuffer, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedProgramLocalParameterIivEXTFunc)				(GLuint program, GLenum target, GLuint index, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedProgramLocalParameterIuivEXTFunc)				(GLuint program, GLenum target, GLuint index, GLuint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedProgramLocalParameterdvEXTFunc)				(GLuint program, GLenum target, GLuint index, GLdouble *params);
@@ -302,6 +306,7 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedProgramStringEXTFunc)							(GLuint program, GLenum target, GLenum pname, void *string);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedProgramivEXTFunc)								(GLuint program, GLenum target, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedRenderbufferParameterivFunc)					(GLuint renderbuffer, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetNamedRenderbufferParameterivEXTFunc)				(GLuint renderbuffer, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetObjectLabelFunc)									(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetObjectPtrLabelFunc)									(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetPointerIndexedvEXTFunc)								(GLenum target, GLuint index, void **data);
@@ -351,12 +356,19 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTexParameterfvFunc)									(GLenum target, GLenum pname, GLfloat *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTexParameterivFunc)									(GLenum target, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureImageFunc)									(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureImageEXTFunc)								(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureLevelParameterfvFunc)						(GLuint texture, GLint level, GLenum pname, GLfloat *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureLevelParameterfvEXTFunc)						(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureLevelParameterivFunc)						(GLuint texture, GLint level, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureLevelParameterivEXTFunc)						(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterIivFunc)							(GLuint texture, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterIivEXTFunc)							(GLuint texture, GLenum target, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterIuivFunc)							(GLuint texture, GLenum pname, GLuint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterIuivEXTFunc)						(GLuint texture, GLenum target, GLenum pname, GLuint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterfvFunc)								(GLuint texture, GLenum pname, GLfloat *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterfvEXTFunc)							(GLuint texture, GLenum target, GLenum pname, GLfloat *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterivFunc)								(GLuint texture, GLenum pname, GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureParameterivEXTFunc)							(GLuint texture, GLenum target, GLenum pname, GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTextureSubImageFunc)								(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTransformFeedbackVaryingFunc)						(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
 typedef GLW_APICALL void			(GLW_APIENTRY* glGetTransformFeedbacki64_vFunc)							(GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
@@ -402,7 +414,6 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glInvalidateTexSubImageFunc)								(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glIsBufferFunc)											(GLuint buffer);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glIsEnabledFunc)											(GLenum cap);
-typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glIsEnabledIndexedEXTFunc)								(GLenum target, GLuint index);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glIsEnablediFunc)										(GLenum target, GLuint index);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glIsFramebufferFunc)										(GLuint framebuffer);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glIsProgramFunc)											(GLuint program);
@@ -421,7 +432,9 @@
 typedef GLW_APICALL void *			(GLW_APIENTRY* glMapBufferFunc)											(GLenum target, GLenum access);
 typedef GLW_APICALL void *			(GLW_APIENTRY* glMapBufferRangeFunc)									(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
 typedef GLW_APICALL void *			(GLW_APIENTRY* glMapNamedBufferFunc)									(GLuint buffer, GLenum access);
+typedef GLW_APICALL void *			(GLW_APIENTRY* glMapNamedBufferEXTFunc)									(GLuint buffer, GLenum access);
 typedef GLW_APICALL void *			(GLW_APIENTRY* glMapNamedBufferRangeFunc)								(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
+typedef GLW_APICALL void *			(GLW_APIENTRY* glMapNamedBufferRangeEXTFunc)							(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
 typedef GLW_APICALL void			(GLW_APIENTRY* glMatrixFrustumEXTFunc)									(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
 typedef GLW_APICALL void			(GLW_APIENTRY* glMatrixLoadIdentityEXTFunc)								(GLenum mode);
 typedef GLW_APICALL void			(GLW_APIENTRY* glMatrixLoadTransposedEXTFunc)							(GLenum mode, const GLdouble *m);
@@ -478,6 +491,7 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glMultiTexSubImage2DEXTFunc)								(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glMultiTexSubImage3DEXTFunc)								(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedBufferDataFunc)									(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedBufferDataEXTFunc)								(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedBufferPageCommitmentARBFunc)						(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedBufferPageCommitmentEXTFunc)						(GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedBufferStorageFunc)								(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
@@ -486,14 +500,18 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferDrawBufferFunc)						(GLuint framebuffer, GLenum buf);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferDrawBuffersFunc)						(GLuint framebuffer, GLsizei n, const GLenum *bufs);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferParameteriFunc)						(GLuint framebuffer, GLenum pname, GLint param);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferParameteriEXTFunc)						(GLuint framebuffer, GLenum pname, GLint param);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferReadBufferFunc)						(GLuint framebuffer, GLenum src);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferRenderbufferFunc)						(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferRenderbufferEXTFunc)					(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTextureFunc)							(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTexture1DEXTFunc)						(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTexture2DEXTFunc)						(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTexture3DEXTFunc)						(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTextureEXTFunc)						(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTextureFaceEXTFunc)					(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTextureLayerFunc)						(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedFramebufferTextureLayerEXTFunc)					(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedProgramLocalParameter4dEXTFunc)					(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedProgramLocalParameter4dvEXTFunc)					(GLuint program, GLenum target, GLuint index, const GLdouble *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedProgramLocalParameter4fEXTFunc)					(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
@@ -507,8 +525,10 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedProgramLocalParametersI4uivEXTFunc)				(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedProgramStringEXTFunc)								(GLuint program, GLenum target, GLenum format, GLsizei len, const void *string);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedRenderbufferStorageFunc)							(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedRenderbufferStorageEXTFunc)						(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedRenderbufferStorageMultisampleFunc)				(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glNamedRenderbufferStorageMultisampleCoverageEXTFunc)	(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
+typedef GLW_APICALL void			(GLW_APIENTRY* glNamedRenderbufferStorageMultisampleEXTFunc)			(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glObjectLabelFunc)										(GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
 typedef GLW_APICALL void			(GLW_APIENTRY* glObjectPtrLabelFunc)									(const void *ptr, GLsizei length, const GLchar *label);
 typedef GLW_APICALL void			(GLW_APIENTRY* glPatchParameterfvFunc)									(GLenum pname, const GLfloat *values);
@@ -530,7 +550,9 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramBinaryFunc)										(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramParameteriFunc)									(GLuint program, GLenum pname, GLint value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1dFunc)									(GLuint program, GLint location, GLdouble v0);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1dEXTFunc)								(GLuint program, GLint location, GLdouble x);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1dvFunc)									(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1dvEXTFunc)								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1fFunc)									(GLuint program, GLint location, GLfloat v0);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1fvFunc)									(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1iFunc)									(GLuint program, GLint location, GLint v0);
@@ -538,7 +560,9 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1uiFunc)									(GLuint program, GLint location, GLuint v0);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform1uivFunc)								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2dFunc)									(GLuint program, GLint location, GLdouble v0, GLdouble v1);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2dEXTFunc)								(GLuint program, GLint location, GLdouble x, GLdouble y);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2dvFunc)									(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2dvEXTFunc)								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2fFunc)									(GLuint program, GLint location, GLfloat v0, GLfloat v1);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2fvFunc)									(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2iFunc)									(GLuint program, GLint location, GLint v0, GLint v1);
@@ -546,7 +570,9 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2uiFunc)									(GLuint program, GLint location, GLuint v0, GLuint v1);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform2uivFunc)								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3dFunc)									(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3dEXTFunc)								(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3dvFunc)									(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3dvEXTFunc)								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3fFunc)									(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3fvFunc)									(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3iFunc)									(GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
@@ -554,7 +580,9 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3uiFunc)									(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform3uivFunc)								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4dFunc)									(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4dEXTFunc)								(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4dvFunc)									(GLuint program, GLint location, GLsizei count, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4dvEXTFunc)								(GLuint program, GLint location, GLsizei count, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4fFunc)									(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4fvFunc)									(GLuint program, GLint location, GLsizei count, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4iFunc)									(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
@@ -562,22 +590,31 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4uiFunc)									(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniform4uivFunc)								(GLuint program, GLint location, GLsizei count, const GLuint *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2x3dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2x3dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2x3fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2x4dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2x4dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix2x4fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3x2dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3x2dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3x2fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3x4dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3x4dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix3x4fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4x2dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4x2dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4x2fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4x3dvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
+typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4x3dvEXTFunc)						(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProgramUniformMatrix4x3fvFunc)							(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 typedef GLW_APICALL void			(GLW_APIENTRY* glProvokingVertexFunc)									(GLenum mode);
 typedef GLW_APICALL void			(GLW_APIENTRY* glPushClientAttribDefaultEXTFunc)						(GLbitfield mask);
@@ -619,7 +656,6 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexImage2DMultisampleFunc)								(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexImage3DFunc)										(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexImage3DMultisampleFunc)								(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
-typedef GLW_APICALL void			(GLW_APIENTRY* glTexImage3DOESFunc)										(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexPageCommitmentARBFunc)								(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexParameterIivFunc)									(GLenum target, GLenum pname, const GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexParameterIuivFunc)									(GLenum target, GLenum pname, const GLuint *params);
@@ -628,39 +664,45 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexParameteriFunc)										(GLenum target, GLenum pname, GLint param);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexParameterivFunc)									(GLenum target, GLenum pname, const GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage1DFunc)										(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
-typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage1DEXTFunc)									(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage2DFunc)										(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
-typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage2DEXTFunc)									(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage2DMultisampleFunc)							(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage3DFunc)										(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
-typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage3DEXTFunc)									(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexStorage3DMultisampleFunc)							(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexSubImage1DFunc)										(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexSubImage2DFunc)										(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexSubImage3DFunc)										(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
-typedef GLW_APICALL void			(GLW_APIENTRY* glTexSubImage3DOESFunc)									(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureBarrierFunc)									(void);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureBufferFunc)										(GLuint texture, GLenum internalformat, GLuint buffer);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureBufferEXTFunc)									(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureBufferRangeFunc)								(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureBufferRangeEXTFunc)								(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureImage1DEXTFunc)									(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureImage2DEXTFunc)									(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureImage3DEXTFunc)									(GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTexturePageCommitmentEXTFunc)							(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterIivFunc)								(GLuint texture, GLenum pname, const GLint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterIivEXTFunc)							(GLuint texture, GLenum target, GLenum pname, const GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterIuivFunc)								(GLuint texture, GLenum pname, const GLuint *params);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterIuivEXTFunc)							(GLuint texture, GLenum target, GLenum pname, const GLuint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterfFunc)									(GLuint texture, GLenum pname, GLfloat param);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterfEXTFunc)								(GLuint texture, GLenum target, GLenum pname, GLfloat param);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterfvFunc)								(GLuint texture, GLenum pname, const GLfloat *param);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterfvEXTFunc)								(GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameteriFunc)									(GLuint texture, GLenum pname, GLint param);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameteriEXTFunc)								(GLuint texture, GLenum target, GLenum pname, GLint param);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterivFunc)								(GLuint texture, GLenum pname, const GLint *param);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureParameterivEXTFunc)								(GLuint texture, GLenum target, GLenum pname, const GLint *params);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureRenderbufferEXTFunc)							(GLuint texture, GLenum target, GLuint renderbuffer);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage1DFunc)									(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage1DEXTFunc)								(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage2DFunc)									(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage2DEXTFunc)								(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage2DMultisampleFunc)						(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage2DMultisampleEXTFunc)					(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage3DFunc)									(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage3DEXTFunc)								(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage3DMultisampleFunc)						(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
+typedef GLW_APICALL void			(GLW_APIENTRY* glTextureStorage3DMultisampleEXTFunc)					(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureSubImage1DFunc)									(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureSubImage1DEXTFunc)								(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
 typedef GLW_APICALL void			(GLW_APIENTRY* glTextureSubImage2DFunc)									(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
@@ -725,6 +767,7 @@
 typedef GLW_APICALL void			(GLW_APIENTRY* glUniformSubroutinesuivFunc)								(GLenum shadertype, GLsizei count, const GLuint *indices);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glUnmapBufferFunc)										(GLenum target);
 typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glUnmapNamedBufferFunc)									(GLuint buffer);
+typedef GLW_APICALL GLboolean		(GLW_APIENTRY* glUnmapNamedBufferEXTFunc)								(GLuint buffer);
 typedef GLW_APICALL void			(GLW_APIENTRY* glUseProgramFunc)										(GLuint program);
 typedef GLW_APICALL void			(GLW_APIENTRY* glUseProgramStagesFunc)									(GLuint pipeline, GLbitfield stages, GLuint program);
 typedef GLW_APICALL void			(GLW_APIENTRY* glValidateProgramFunc)									(GLuint program);
diff --git a/framework/opengl/wrapper/glwFunctions.inl b/framework/opengl/wrapper/glwFunctions.inl
index 68f7df3..4b61f1d 100644
--- a/framework/opengl/wrapper/glwFunctions.inl
+++ b/framework/opengl/wrapper/glwFunctions.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 glActiveShaderProgramFunc								activeShaderProgram;
 glActiveTextureFunc										activeTexture;
@@ -51,6 +51,7 @@
 glBufferSubDataFunc										bufferSubData;
 glCheckFramebufferStatusFunc							checkFramebufferStatus;
 glCheckNamedFramebufferStatusFunc						checkNamedFramebufferStatus;
+glCheckNamedFramebufferStatusEXTFunc					checkNamedFramebufferStatusEXT;
 glClampColorFunc										clampColor;
 glClearFunc												clear;
 glClearBufferDataFunc									clearBufferData;
@@ -63,7 +64,9 @@
 glClearDepthFunc										clearDepth;
 glClearDepthfFunc										clearDepthf;
 glClearNamedBufferDataFunc								clearNamedBufferData;
+glClearNamedBufferDataEXTFunc							clearNamedBufferDataEXT;
 glClearNamedBufferSubDataFunc							clearNamedBufferSubData;
+glClearNamedBufferSubDataEXTFunc						clearNamedBufferSubDataEXT;
 glClearNamedFramebufferfiFunc							clearNamedFramebufferfi;
 glClearNamedFramebufferfvFunc							clearNamedFramebufferfv;
 glClearNamedFramebufferivFunc							clearNamedFramebufferiv;
@@ -86,11 +89,9 @@
 glCompressedTexImage1DFunc								compressedTexImage1D;
 glCompressedTexImage2DFunc								compressedTexImage2D;
 glCompressedTexImage3DFunc								compressedTexImage3D;
-glCompressedTexImage3DOESFunc							compressedTexImage3DOES;
 glCompressedTexSubImage1DFunc							compressedTexSubImage1D;
 glCompressedTexSubImage2DFunc							compressedTexSubImage2D;
 glCompressedTexSubImage3DFunc							compressedTexSubImage3D;
-glCompressedTexSubImage3DOESFunc						compressedTexSubImage3DOES;
 glCompressedTextureImage1DEXTFunc						compressedTextureImage1DEXT;
 glCompressedTextureImage2DEXTFunc						compressedTextureImage2DEXT;
 glCompressedTextureImage3DEXTFunc						compressedTextureImage3DEXT;
@@ -113,7 +114,6 @@
 glCopyTexSubImage1DFunc									copyTexSubImage1D;
 glCopyTexSubImage2DFunc									copyTexSubImage2D;
 glCopyTexSubImage3DFunc									copyTexSubImage3D;
-glCopyTexSubImage3DOESFunc								copyTexSubImage3DOES;
 glCopyTextureImage1DEXTFunc								copyTextureImage1DEXT;
 glCopyTextureImage2DEXTFunc								copyTextureImage2DEXT;
 glCopyTextureSubImage1DFunc								copyTextureSubImage1D;
@@ -163,8 +163,8 @@
 glDisableFunc											disable;
 glDisableClientStateIndexedEXTFunc						disableClientStateIndexedEXT;
 glDisableClientStateiEXTFunc							disableClientStateiEXT;
-glDisableIndexedEXTFunc									disableIndexedEXT;
 glDisableVertexArrayAttribFunc							disableVertexArrayAttrib;
+glDisableVertexArrayAttribEXTFunc						disableVertexArrayAttribEXT;
 glDisableVertexArrayEXTFunc								disableVertexArrayEXT;
 glDisableVertexAttribArrayFunc							disableVertexAttribArray;
 glDisableiFunc											disablei;
@@ -194,8 +194,8 @@
 glEnableFunc											enable;
 glEnableClientStateIndexedEXTFunc						enableClientStateIndexedEXT;
 glEnableClientStateiEXTFunc								enableClientStateiEXT;
-glEnableIndexedEXTFunc									enableIndexedEXT;
 glEnableVertexArrayAttribFunc							enableVertexArrayAttrib;
+glEnableVertexArrayAttribEXTFunc						enableVertexArrayAttribEXT;
 glEnableVertexArrayEXTFunc								enableVertexArrayEXT;
 glEnableVertexAttribArrayFunc							enableVertexAttribArray;
 glEnableiFunc											enablei;
@@ -208,6 +208,7 @@
 glFlushFunc												flush;
 glFlushMappedBufferRangeFunc							flushMappedBufferRange;
 glFlushMappedNamedBufferRangeFunc						flushMappedNamedBufferRange;
+glFlushMappedNamedBufferRangeEXTFunc					flushMappedNamedBufferRangeEXT;
 glFramebufferDrawBufferEXTFunc							framebufferDrawBufferEXT;
 glFramebufferDrawBuffersEXTFunc							framebufferDrawBuffersEXT;
 glFramebufferParameteriFunc								framebufferParameteri;
@@ -217,7 +218,6 @@
 glFramebufferTexture1DFunc								framebufferTexture1D;
 glFramebufferTexture2DFunc								framebufferTexture2D;
 glFramebufferTexture3DFunc								framebufferTexture3D;
-glFramebufferTexture3DOESFunc							framebufferTexture3DOES;
 glFramebufferTextureLayerFunc							framebufferTextureLayer;
 glFrontFaceFunc											frontFace;
 glGenBuffersFunc										genBuffers;
@@ -232,6 +232,7 @@
 glGenerateMipmapFunc									generateMipmap;
 glGenerateMultiTexMipmapEXTFunc							generateMultiTexMipmapEXT;
 glGenerateTextureMipmapFunc								generateTextureMipmap;
+glGenerateTextureMipmapEXTFunc							generateTextureMipmapEXT;
 glGetActiveAtomicCounterBufferivFunc					getActiveAtomicCounterBufferiv;
 glGetActiveAttribFunc									getActiveAttrib;
 glGetActiveSubroutineNameFunc							getActiveSubroutineName;
@@ -244,7 +245,6 @@
 glGetActiveUniformsivFunc								getActiveUniformsiv;
 glGetAttachedShadersFunc								getAttachedShaders;
 glGetAttribLocationFunc									getAttribLocation;
-glGetBooleanIndexedvEXTFunc								getBooleanIndexedvEXT;
 glGetBooleani_vFunc										getBooleani_v;
 glGetBooleanvFunc										getBooleanv;
 glGetBufferParameteri64vFunc							getBufferParameteri64v;
@@ -254,23 +254,22 @@
 glGetCompressedMultiTexImageEXTFunc						getCompressedMultiTexImageEXT;
 glGetCompressedTexImageFunc								getCompressedTexImage;
 glGetCompressedTextureImageFunc							getCompressedTextureImage;
+glGetCompressedTextureImageEXTFunc						getCompressedTextureImageEXT;
 glGetCompressedTextureSubImageFunc						getCompressedTextureSubImage;
 glGetDebugMessageLogFunc								getDebugMessageLog;
-glGetDoubleIndexedvEXTFunc								getDoubleIndexedvEXT;
 glGetDoublei_vFunc										getDoublei_v;
 glGetDoublevFunc										getDoublev;
 glGetErrorFunc											getError;
-glGetFloatIndexedvEXTFunc								getFloatIndexedvEXT;
 glGetFloati_vFunc										getFloati_v;
 glGetFloatvFunc											getFloatv;
 glGetFragDataIndexFunc									getFragDataIndex;
 glGetFragDataLocationFunc								getFragDataLocation;
 glGetFramebufferAttachmentParameterivFunc				getFramebufferAttachmentParameteriv;
 glGetFramebufferParameterivFunc							getFramebufferParameteriv;
+glGetFramebufferParameterivEXTFunc						getFramebufferParameterivEXT;
 glGetGraphicsResetStatusFunc							getGraphicsResetStatus;
 glGetInteger64i_vFunc									getInteger64i_v;
 glGetInteger64vFunc										getInteger64v;
-glGetIntegerIndexedvEXTFunc								getIntegerIndexedvEXT;
 glGetIntegeri_vFunc										getIntegeri_v;
 glGetIntegervFunc										getIntegerv;
 glGetInternalformatSampleivNVFunc						getInternalformatSampleivNV;
@@ -291,10 +290,15 @@
 glGetMultisamplefvFunc									getMultisamplefv;
 glGetNamedBufferParameteri64vFunc						getNamedBufferParameteri64v;
 glGetNamedBufferParameterivFunc							getNamedBufferParameteriv;
+glGetNamedBufferParameterivEXTFunc						getNamedBufferParameterivEXT;
 glGetNamedBufferPointervFunc							getNamedBufferPointerv;
+glGetNamedBufferPointervEXTFunc							getNamedBufferPointervEXT;
 glGetNamedBufferSubDataFunc								getNamedBufferSubData;
+glGetNamedBufferSubDataEXTFunc							getNamedBufferSubDataEXT;
 glGetNamedFramebufferAttachmentParameterivFunc			getNamedFramebufferAttachmentParameteriv;
+glGetNamedFramebufferAttachmentParameterivEXTFunc		getNamedFramebufferAttachmentParameterivEXT;
 glGetNamedFramebufferParameterivFunc					getNamedFramebufferParameteriv;
+glGetNamedFramebufferParameterivEXTFunc					getNamedFramebufferParameterivEXT;
 glGetNamedProgramLocalParameterIivEXTFunc				getNamedProgramLocalParameterIivEXT;
 glGetNamedProgramLocalParameterIuivEXTFunc				getNamedProgramLocalParameterIuivEXT;
 glGetNamedProgramLocalParameterdvEXTFunc				getNamedProgramLocalParameterdvEXT;
@@ -302,6 +306,7 @@
 glGetNamedProgramStringEXTFunc							getNamedProgramStringEXT;
 glGetNamedProgramivEXTFunc								getNamedProgramivEXT;
 glGetNamedRenderbufferParameterivFunc					getNamedRenderbufferParameteriv;
+glGetNamedRenderbufferParameterivEXTFunc				getNamedRenderbufferParameterivEXT;
 glGetObjectLabelFunc									getObjectLabel;
 glGetObjectPtrLabelFunc									getObjectPtrLabel;
 glGetPointerIndexedvEXTFunc								getPointerIndexedvEXT;
@@ -351,12 +356,19 @@
 glGetTexParameterfvFunc									getTexParameterfv;
 glGetTexParameterivFunc									getTexParameteriv;
 glGetTextureImageFunc									getTextureImage;
+glGetTextureImageEXTFunc								getTextureImageEXT;
 glGetTextureLevelParameterfvFunc						getTextureLevelParameterfv;
+glGetTextureLevelParameterfvEXTFunc						getTextureLevelParameterfvEXT;
 glGetTextureLevelParameterivFunc						getTextureLevelParameteriv;
+glGetTextureLevelParameterivEXTFunc						getTextureLevelParameterivEXT;
 glGetTextureParameterIivFunc							getTextureParameterIiv;
+glGetTextureParameterIivEXTFunc							getTextureParameterIivEXT;
 glGetTextureParameterIuivFunc							getTextureParameterIuiv;
+glGetTextureParameterIuivEXTFunc						getTextureParameterIuivEXT;
 glGetTextureParameterfvFunc								getTextureParameterfv;
+glGetTextureParameterfvEXTFunc							getTextureParameterfvEXT;
 glGetTextureParameterivFunc								getTextureParameteriv;
+glGetTextureParameterivEXTFunc							getTextureParameterivEXT;
 glGetTextureSubImageFunc								getTextureSubImage;
 glGetTransformFeedbackVaryingFunc						getTransformFeedbackVarying;
 glGetTransformFeedbacki64_vFunc							getTransformFeedbacki64_v;
@@ -402,7 +414,6 @@
 glInvalidateTexSubImageFunc								invalidateTexSubImage;
 glIsBufferFunc											isBuffer;
 glIsEnabledFunc											isEnabled;
-glIsEnabledIndexedEXTFunc								isEnabledIndexedEXT;
 glIsEnablediFunc										isEnabledi;
 glIsFramebufferFunc										isFramebuffer;
 glIsProgramFunc											isProgram;
@@ -421,7 +432,9 @@
 glMapBufferFunc											mapBuffer;
 glMapBufferRangeFunc									mapBufferRange;
 glMapNamedBufferFunc									mapNamedBuffer;
+glMapNamedBufferEXTFunc									mapNamedBufferEXT;
 glMapNamedBufferRangeFunc								mapNamedBufferRange;
+glMapNamedBufferRangeEXTFunc							mapNamedBufferRangeEXT;
 glMatrixFrustumEXTFunc									matrixFrustumEXT;
 glMatrixLoadIdentityEXTFunc								matrixLoadIdentityEXT;
 glMatrixLoadTransposedEXTFunc							matrixLoadTransposedEXT;
@@ -478,6 +491,7 @@
 glMultiTexSubImage2DEXTFunc								multiTexSubImage2DEXT;
 glMultiTexSubImage3DEXTFunc								multiTexSubImage3DEXT;
 glNamedBufferDataFunc									namedBufferData;
+glNamedBufferDataEXTFunc								namedBufferDataEXT;
 glNamedBufferPageCommitmentARBFunc						namedBufferPageCommitmentARB;
 glNamedBufferPageCommitmentEXTFunc						namedBufferPageCommitmentEXT;
 glNamedBufferStorageFunc								namedBufferStorage;
@@ -486,14 +500,18 @@
 glNamedFramebufferDrawBufferFunc						namedFramebufferDrawBuffer;
 glNamedFramebufferDrawBuffersFunc						namedFramebufferDrawBuffers;
 glNamedFramebufferParameteriFunc						namedFramebufferParameteri;
+glNamedFramebufferParameteriEXTFunc						namedFramebufferParameteriEXT;
 glNamedFramebufferReadBufferFunc						namedFramebufferReadBuffer;
 glNamedFramebufferRenderbufferFunc						namedFramebufferRenderbuffer;
+glNamedFramebufferRenderbufferEXTFunc					namedFramebufferRenderbufferEXT;
 glNamedFramebufferTextureFunc							namedFramebufferTexture;
 glNamedFramebufferTexture1DEXTFunc						namedFramebufferTexture1DEXT;
 glNamedFramebufferTexture2DEXTFunc						namedFramebufferTexture2DEXT;
 glNamedFramebufferTexture3DEXTFunc						namedFramebufferTexture3DEXT;
+glNamedFramebufferTextureEXTFunc						namedFramebufferTextureEXT;
 glNamedFramebufferTextureFaceEXTFunc					namedFramebufferTextureFaceEXT;
 glNamedFramebufferTextureLayerFunc						namedFramebufferTextureLayer;
+glNamedFramebufferTextureLayerEXTFunc					namedFramebufferTextureLayerEXT;
 glNamedProgramLocalParameter4dEXTFunc					namedProgramLocalParameter4dEXT;
 glNamedProgramLocalParameter4dvEXTFunc					namedProgramLocalParameter4dvEXT;
 glNamedProgramLocalParameter4fEXTFunc					namedProgramLocalParameter4fEXT;
@@ -507,8 +525,10 @@
 glNamedProgramLocalParametersI4uivEXTFunc				namedProgramLocalParametersI4uivEXT;
 glNamedProgramStringEXTFunc								namedProgramStringEXT;
 glNamedRenderbufferStorageFunc							namedRenderbufferStorage;
+glNamedRenderbufferStorageEXTFunc						namedRenderbufferStorageEXT;
 glNamedRenderbufferStorageMultisampleFunc				namedRenderbufferStorageMultisample;
 glNamedRenderbufferStorageMultisampleCoverageEXTFunc	namedRenderbufferStorageMultisampleCoverageEXT;
+glNamedRenderbufferStorageMultisampleEXTFunc			namedRenderbufferStorageMultisampleEXT;
 glObjectLabelFunc										objectLabel;
 glObjectPtrLabelFunc									objectPtrLabel;
 glPatchParameterfvFunc									patchParameterfv;
@@ -530,7 +550,9 @@
 glProgramBinaryFunc										programBinary;
 glProgramParameteriFunc									programParameteri;
 glProgramUniform1dFunc									programUniform1d;
+glProgramUniform1dEXTFunc								programUniform1dEXT;
 glProgramUniform1dvFunc									programUniform1dv;
+glProgramUniform1dvEXTFunc								programUniform1dvEXT;
 glProgramUniform1fFunc									programUniform1f;
 glProgramUniform1fvFunc									programUniform1fv;
 glProgramUniform1iFunc									programUniform1i;
@@ -538,7 +560,9 @@
 glProgramUniform1uiFunc									programUniform1ui;
 glProgramUniform1uivFunc								programUniform1uiv;
 glProgramUniform2dFunc									programUniform2d;
+glProgramUniform2dEXTFunc								programUniform2dEXT;
 glProgramUniform2dvFunc									programUniform2dv;
+glProgramUniform2dvEXTFunc								programUniform2dvEXT;
 glProgramUniform2fFunc									programUniform2f;
 glProgramUniform2fvFunc									programUniform2fv;
 glProgramUniform2iFunc									programUniform2i;
@@ -546,7 +570,9 @@
 glProgramUniform2uiFunc									programUniform2ui;
 glProgramUniform2uivFunc								programUniform2uiv;
 glProgramUniform3dFunc									programUniform3d;
+glProgramUniform3dEXTFunc								programUniform3dEXT;
 glProgramUniform3dvFunc									programUniform3dv;
+glProgramUniform3dvEXTFunc								programUniform3dvEXT;
 glProgramUniform3fFunc									programUniform3f;
 glProgramUniform3fvFunc									programUniform3fv;
 glProgramUniform3iFunc									programUniform3i;
@@ -554,7 +580,9 @@
 glProgramUniform3uiFunc									programUniform3ui;
 glProgramUniform3uivFunc								programUniform3uiv;
 glProgramUniform4dFunc									programUniform4d;
+glProgramUniform4dEXTFunc								programUniform4dEXT;
 glProgramUniform4dvFunc									programUniform4dv;
+glProgramUniform4dvEXTFunc								programUniform4dvEXT;
 glProgramUniform4fFunc									programUniform4f;
 glProgramUniform4fvFunc									programUniform4fv;
 glProgramUniform4iFunc									programUniform4i;
@@ -562,22 +590,31 @@
 glProgramUniform4uiFunc									programUniform4ui;
 glProgramUniform4uivFunc								programUniform4uiv;
 glProgramUniformMatrix2dvFunc							programUniformMatrix2dv;
+glProgramUniformMatrix2dvEXTFunc						programUniformMatrix2dvEXT;
 glProgramUniformMatrix2fvFunc							programUniformMatrix2fv;
 glProgramUniformMatrix2x3dvFunc							programUniformMatrix2x3dv;
+glProgramUniformMatrix2x3dvEXTFunc						programUniformMatrix2x3dvEXT;
 glProgramUniformMatrix2x3fvFunc							programUniformMatrix2x3fv;
 glProgramUniformMatrix2x4dvFunc							programUniformMatrix2x4dv;
+glProgramUniformMatrix2x4dvEXTFunc						programUniformMatrix2x4dvEXT;
 glProgramUniformMatrix2x4fvFunc							programUniformMatrix2x4fv;
 glProgramUniformMatrix3dvFunc							programUniformMatrix3dv;
+glProgramUniformMatrix3dvEXTFunc						programUniformMatrix3dvEXT;
 glProgramUniformMatrix3fvFunc							programUniformMatrix3fv;
 glProgramUniformMatrix3x2dvFunc							programUniformMatrix3x2dv;
+glProgramUniformMatrix3x2dvEXTFunc						programUniformMatrix3x2dvEXT;
 glProgramUniformMatrix3x2fvFunc							programUniformMatrix3x2fv;
 glProgramUniformMatrix3x4dvFunc							programUniformMatrix3x4dv;
+glProgramUniformMatrix3x4dvEXTFunc						programUniformMatrix3x4dvEXT;
 glProgramUniformMatrix3x4fvFunc							programUniformMatrix3x4fv;
 glProgramUniformMatrix4dvFunc							programUniformMatrix4dv;
+glProgramUniformMatrix4dvEXTFunc						programUniformMatrix4dvEXT;
 glProgramUniformMatrix4fvFunc							programUniformMatrix4fv;
 glProgramUniformMatrix4x2dvFunc							programUniformMatrix4x2dv;
+glProgramUniformMatrix4x2dvEXTFunc						programUniformMatrix4x2dvEXT;
 glProgramUniformMatrix4x2fvFunc							programUniformMatrix4x2fv;
 glProgramUniformMatrix4x3dvFunc							programUniformMatrix4x3dv;
+glProgramUniformMatrix4x3dvEXTFunc						programUniformMatrix4x3dvEXT;
 glProgramUniformMatrix4x3fvFunc							programUniformMatrix4x3fv;
 glProvokingVertexFunc									provokingVertex;
 glPushClientAttribDefaultEXTFunc						pushClientAttribDefaultEXT;
@@ -619,7 +656,6 @@
 glTexImage2DMultisampleFunc								texImage2DMultisample;
 glTexImage3DFunc										texImage3D;
 glTexImage3DMultisampleFunc								texImage3DMultisample;
-glTexImage3DOESFunc										texImage3DOES;
 glTexPageCommitmentARBFunc								texPageCommitmentARB;
 glTexParameterIivFunc									texParameterIiv;
 glTexParameterIuivFunc									texParameterIuiv;
@@ -628,39 +664,45 @@
 glTexParameteriFunc										texParameteri;
 glTexParameterivFunc									texParameteriv;
 glTexStorage1DFunc										texStorage1D;
-glTexStorage1DEXTFunc									texStorage1DEXT;
 glTexStorage2DFunc										texStorage2D;
-glTexStorage2DEXTFunc									texStorage2DEXT;
 glTexStorage2DMultisampleFunc							texStorage2DMultisample;
 glTexStorage3DFunc										texStorage3D;
-glTexStorage3DEXTFunc									texStorage3DEXT;
 glTexStorage3DMultisampleFunc							texStorage3DMultisample;
 glTexSubImage1DFunc										texSubImage1D;
 glTexSubImage2DFunc										texSubImage2D;
 glTexSubImage3DFunc										texSubImage3D;
-glTexSubImage3DOESFunc									texSubImage3DOES;
 glTextureBarrierFunc									textureBarrier;
 glTextureBufferFunc										textureBuffer;
+glTextureBufferEXTFunc									textureBufferEXT;
 glTextureBufferRangeFunc								textureBufferRange;
+glTextureBufferRangeEXTFunc								textureBufferRangeEXT;
 glTextureImage1DEXTFunc									textureImage1DEXT;
 glTextureImage2DEXTFunc									textureImage2DEXT;
 glTextureImage3DEXTFunc									textureImage3DEXT;
 glTexturePageCommitmentEXTFunc							texturePageCommitmentEXT;
 glTextureParameterIivFunc								textureParameterIiv;
+glTextureParameterIivEXTFunc							textureParameterIivEXT;
 glTextureParameterIuivFunc								textureParameterIuiv;
+glTextureParameterIuivEXTFunc							textureParameterIuivEXT;
 glTextureParameterfFunc									textureParameterf;
+glTextureParameterfEXTFunc								textureParameterfEXT;
 glTextureParameterfvFunc								textureParameterfv;
+glTextureParameterfvEXTFunc								textureParameterfvEXT;
 glTextureParameteriFunc									textureParameteri;
+glTextureParameteriEXTFunc								textureParameteriEXT;
 glTextureParameterivFunc								textureParameteriv;
+glTextureParameterivEXTFunc								textureParameterivEXT;
 glTextureRenderbufferEXTFunc							textureRenderbufferEXT;
 glTextureStorage1DFunc									textureStorage1D;
 glTextureStorage1DEXTFunc								textureStorage1DEXT;
 glTextureStorage2DFunc									textureStorage2D;
 glTextureStorage2DEXTFunc								textureStorage2DEXT;
 glTextureStorage2DMultisampleFunc						textureStorage2DMultisample;
+glTextureStorage2DMultisampleEXTFunc					textureStorage2DMultisampleEXT;
 glTextureStorage3DFunc									textureStorage3D;
 glTextureStorage3DEXTFunc								textureStorage3DEXT;
 glTextureStorage3DMultisampleFunc						textureStorage3DMultisample;
+glTextureStorage3DMultisampleEXTFunc					textureStorage3DMultisampleEXT;
 glTextureSubImage1DFunc									textureSubImage1D;
 glTextureSubImage1DEXTFunc								textureSubImage1DEXT;
 glTextureSubImage2DFunc									textureSubImage2D;
@@ -725,6 +767,7 @@
 glUniformSubroutinesuivFunc								uniformSubroutinesuiv;
 glUnmapBufferFunc										unmapBuffer;
 glUnmapNamedBufferFunc									unmapNamedBuffer;
+glUnmapNamedBufferEXTFunc								unmapNamedBufferEXT;
 glUseProgramFunc										useProgram;
 glUseProgramStagesFunc									useProgramStages;
 glValidateProgramFunc									validateProgram;
diff --git a/framework/opengl/wrapper/glwImpl.inl b/framework/opengl/wrapper/glwImpl.inl
index 3f412d8..7c11b5a 100644
--- a/framework/opengl/wrapper/glwImpl.inl
+++ b/framework/opengl/wrapper/glwImpl.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 void glwActiveShaderProgram (GLuint pipeline, GLuint program)
@@ -388,6 +388,14 @@
 	return gl->checkNamedFramebufferStatus(framebuffer, target);
 }
 
+GLenum glwCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return (GLenum)0;
+	return gl->checkNamedFramebufferStatusEXT(framebuffer, target);
+}
+
 void glwClampColor (GLenum target, GLenum clamp)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -484,6 +492,14 @@
 	gl->clearNamedBufferData(buffer, internalformat, format, type, data);
 }
 
+void glwClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->clearNamedBufferDataEXT(buffer, internalformat, format, type, data);
+}
+
 void glwClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -492,6 +508,14 @@
 	gl->clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
 }
 
+void glwClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->clearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data);
+}
+
 void glwClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -668,14 +692,6 @@
 	gl->compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
 }
 
-void glwCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->compressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
-}
-
 void glwCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -700,14 +716,6 @@
 	gl->compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
 }
 
-void glwCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->compressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
-}
-
 void glwCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -884,14 +892,6 @@
 	gl->copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
 }
 
-void glwCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->copyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
-}
-
 void glwCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1284,14 +1284,6 @@
 	gl->disableClientStateiEXT(array, index);
 }
 
-void glwDisableIndexedEXT (GLenum target, GLuint index)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->disableIndexedEXT(target, index);
-}
-
 void glwDisableVertexArrayAttrib (GLuint vaobj, GLuint index)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1300,6 +1292,14 @@
 	gl->disableVertexArrayAttrib(vaobj, index);
 }
 
+void glwDisableVertexArrayAttribEXT (GLuint vaobj, GLuint index)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->disableVertexArrayAttribEXT(vaobj, index);
+}
+
 void glwDisableVertexArrayEXT (GLuint vaobj, GLenum array)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1532,14 +1532,6 @@
 	gl->enableClientStateiEXT(array, index);
 }
 
-void glwEnableIndexedEXT (GLenum target, GLuint index)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->enableIndexedEXT(target, index);
-}
-
 void glwEnableVertexArrayAttrib (GLuint vaobj, GLuint index)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1548,6 +1540,14 @@
 	gl->enableVertexArrayAttrib(vaobj, index);
 }
 
+void glwEnableVertexArrayAttribEXT (GLuint vaobj, GLuint index)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->enableVertexArrayAttribEXT(vaobj, index);
+}
+
 void glwEnableVertexArrayEXT (GLuint vaobj, GLenum array)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1644,6 +1644,14 @@
 	gl->flushMappedNamedBufferRange(buffer, offset, length);
 }
 
+void glwFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->flushMappedNamedBufferRangeEXT(buffer, offset, length);
+}
+
 void glwFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1716,14 +1724,6 @@
 	gl->framebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
 }
 
-void glwFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->framebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
-}
-
 void glwFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1836,6 +1836,14 @@
 	gl->generateTextureMipmap(texture);
 }
 
+void glwGenerateTextureMipmapEXT (GLuint texture, GLenum target)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->generateTextureMipmapEXT(texture, target);
+}
+
 void glwGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -1932,14 +1940,6 @@
 	return gl->getAttribLocation(program, name);
 }
 
-void glwGetBooleanIndexedvEXT (GLenum target, GLuint index, GLboolean *data)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->getBooleanIndexedvEXT(target, index, data);
-}
-
 void glwGetBooleani_v (GLenum target, GLuint index, GLboolean *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2012,6 +2012,14 @@
 	gl->getCompressedTextureImage(texture, level, bufSize, pixels);
 }
 
+void glwGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, void *img)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getCompressedTextureImageEXT(texture, target, lod, img);
+}
+
 void glwGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2028,14 +2036,6 @@
 	return gl->getDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
 }
 
-void glwGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->getDoubleIndexedvEXT(target, index, data);
-}
-
 void glwGetDoublei_v (GLenum target, GLuint index, GLdouble *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2060,14 +2060,6 @@
 	return gl->getError();
 }
 
-void glwGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->getFloatIndexedvEXT(target, index, data);
-}
-
 void glwGetFloati_v (GLenum target, GLuint index, GLfloat *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2116,6 +2108,14 @@
 	gl->getFramebufferParameteriv(target, pname, params);
 }
 
+void glwGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getFramebufferParameterivEXT(framebuffer, pname, params);
+}
+
 GLenum glwGetGraphicsResetStatus (void)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2140,14 +2140,6 @@
 	gl->getInteger64v(pname, data);
 }
 
-void glwGetIntegerIndexedvEXT (GLenum target, GLuint index, GLint *data)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->getIntegerIndexedvEXT(target, index, data);
-}
-
 void glwGetIntegeri_v (GLenum target, GLuint index, GLint *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2308,6 +2300,14 @@
 	gl->getNamedBufferParameteriv(buffer, pname, params);
 }
 
+void glwGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getNamedBufferParameterivEXT(buffer, pname, params);
+}
+
 void glwGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2316,6 +2316,14 @@
 	gl->getNamedBufferPointerv(buffer, pname, params);
 }
 
+void glwGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, void **params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getNamedBufferPointervEXT(buffer, pname, params);
+}
+
 void glwGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2324,6 +2332,14 @@
 	gl->getNamedBufferSubData(buffer, offset, size, data);
 }
 
+void glwGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getNamedBufferSubDataEXT(buffer, offset, size, data);
+}
+
 void glwGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2332,6 +2348,14 @@
 	gl->getNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params);
 }
 
+void glwGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);
+}
+
 void glwGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2340,6 +2364,14 @@
 	gl->getNamedFramebufferParameteriv(framebuffer, pname, param);
 }
 
+void glwGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getNamedFramebufferParameterivEXT(framebuffer, pname, params);
+}
+
 void glwGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2396,6 +2428,14 @@
 	gl->getNamedRenderbufferParameteriv(renderbuffer, pname, params);
 }
 
+void glwGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getNamedRenderbufferParameterivEXT(renderbuffer, pname, params);
+}
+
 void glwGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2788,6 +2828,14 @@
 	gl->getTextureImage(texture, level, format, type, bufSize, pixels);
 }
 
+void glwGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureImageEXT(texture, target, level, format, type, pixels);
+}
+
 void glwGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2796,6 +2844,14 @@
 	gl->getTextureLevelParameterfv(texture, level, pname, params);
 }
 
+void glwGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureLevelParameterfvEXT(texture, target, level, pname, params);
+}
+
 void glwGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2804,6 +2860,14 @@
 	gl->getTextureLevelParameteriv(texture, level, pname, params);
 }
 
+void glwGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureLevelParameterivEXT(texture, target, level, pname, params);
+}
+
 void glwGetTextureParameterIiv (GLuint texture, GLenum pname, GLint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2812,6 +2876,14 @@
 	gl->getTextureParameterIiv(texture, pname, params);
 }
 
+void glwGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureParameterIivEXT(texture, target, pname, params);
+}
+
 void glwGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2820,6 +2892,14 @@
 	gl->getTextureParameterIuiv(texture, pname, params);
 }
 
+void glwGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureParameterIuivEXT(texture, target, pname, params);
+}
+
 void glwGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2828,6 +2908,14 @@
 	gl->getTextureParameterfv(texture, pname, params);
 }
 
+void glwGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureParameterfvEXT(texture, target, pname, params);
+}
+
 void glwGetTextureParameteriv (GLuint texture, GLenum pname, GLint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -2836,6 +2924,14 @@
 	gl->getTextureParameteriv(texture, pname, params);
 }
 
+void glwGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->getTextureParameterivEXT(texture, target, pname, params);
+}
+
 void glwGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3196,14 +3292,6 @@
 	return gl->isEnabled(cap);
 }
 
-GLboolean glwIsEnabledIndexedEXT (GLenum target, GLuint index)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return (GLboolean)0;
-	return gl->isEnabledIndexedEXT(target, index);
-}
-
 GLboolean glwIsEnabledi (GLenum target, GLuint index)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3348,6 +3436,14 @@
 	return gl->mapNamedBuffer(buffer, access);
 }
 
+void * glwMapNamedBufferEXT (GLuint buffer, GLenum access)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return (void *)0;
+	return gl->mapNamedBufferEXT(buffer, access);
+}
+
 void * glwMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3356,6 +3452,14 @@
 	return gl->mapNamedBufferRange(buffer, offset, length, access);
 }
 
+void * glwMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return (void *)0;
+	return gl->mapNamedBufferRangeEXT(buffer, offset, length, access);
+}
+
 void glwMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3804,6 +3908,14 @@
 	gl->namedBufferData(buffer, size, data, usage);
 }
 
+void glwNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedBufferDataEXT(buffer, size, data, usage);
+}
+
 void glwNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3868,6 +3980,14 @@
 	gl->namedFramebufferParameteri(framebuffer, pname, param);
 }
 
+void glwNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedFramebufferParameteriEXT(framebuffer, pname, param);
+}
+
 void glwNamedFramebufferReadBuffer (GLuint framebuffer, GLenum src)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3884,6 +4004,14 @@
 	gl->namedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
 }
 
+void glwNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);
+}
+
 void glwNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3916,6 +4044,14 @@
 	gl->namedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);
 }
 
+void glwNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedFramebufferTextureEXT(framebuffer, attachment, texture, level);
+}
+
 void glwNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -3932,6 +4068,14 @@
 	gl->namedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
 }
 
+void glwNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);
+}
+
 void glwNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4036,6 +4180,14 @@
 	gl->namedRenderbufferStorage(renderbuffer, internalformat, width, height);
 }
 
+void glwNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);
+}
+
 void glwNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4052,6 +4204,14 @@
 	gl->namedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
 }
 
+void glwNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->namedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);
+}
+
 void glwObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4220,6 +4380,14 @@
 	gl->programUniform1d(program, location, v0);
 }
 
+void glwProgramUniform1dEXT (GLuint program, GLint location, GLdouble x)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform1dEXT(program, location, x);
+}
+
 void glwProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4228,6 +4396,14 @@
 	gl->programUniform1dv(program, location, count, value);
 }
 
+void glwProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform1dvEXT(program, location, count, value);
+}
+
 void glwProgramUniform1f (GLuint program, GLint location, GLfloat v0)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4284,6 +4460,14 @@
 	gl->programUniform2d(program, location, v0, v1);
 }
 
+void glwProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform2dEXT(program, location, x, y);
+}
+
 void glwProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4292,6 +4476,14 @@
 	gl->programUniform2dv(program, location, count, value);
 }
 
+void glwProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform2dvEXT(program, location, count, value);
+}
+
 void glwProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4348,6 +4540,14 @@
 	gl->programUniform3d(program, location, v0, v1, v2);
 }
 
+void glwProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform3dEXT(program, location, x, y, z);
+}
+
 void glwProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4356,6 +4556,14 @@
 	gl->programUniform3dv(program, location, count, value);
 }
 
+void glwProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform3dvEXT(program, location, count, value);
+}
+
 void glwProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4412,6 +4620,14 @@
 	gl->programUniform4d(program, location, v0, v1, v2, v3);
 }
 
+void glwProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform4dEXT(program, location, x, y, z, w);
+}
+
 void glwProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4420,6 +4636,14 @@
 	gl->programUniform4dv(program, location, count, value);
 }
 
+void glwProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniform4dvEXT(program, location, count, value);
+}
+
 void glwProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4476,6 +4700,14 @@
 	gl->programUniformMatrix2dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix2dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4492,6 +4724,14 @@
 	gl->programUniformMatrix2x3dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix2x3dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4508,6 +4748,14 @@
 	gl->programUniformMatrix2x4dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix2x4dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4524,6 +4772,14 @@
 	gl->programUniformMatrix3dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix3dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4540,6 +4796,14 @@
 	gl->programUniformMatrix3x2dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix3x2dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4556,6 +4820,14 @@
 	gl->programUniformMatrix3x4dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix3x4dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4572,6 +4844,14 @@
 	gl->programUniformMatrix4dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix4dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4588,6 +4868,14 @@
 	gl->programUniformMatrix4x2dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix4x2dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4604,6 +4892,14 @@
 	gl->programUniformMatrix4x3dv(program, location, count, transpose, value);
 }
 
+void glwProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->programUniformMatrix4x3dvEXT(program, location, count, transpose, value);
+}
+
 void glwProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -4932,14 +5228,6 @@
 	gl->texImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
 }
 
-void glwTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->texImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
-}
-
 void glwTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5004,14 +5292,6 @@
 	gl->texStorage1D(target, levels, internalformat, width);
 }
 
-void glwTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->texStorage1DEXT(target, levels, internalformat, width);
-}
-
 void glwTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5020,14 +5300,6 @@
 	gl->texStorage2D(target, levels, internalformat, width, height);
 }
 
-void glwTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->texStorage2DEXT(target, levels, internalformat, width, height);
-}
-
 void glwTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5044,14 +5316,6 @@
 	gl->texStorage3D(target, levels, internalformat, width, height, depth);
 }
 
-void glwTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->texStorage3DEXT(target, levels, internalformat, width, height, depth);
-}
-
 void glwTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5084,14 +5348,6 @@
 	gl->texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
 }
 
-void glwTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
-{
-	const glw::Functions* gl = glw::getCurrentThreadFunctions();
-	if (!gl)
-		return;
-	gl->texSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
-}
-
 void glwTextureBarrier (void)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5108,6 +5364,14 @@
 	gl->textureBuffer(texture, internalformat, buffer);
 }
 
+void glwTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureBufferEXT(texture, target, internalformat, buffer);
+}
+
 void glwTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5116,6 +5380,14 @@
 	gl->textureBufferRange(texture, internalformat, buffer, offset, size);
 }
 
+void glwTextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureBufferRangeEXT(texture, target, internalformat, buffer, offset, size);
+}
+
 void glwTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5156,6 +5428,14 @@
 	gl->textureParameterIiv(texture, pname, params);
 }
 
+void glwTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureParameterIivEXT(texture, target, pname, params);
+}
+
 void glwTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint *params)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5164,6 +5444,14 @@
 	gl->textureParameterIuiv(texture, pname, params);
 }
 
+void glwTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureParameterIuivEXT(texture, target, pname, params);
+}
+
 void glwTextureParameterf (GLuint texture, GLenum pname, GLfloat param)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5172,6 +5460,14 @@
 	gl->textureParameterf(texture, pname, param);
 }
 
+void glwTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureParameterfEXT(texture, target, pname, param);
+}
+
 void glwTextureParameterfv (GLuint texture, GLenum pname, const GLfloat *param)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5180,6 +5476,14 @@
 	gl->textureParameterfv(texture, pname, param);
 }
 
+void glwTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureParameterfvEXT(texture, target, pname, params);
+}
+
 void glwTextureParameteri (GLuint texture, GLenum pname, GLint param)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5188,6 +5492,14 @@
 	gl->textureParameteri(texture, pname, param);
 }
 
+void glwTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureParameteriEXT(texture, target, pname, param);
+}
+
 void glwTextureParameteriv (GLuint texture, GLenum pname, const GLint *param)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5196,6 +5508,14 @@
 	gl->textureParameteriv(texture, pname, param);
 }
 
+void glwTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureParameterivEXT(texture, target, pname, params);
+}
+
 void glwTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5244,6 +5564,14 @@
 	gl->textureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
 }
 
+void glwTextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations);
+}
+
 void glwTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5268,6 +5596,14 @@
 	gl->textureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
 }
 
+void glwTextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return;
+	gl->textureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations);
+}
+
 void glwTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
@@ -5780,6 +6116,14 @@
 	return gl->unmapNamedBuffer(buffer);
 }
 
+GLboolean glwUnmapNamedBufferEXT (GLuint buffer)
+{
+	const glw::Functions* gl = glw::getCurrentThreadFunctions();
+	if (!gl)
+		return (GLboolean)0;
+	return gl->unmapNamedBufferEXT(buffer);
+}
+
 void glwUseProgram (GLuint program)
 {
 	const glw::Functions* gl = glw::getCurrentThreadFunctions();
diff --git a/framework/opengl/wrapper/glwInitES20.inl b/framework/opengl/wrapper/glwInitES20.inl
index 3f97923..921c26e 100644
--- a/framework/opengl/wrapper/glwInitES20.inl
+++ b/framework/opengl/wrapper/glwInitES20.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitES20Direct.inl b/framework/opengl/wrapper/glwInitES20Direct.inl
index 6c0d984..d315267 100644
--- a/framework/opengl/wrapper/glwInitES20Direct.inl
+++ b/framework/opengl/wrapper/glwInitES20Direct.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= &glActiveTexture;
 gl->attachShader						= &glAttachShader;
diff --git a/framework/opengl/wrapper/glwInitES30.inl b/framework/opengl/wrapper/glwInitES30.inl
index 3ad6d06..ba73a6a 100644
--- a/framework/opengl/wrapper/glwInitES30.inl
+++ b/framework/opengl/wrapper/glwInitES30.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitES30Direct.inl b/framework/opengl/wrapper/glwInitES30Direct.inl
index 906b806..bac790a 100644
--- a/framework/opengl/wrapper/glwInitES30Direct.inl
+++ b/framework/opengl/wrapper/glwInitES30Direct.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= &glActiveTexture;
 gl->attachShader						= &glAttachShader;
diff --git a/framework/opengl/wrapper/glwInitES31.inl b/framework/opengl/wrapper/glwInitES31.inl
index 66f11b6..5a63a36 100644
--- a/framework/opengl/wrapper/glwInitES31.inl
+++ b/framework/opengl/wrapper/glwInitES31.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram					= (glActiveShaderProgramFunc)					loader->get("glActiveShaderProgram");
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwInitES31Direct.inl b/framework/opengl/wrapper/glwInitES31Direct.inl
index e31569e..f2a44b7 100644
--- a/framework/opengl/wrapper/glwInitES31Direct.inl
+++ b/framework/opengl/wrapper/glwInitES31Direct.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram					= &glActiveShaderProgram;
 gl->activeTexture						= &glActiveTexture;
diff --git a/framework/opengl/wrapper/glwInitES32.inl b/framework/opengl/wrapper/glwInitES32.inl
index 0a7ff67..3ec0bb2 100644
--- a/framework/opengl/wrapper/glwInitES32.inl
+++ b/framework/opengl/wrapper/glwInitES32.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram					= (glActiveShaderProgramFunc)					loader->get("glActiveShaderProgram");
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwInitES32Direct.inl b/framework/opengl/wrapper/glwInitES32Direct.inl
index 1ebaed5..4803493 100644
--- a/framework/opengl/wrapper/glwInitES32Direct.inl
+++ b/framework/opengl/wrapper/glwInitES32Direct.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram					= &glActiveShaderProgram;
 gl->activeTexture						= &glActiveTexture;
diff --git a/framework/opengl/wrapper/glwInitExtES.inl b/framework/opengl/wrapper/glwInitExtES.inl
index f7416a4..b29d861 100644
--- a/framework/opengl/wrapper/glwInitExtES.inl
+++ b/framework/opengl/wrapper/glwInitExtES.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 if (de::contains(extSet, "GL_KHR_blend_equation_advanced"))
@@ -89,9 +89,9 @@
 
 if (de::contains(extSet, "GL_EXT_texture_storage"))
 {
-	gl->texStorage1DEXT		= (glTexStorage1DEXTFunc)		loader->get("glTexStorage1DEXT");
-	gl->texStorage2DEXT		= (glTexStorage2DEXTFunc)		loader->get("glTexStorage2DEXT");
-	gl->texStorage3DEXT		= (glTexStorage3DEXTFunc)		loader->get("glTexStorage3DEXT");
+	gl->texStorage1D		= (glTexStorage1DFunc)			loader->get("glTexStorage1DEXT");
+	gl->texStorage2D		= (glTexStorage2DFunc)			loader->get("glTexStorage2DEXT");
+	gl->texStorage3D		= (glTexStorage3DFunc)			loader->get("glTexStorage3DEXT");
 	gl->textureStorage1DEXT	= (glTextureStorage1DEXTFunc)	loader->get("glTextureStorage1DEXT");
 	gl->textureStorage2DEXT	= (glTextureStorage2DEXTFunc)	loader->get("glTextureStorage2DEXT");
 	gl->textureStorage3DEXT	= (glTextureStorage3DEXTFunc)	loader->get("glTextureStorage3DEXT");
@@ -124,12 +124,12 @@
 
 if (de::contains(extSet, "GL_OES_texture_3D"))
 {
-	gl->compressedTexImage3DOES		= (glCompressedTexImage3DOESFunc)		loader->get("glCompressedTexImage3DOES");
-	gl->compressedTexSubImage3DOES	= (glCompressedTexSubImage3DOESFunc)	loader->get("glCompressedTexSubImage3DOES");
-	gl->copyTexSubImage3DOES		= (glCopyTexSubImage3DOESFunc)			loader->get("glCopyTexSubImage3DOES");
-	gl->framebufferTexture3DOES		= (glFramebufferTexture3DOESFunc)		loader->get("glFramebufferTexture3DOES");
-	gl->texImage3DOES				= (glTexImage3DOESFunc)					loader->get("glTexImage3DOES");
-	gl->texSubImage3DOES			= (glTexSubImage3DOESFunc)				loader->get("glTexSubImage3DOES");
+	gl->compressedTexImage3D	= (glCompressedTexImage3DFunc)		loader->get("glCompressedTexImage3DOES");
+	gl->compressedTexSubImage3D	= (glCompressedTexSubImage3DFunc)	loader->get("glCompressedTexSubImage3DOES");
+	gl->copyTexSubImage3D		= (glCopyTexSubImage3DFunc)			loader->get("glCopyTexSubImage3DOES");
+	gl->framebufferTexture3D	= (glFramebufferTexture3DFunc)		loader->get("glFramebufferTexture3DOES");
+	gl->texImage3D				= (glTexImage3DFunc)				loader->get("glTexImage3DOES");
+	gl->texSubImage3D			= (glTexSubImage3DFunc)				loader->get("glTexSubImage3DOES");
 }
 
 if (de::contains(extSet, "GL_OES_texture_storage_multisample_2d_array"))
diff --git a/framework/opengl/wrapper/glwInitExtGL.inl b/framework/opengl/wrapper/glwInitExtGL.inl
index 5462ae9..7fd490a 100644
--- a/framework/opengl/wrapper/glwInitExtGL.inl
+++ b/framework/opengl/wrapper/glwInitExtGL.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 if (de::contains(extSet, "GL_KHR_blend_equation_advanced"))
@@ -35,9 +35,9 @@
 if (de::contains(extSet, "GL_EXT_direct_state_access"))
 {
 	gl->bindMultiTextureEXT								= (glBindMultiTextureEXTFunc)								loader->get("glBindMultiTextureEXT");
-	gl->checkNamedFramebufferStatus						= (glCheckNamedFramebufferStatusFunc)						loader->get("glCheckNamedFramebufferStatusEXT");
-	gl->clearNamedBufferData							= (glClearNamedBufferDataFunc)								loader->get("glClearNamedBufferDataEXT");
-	gl->clearNamedBufferSubData							= (glClearNamedBufferSubDataFunc)							loader->get("glClearNamedBufferSubDataEXT");
+	gl->checkNamedFramebufferStatusEXT					= (glCheckNamedFramebufferStatusEXTFunc)					loader->get("glCheckNamedFramebufferStatusEXT");
+	gl->clearNamedBufferDataEXT							= (glClearNamedBufferDataEXTFunc)							loader->get("glClearNamedBufferDataEXT");
+	gl->clearNamedBufferSubDataEXT						= (glClearNamedBufferSubDataEXTFunc)						loader->get("glClearNamedBufferSubDataEXT");
 	gl->clientAttribDefaultEXT							= (glClientAttribDefaultEXTFunc)							loader->get("glClientAttribDefaultEXT");
 	gl->compressedMultiTexImage1DEXT					= (glCompressedMultiTexImage1DEXTFunc)						loader->get("glCompressedMultiTexImage1DEXT");
 	gl->compressedMultiTexImage2DEXT					= (glCompressedMultiTexImage2DEXTFunc)						loader->get("glCompressedMultiTexImage2DEXT");
@@ -63,29 +63,29 @@
 	gl->copyTextureSubImage3DEXT						= (glCopyTextureSubImage3DEXTFunc)							loader->get("glCopyTextureSubImage3DEXT");
 	gl->disableClientStateIndexedEXT					= (glDisableClientStateIndexedEXTFunc)						loader->get("glDisableClientStateIndexedEXT");
 	gl->disableClientStateiEXT							= (glDisableClientStateiEXTFunc)							loader->get("glDisableClientStateiEXT");
-	gl->disableIndexedEXT								= (glDisableIndexedEXTFunc)									loader->get("glDisableIndexedEXT");
-	gl->disableVertexArrayAttrib						= (glDisableVertexArrayAttribFunc)							loader->get("glDisableVertexArrayAttribEXT");
+	gl->disablei										= (glDisableiFunc)											loader->get("glDisableIndexedEXT");
+	gl->disableVertexArrayAttribEXT						= (glDisableVertexArrayAttribEXTFunc)						loader->get("glDisableVertexArrayAttribEXT");
 	gl->disableVertexArrayEXT							= (glDisableVertexArrayEXTFunc)								loader->get("glDisableVertexArrayEXT");
 	gl->enableClientStateIndexedEXT						= (glEnableClientStateIndexedEXTFunc)						loader->get("glEnableClientStateIndexedEXT");
 	gl->enableClientStateiEXT							= (glEnableClientStateiEXTFunc)								loader->get("glEnableClientStateiEXT");
-	gl->enableIndexedEXT								= (glEnableIndexedEXTFunc)									loader->get("glEnableIndexedEXT");
-	gl->enableVertexArrayAttrib							= (glEnableVertexArrayAttribFunc)							loader->get("glEnableVertexArrayAttribEXT");
+	gl->enablei											= (glEnableiFunc)											loader->get("glEnableIndexedEXT");
+	gl->enableVertexArrayAttribEXT						= (glEnableVertexArrayAttribEXTFunc)						loader->get("glEnableVertexArrayAttribEXT");
 	gl->enableVertexArrayEXT							= (glEnableVertexArrayEXTFunc)								loader->get("glEnableVertexArrayEXT");
-	gl->flushMappedNamedBufferRange						= (glFlushMappedNamedBufferRangeFunc)						loader->get("glFlushMappedNamedBufferRangeEXT");
+	gl->flushMappedNamedBufferRangeEXT					= (glFlushMappedNamedBufferRangeEXTFunc)					loader->get("glFlushMappedNamedBufferRangeEXT");
 	gl->framebufferDrawBufferEXT						= (glFramebufferDrawBufferEXTFunc)							loader->get("glFramebufferDrawBufferEXT");
 	gl->framebufferDrawBuffersEXT						= (glFramebufferDrawBuffersEXTFunc)							loader->get("glFramebufferDrawBuffersEXT");
 	gl->framebufferReadBufferEXT						= (glFramebufferReadBufferEXTFunc)							loader->get("glFramebufferReadBufferEXT");
 	gl->generateMultiTexMipmapEXT						= (glGenerateMultiTexMipmapEXTFunc)							loader->get("glGenerateMultiTexMipmapEXT");
-	gl->generateTextureMipmap							= (glGenerateTextureMipmapFunc)								loader->get("glGenerateTextureMipmapEXT");
-	gl->getBooleanIndexedvEXT							= (glGetBooleanIndexedvEXTFunc)								loader->get("glGetBooleanIndexedvEXT");
+	gl->generateTextureMipmapEXT						= (glGenerateTextureMipmapEXTFunc)							loader->get("glGenerateTextureMipmapEXT");
+	gl->getBooleani_v									= (glGetBooleani_vFunc)										loader->get("glGetBooleanIndexedvEXT");
 	gl->getCompressedMultiTexImageEXT					= (glGetCompressedMultiTexImageEXTFunc)						loader->get("glGetCompressedMultiTexImageEXT");
-	gl->getCompressedTextureImage						= (glGetCompressedTextureImageFunc)							loader->get("glGetCompressedTextureImageEXT");
-	gl->getDoubleIndexedvEXT							= (glGetDoubleIndexedvEXTFunc)								loader->get("glGetDoubleIndexedvEXT");
+	gl->getCompressedTextureImageEXT					= (glGetCompressedTextureImageEXTFunc)						loader->get("glGetCompressedTextureImageEXT");
+	gl->getDoublei_v									= (glGetDoublei_vFunc)										loader->get("glGetDoubleIndexedvEXT");
 	gl->getDoublei_v									= (glGetDoublei_vFunc)										loader->get("glGetDoublei_vEXT");
-	gl->getFloatIndexedvEXT								= (glGetFloatIndexedvEXTFunc)								loader->get("glGetFloatIndexedvEXT");
+	gl->getFloati_v										= (glGetFloati_vFunc)										loader->get("glGetFloatIndexedvEXT");
 	gl->getFloati_v										= (glGetFloati_vFunc)										loader->get("glGetFloati_vEXT");
-	gl->getFramebufferParameteriv						= (glGetFramebufferParameterivFunc)							loader->get("glGetFramebufferParameterivEXT");
-	gl->getIntegerIndexedvEXT							= (glGetIntegerIndexedvEXTFunc)								loader->get("glGetIntegerIndexedvEXT");
+	gl->getFramebufferParameterivEXT					= (glGetFramebufferParameterivEXTFunc)						loader->get("glGetFramebufferParameterivEXT");
+	gl->getIntegeri_v									= (glGetIntegeri_vFunc)										loader->get("glGetIntegerIndexedvEXT");
 	gl->getMultiTexEnvfvEXT								= (glGetMultiTexEnvfvEXTFunc)								loader->get("glGetMultiTexEnvfvEXT");
 	gl->getMultiTexEnvivEXT								= (glGetMultiTexEnvivEXTFunc)								loader->get("glGetMultiTexEnvivEXT");
 	gl->getMultiTexGendvEXT								= (glGetMultiTexGendvEXTFunc)								loader->get("glGetMultiTexGendvEXT");
@@ -98,34 +98,34 @@
 	gl->getMultiTexParameterIuivEXT						= (glGetMultiTexParameterIuivEXTFunc)						loader->get("glGetMultiTexParameterIuivEXT");
 	gl->getMultiTexParameterfvEXT						= (glGetMultiTexParameterfvEXTFunc)							loader->get("glGetMultiTexParameterfvEXT");
 	gl->getMultiTexParameterivEXT						= (glGetMultiTexParameterivEXTFunc)							loader->get("glGetMultiTexParameterivEXT");
-	gl->getNamedBufferParameteriv						= (glGetNamedBufferParameterivFunc)							loader->get("glGetNamedBufferParameterivEXT");
-	gl->getNamedBufferPointerv							= (glGetNamedBufferPointervFunc)							loader->get("glGetNamedBufferPointervEXT");
-	gl->getNamedBufferSubData							= (glGetNamedBufferSubDataFunc)								loader->get("glGetNamedBufferSubDataEXT");
-	gl->getNamedFramebufferAttachmentParameteriv		= (glGetNamedFramebufferAttachmentParameterivFunc)			loader->get("glGetNamedFramebufferAttachmentParameterivEXT");
-	gl->getNamedFramebufferParameteriv					= (glGetNamedFramebufferParameterivFunc)					loader->get("glGetNamedFramebufferParameterivEXT");
+	gl->getNamedBufferParameterivEXT					= (glGetNamedBufferParameterivEXTFunc)						loader->get("glGetNamedBufferParameterivEXT");
+	gl->getNamedBufferPointervEXT						= (glGetNamedBufferPointervEXTFunc)							loader->get("glGetNamedBufferPointervEXT");
+	gl->getNamedBufferSubDataEXT						= (glGetNamedBufferSubDataEXTFunc)							loader->get("glGetNamedBufferSubDataEXT");
+	gl->getNamedFramebufferAttachmentParameterivEXT		= (glGetNamedFramebufferAttachmentParameterivEXTFunc)		loader->get("glGetNamedFramebufferAttachmentParameterivEXT");
+	gl->getNamedFramebufferParameterivEXT				= (glGetNamedFramebufferParameterivEXTFunc)					loader->get("glGetNamedFramebufferParameterivEXT");
 	gl->getNamedProgramLocalParameterIivEXT				= (glGetNamedProgramLocalParameterIivEXTFunc)				loader->get("glGetNamedProgramLocalParameterIivEXT");
 	gl->getNamedProgramLocalParameterIuivEXT			= (glGetNamedProgramLocalParameterIuivEXTFunc)				loader->get("glGetNamedProgramLocalParameterIuivEXT");
 	gl->getNamedProgramLocalParameterdvEXT				= (glGetNamedProgramLocalParameterdvEXTFunc)				loader->get("glGetNamedProgramLocalParameterdvEXT");
 	gl->getNamedProgramLocalParameterfvEXT				= (glGetNamedProgramLocalParameterfvEXTFunc)				loader->get("glGetNamedProgramLocalParameterfvEXT");
 	gl->getNamedProgramStringEXT						= (glGetNamedProgramStringEXTFunc)							loader->get("glGetNamedProgramStringEXT");
 	gl->getNamedProgramivEXT							= (glGetNamedProgramivEXTFunc)								loader->get("glGetNamedProgramivEXT");
-	gl->getNamedRenderbufferParameteriv					= (glGetNamedRenderbufferParameterivFunc)					loader->get("glGetNamedRenderbufferParameterivEXT");
+	gl->getNamedRenderbufferParameterivEXT				= (glGetNamedRenderbufferParameterivEXTFunc)				loader->get("glGetNamedRenderbufferParameterivEXT");
 	gl->getPointerIndexedvEXT							= (glGetPointerIndexedvEXTFunc)								loader->get("glGetPointerIndexedvEXT");
 	gl->getPointeri_vEXT								= (glGetPointeri_vEXTFunc)									loader->get("glGetPointeri_vEXT");
-	gl->getTextureImage									= (glGetTextureImageFunc)									loader->get("glGetTextureImageEXT");
-	gl->getTextureLevelParameterfv						= (glGetTextureLevelParameterfvFunc)						loader->get("glGetTextureLevelParameterfvEXT");
-	gl->getTextureLevelParameteriv						= (glGetTextureLevelParameterivFunc)						loader->get("glGetTextureLevelParameterivEXT");
-	gl->getTextureParameterIiv							= (glGetTextureParameterIivFunc)							loader->get("glGetTextureParameterIivEXT");
-	gl->getTextureParameterIuiv							= (glGetTextureParameterIuivFunc)							loader->get("glGetTextureParameterIuivEXT");
-	gl->getTextureParameterfv							= (glGetTextureParameterfvFunc)								loader->get("glGetTextureParameterfvEXT");
-	gl->getTextureParameteriv							= (glGetTextureParameterivFunc)								loader->get("glGetTextureParameterivEXT");
+	gl->getTextureImageEXT								= (glGetTextureImageEXTFunc)								loader->get("glGetTextureImageEXT");
+	gl->getTextureLevelParameterfvEXT					= (glGetTextureLevelParameterfvEXTFunc)						loader->get("glGetTextureLevelParameterfvEXT");
+	gl->getTextureLevelParameterivEXT					= (glGetTextureLevelParameterivEXTFunc)						loader->get("glGetTextureLevelParameterivEXT");
+	gl->getTextureParameterIivEXT						= (glGetTextureParameterIivEXTFunc)							loader->get("glGetTextureParameterIivEXT");
+	gl->getTextureParameterIuivEXT						= (glGetTextureParameterIuivEXTFunc)						loader->get("glGetTextureParameterIuivEXT");
+	gl->getTextureParameterfvEXT						= (glGetTextureParameterfvEXTFunc)							loader->get("glGetTextureParameterfvEXT");
+	gl->getTextureParameterivEXT						= (glGetTextureParameterivEXTFunc)							loader->get("glGetTextureParameterivEXT");
 	gl->getVertexArrayIntegeri_vEXT						= (glGetVertexArrayIntegeri_vEXTFunc)						loader->get("glGetVertexArrayIntegeri_vEXT");
 	gl->getVertexArrayIntegervEXT						= (glGetVertexArrayIntegervEXTFunc)							loader->get("glGetVertexArrayIntegervEXT");
 	gl->getVertexArrayPointeri_vEXT						= (glGetVertexArrayPointeri_vEXTFunc)						loader->get("glGetVertexArrayPointeri_vEXT");
 	gl->getVertexArrayPointervEXT						= (glGetVertexArrayPointervEXTFunc)							loader->get("glGetVertexArrayPointervEXT");
-	gl->isEnabledIndexedEXT								= (glIsEnabledIndexedEXTFunc)								loader->get("glIsEnabledIndexedEXT");
-	gl->mapNamedBuffer									= (glMapNamedBufferFunc)									loader->get("glMapNamedBufferEXT");
-	gl->mapNamedBufferRange								= (glMapNamedBufferRangeFunc)								loader->get("glMapNamedBufferRangeEXT");
+	gl->isEnabledi										= (glIsEnablediFunc)										loader->get("glIsEnabledIndexedEXT");
+	gl->mapNamedBufferEXT								= (glMapNamedBufferEXTFunc)									loader->get("glMapNamedBufferEXT");
+	gl->mapNamedBufferRangeEXT							= (glMapNamedBufferRangeEXTFunc)							loader->get("glMapNamedBufferRangeEXT");
 	gl->matrixFrustumEXT								= (glMatrixFrustumEXTFunc)									loader->get("glMatrixFrustumEXT");
 	gl->matrixLoadIdentityEXT							= (glMatrixLoadIdentityEXTFunc)								loader->get("glMatrixLoadIdentityEXT");
 	gl->matrixLoadTransposedEXT							= (glMatrixLoadTransposedEXTFunc)							loader->get("glMatrixLoadTransposedEXT");
@@ -170,18 +170,18 @@
 	gl->multiTexSubImage1DEXT							= (glMultiTexSubImage1DEXTFunc)								loader->get("glMultiTexSubImage1DEXT");
 	gl->multiTexSubImage2DEXT							= (glMultiTexSubImage2DEXTFunc)								loader->get("glMultiTexSubImage2DEXT");
 	gl->multiTexSubImage3DEXT							= (glMultiTexSubImage3DEXTFunc)								loader->get("glMultiTexSubImage3DEXT");
-	gl->namedBufferData									= (glNamedBufferDataFunc)									loader->get("glNamedBufferDataEXT");
+	gl->namedBufferDataEXT								= (glNamedBufferDataEXTFunc)								loader->get("glNamedBufferDataEXT");
 	gl->namedBufferStorage								= (glNamedBufferStorageFunc)								loader->get("glNamedBufferStorageEXT");
 	gl->namedBufferSubData								= (glNamedBufferSubDataFunc)								loader->get("glNamedBufferSubDataEXT");
 	gl->namedCopyBufferSubDataEXT						= (glNamedCopyBufferSubDataEXTFunc)							loader->get("glNamedCopyBufferSubDataEXT");
-	gl->namedFramebufferParameteri						= (glNamedFramebufferParameteriFunc)						loader->get("glNamedFramebufferParameteriEXT");
-	gl->namedFramebufferRenderbuffer					= (glNamedFramebufferRenderbufferFunc)						loader->get("glNamedFramebufferRenderbufferEXT");
+	gl->namedFramebufferParameteriEXT					= (glNamedFramebufferParameteriEXTFunc)						loader->get("glNamedFramebufferParameteriEXT");
+	gl->namedFramebufferRenderbufferEXT					= (glNamedFramebufferRenderbufferEXTFunc)					loader->get("glNamedFramebufferRenderbufferEXT");
 	gl->namedFramebufferTexture1DEXT					= (glNamedFramebufferTexture1DEXTFunc)						loader->get("glNamedFramebufferTexture1DEXT");
 	gl->namedFramebufferTexture2DEXT					= (glNamedFramebufferTexture2DEXTFunc)						loader->get("glNamedFramebufferTexture2DEXT");
 	gl->namedFramebufferTexture3DEXT					= (glNamedFramebufferTexture3DEXTFunc)						loader->get("glNamedFramebufferTexture3DEXT");
-	gl->namedFramebufferTexture							= (glNamedFramebufferTextureFunc)							loader->get("glNamedFramebufferTextureEXT");
+	gl->namedFramebufferTextureEXT						= (glNamedFramebufferTextureEXTFunc)						loader->get("glNamedFramebufferTextureEXT");
 	gl->namedFramebufferTextureFaceEXT					= (glNamedFramebufferTextureFaceEXTFunc)					loader->get("glNamedFramebufferTextureFaceEXT");
-	gl->namedFramebufferTextureLayer					= (glNamedFramebufferTextureLayerFunc)						loader->get("glNamedFramebufferTextureLayerEXT");
+	gl->namedFramebufferTextureLayerEXT					= (glNamedFramebufferTextureLayerEXTFunc)					loader->get("glNamedFramebufferTextureLayerEXT");
 	gl->namedProgramLocalParameter4dEXT					= (glNamedProgramLocalParameter4dEXTFunc)					loader->get("glNamedProgramLocalParameter4dEXT");
 	gl->namedProgramLocalParameter4dvEXT				= (glNamedProgramLocalParameter4dvEXTFunc)					loader->get("glNamedProgramLocalParameter4dvEXT");
 	gl->namedProgramLocalParameter4fEXT					= (glNamedProgramLocalParameter4fEXTFunc)					loader->get("glNamedProgramLocalParameter4fEXT");
@@ -194,82 +194,82 @@
 	gl->namedProgramLocalParametersI4ivEXT				= (glNamedProgramLocalParametersI4ivEXTFunc)				loader->get("glNamedProgramLocalParametersI4ivEXT");
 	gl->namedProgramLocalParametersI4uivEXT				= (glNamedProgramLocalParametersI4uivEXTFunc)				loader->get("glNamedProgramLocalParametersI4uivEXT");
 	gl->namedProgramStringEXT							= (glNamedProgramStringEXTFunc)								loader->get("glNamedProgramStringEXT");
-	gl->namedRenderbufferStorage						= (glNamedRenderbufferStorageFunc)							loader->get("glNamedRenderbufferStorageEXT");
+	gl->namedRenderbufferStorageEXT						= (glNamedRenderbufferStorageEXTFunc)						loader->get("glNamedRenderbufferStorageEXT");
 	gl->namedRenderbufferStorageMultisampleCoverageEXT	= (glNamedRenderbufferStorageMultisampleCoverageEXTFunc)	loader->get("glNamedRenderbufferStorageMultisampleCoverageEXT");
-	gl->namedRenderbufferStorageMultisample				= (glNamedRenderbufferStorageMultisampleFunc)				loader->get("glNamedRenderbufferStorageMultisampleEXT");
-	gl->programUniform1d								= (glProgramUniform1dFunc)									loader->get("glProgramUniform1dEXT");
-	gl->programUniform1dv								= (glProgramUniform1dvFunc)									loader->get("glProgramUniform1dvEXT");
+	gl->namedRenderbufferStorageMultisampleEXT			= (glNamedRenderbufferStorageMultisampleEXTFunc)			loader->get("glNamedRenderbufferStorageMultisampleEXT");
+	gl->programUniform1dEXT								= (glProgramUniform1dEXTFunc)								loader->get("glProgramUniform1dEXT");
+	gl->programUniform1dvEXT							= (glProgramUniform1dvEXTFunc)								loader->get("glProgramUniform1dvEXT");
 	gl->programUniform1f								= (glProgramUniform1fFunc)									loader->get("glProgramUniform1fEXT");
 	gl->programUniform1fv								= (glProgramUniform1fvFunc)									loader->get("glProgramUniform1fvEXT");
 	gl->programUniform1i								= (glProgramUniform1iFunc)									loader->get("glProgramUniform1iEXT");
 	gl->programUniform1iv								= (glProgramUniform1ivFunc)									loader->get("glProgramUniform1ivEXT");
 	gl->programUniform1ui								= (glProgramUniform1uiFunc)									loader->get("glProgramUniform1uiEXT");
 	gl->programUniform1uiv								= (glProgramUniform1uivFunc)								loader->get("glProgramUniform1uivEXT");
-	gl->programUniform2d								= (glProgramUniform2dFunc)									loader->get("glProgramUniform2dEXT");
-	gl->programUniform2dv								= (glProgramUniform2dvFunc)									loader->get("glProgramUniform2dvEXT");
+	gl->programUniform2dEXT								= (glProgramUniform2dEXTFunc)								loader->get("glProgramUniform2dEXT");
+	gl->programUniform2dvEXT							= (glProgramUniform2dvEXTFunc)								loader->get("glProgramUniform2dvEXT");
 	gl->programUniform2f								= (glProgramUniform2fFunc)									loader->get("glProgramUniform2fEXT");
 	gl->programUniform2fv								= (glProgramUniform2fvFunc)									loader->get("glProgramUniform2fvEXT");
 	gl->programUniform2i								= (glProgramUniform2iFunc)									loader->get("glProgramUniform2iEXT");
 	gl->programUniform2iv								= (glProgramUniform2ivFunc)									loader->get("glProgramUniform2ivEXT");
 	gl->programUniform2ui								= (glProgramUniform2uiFunc)									loader->get("glProgramUniform2uiEXT");
 	gl->programUniform2uiv								= (glProgramUniform2uivFunc)								loader->get("glProgramUniform2uivEXT");
-	gl->programUniform3d								= (glProgramUniform3dFunc)									loader->get("glProgramUniform3dEXT");
-	gl->programUniform3dv								= (glProgramUniform3dvFunc)									loader->get("glProgramUniform3dvEXT");
+	gl->programUniform3dEXT								= (glProgramUniform3dEXTFunc)								loader->get("glProgramUniform3dEXT");
+	gl->programUniform3dvEXT							= (glProgramUniform3dvEXTFunc)								loader->get("glProgramUniform3dvEXT");
 	gl->programUniform3f								= (glProgramUniform3fFunc)									loader->get("glProgramUniform3fEXT");
 	gl->programUniform3fv								= (glProgramUniform3fvFunc)									loader->get("glProgramUniform3fvEXT");
 	gl->programUniform3i								= (glProgramUniform3iFunc)									loader->get("glProgramUniform3iEXT");
 	gl->programUniform3iv								= (glProgramUniform3ivFunc)									loader->get("glProgramUniform3ivEXT");
 	gl->programUniform3ui								= (glProgramUniform3uiFunc)									loader->get("glProgramUniform3uiEXT");
 	gl->programUniform3uiv								= (glProgramUniform3uivFunc)								loader->get("glProgramUniform3uivEXT");
-	gl->programUniform4d								= (glProgramUniform4dFunc)									loader->get("glProgramUniform4dEXT");
-	gl->programUniform4dv								= (glProgramUniform4dvFunc)									loader->get("glProgramUniform4dvEXT");
+	gl->programUniform4dEXT								= (glProgramUniform4dEXTFunc)								loader->get("glProgramUniform4dEXT");
+	gl->programUniform4dvEXT							= (glProgramUniform4dvEXTFunc)								loader->get("glProgramUniform4dvEXT");
 	gl->programUniform4f								= (glProgramUniform4fFunc)									loader->get("glProgramUniform4fEXT");
 	gl->programUniform4fv								= (glProgramUniform4fvFunc)									loader->get("glProgramUniform4fvEXT");
 	gl->programUniform4i								= (glProgramUniform4iFunc)									loader->get("glProgramUniform4iEXT");
 	gl->programUniform4iv								= (glProgramUniform4ivFunc)									loader->get("glProgramUniform4ivEXT");
 	gl->programUniform4ui								= (glProgramUniform4uiFunc)									loader->get("glProgramUniform4uiEXT");
 	gl->programUniform4uiv								= (glProgramUniform4uivFunc)								loader->get("glProgramUniform4uivEXT");
-	gl->programUniformMatrix2dv							= (glProgramUniformMatrix2dvFunc)							loader->get("glProgramUniformMatrix2dvEXT");
+	gl->programUniformMatrix2dvEXT						= (glProgramUniformMatrix2dvEXTFunc)						loader->get("glProgramUniformMatrix2dvEXT");
 	gl->programUniformMatrix2fv							= (glProgramUniformMatrix2fvFunc)							loader->get("glProgramUniformMatrix2fvEXT");
-	gl->programUniformMatrix2x3dv						= (glProgramUniformMatrix2x3dvFunc)							loader->get("glProgramUniformMatrix2x3dvEXT");
+	gl->programUniformMatrix2x3dvEXT					= (glProgramUniformMatrix2x3dvEXTFunc)						loader->get("glProgramUniformMatrix2x3dvEXT");
 	gl->programUniformMatrix2x3fv						= (glProgramUniformMatrix2x3fvFunc)							loader->get("glProgramUniformMatrix2x3fvEXT");
-	gl->programUniformMatrix2x4dv						= (glProgramUniformMatrix2x4dvFunc)							loader->get("glProgramUniformMatrix2x4dvEXT");
+	gl->programUniformMatrix2x4dvEXT					= (glProgramUniformMatrix2x4dvEXTFunc)						loader->get("glProgramUniformMatrix2x4dvEXT");
 	gl->programUniformMatrix2x4fv						= (glProgramUniformMatrix2x4fvFunc)							loader->get("glProgramUniformMatrix2x4fvEXT");
-	gl->programUniformMatrix3dv							= (glProgramUniformMatrix3dvFunc)							loader->get("glProgramUniformMatrix3dvEXT");
+	gl->programUniformMatrix3dvEXT						= (glProgramUniformMatrix3dvEXTFunc)						loader->get("glProgramUniformMatrix3dvEXT");
 	gl->programUniformMatrix3fv							= (glProgramUniformMatrix3fvFunc)							loader->get("glProgramUniformMatrix3fvEXT");
-	gl->programUniformMatrix3x2dv						= (glProgramUniformMatrix3x2dvFunc)							loader->get("glProgramUniformMatrix3x2dvEXT");
+	gl->programUniformMatrix3x2dvEXT					= (glProgramUniformMatrix3x2dvEXTFunc)						loader->get("glProgramUniformMatrix3x2dvEXT");
 	gl->programUniformMatrix3x2fv						= (glProgramUniformMatrix3x2fvFunc)							loader->get("glProgramUniformMatrix3x2fvEXT");
-	gl->programUniformMatrix3x4dv						= (glProgramUniformMatrix3x4dvFunc)							loader->get("glProgramUniformMatrix3x4dvEXT");
+	gl->programUniformMatrix3x4dvEXT					= (glProgramUniformMatrix3x4dvEXTFunc)						loader->get("glProgramUniformMatrix3x4dvEXT");
 	gl->programUniformMatrix3x4fv						= (glProgramUniformMatrix3x4fvFunc)							loader->get("glProgramUniformMatrix3x4fvEXT");
-	gl->programUniformMatrix4dv							= (glProgramUniformMatrix4dvFunc)							loader->get("glProgramUniformMatrix4dvEXT");
+	gl->programUniformMatrix4dvEXT						= (glProgramUniformMatrix4dvEXTFunc)						loader->get("glProgramUniformMatrix4dvEXT");
 	gl->programUniformMatrix4fv							= (glProgramUniformMatrix4fvFunc)							loader->get("glProgramUniformMatrix4fvEXT");
-	gl->programUniformMatrix4x2dv						= (glProgramUniformMatrix4x2dvFunc)							loader->get("glProgramUniformMatrix4x2dvEXT");
+	gl->programUniformMatrix4x2dvEXT					= (glProgramUniformMatrix4x2dvEXTFunc)						loader->get("glProgramUniformMatrix4x2dvEXT");
 	gl->programUniformMatrix4x2fv						= (glProgramUniformMatrix4x2fvFunc)							loader->get("glProgramUniformMatrix4x2fvEXT");
-	gl->programUniformMatrix4x3dv						= (glProgramUniformMatrix4x3dvFunc)							loader->get("glProgramUniformMatrix4x3dvEXT");
+	gl->programUniformMatrix4x3dvEXT					= (glProgramUniformMatrix4x3dvEXTFunc)						loader->get("glProgramUniformMatrix4x3dvEXT");
 	gl->programUniformMatrix4x3fv						= (glProgramUniformMatrix4x3fvFunc)							loader->get("glProgramUniformMatrix4x3fvEXT");
 	gl->pushClientAttribDefaultEXT						= (glPushClientAttribDefaultEXTFunc)						loader->get("glPushClientAttribDefaultEXT");
-	gl->textureBuffer									= (glTextureBufferFunc)										loader->get("glTextureBufferEXT");
-	gl->textureBufferRange								= (glTextureBufferRangeFunc)								loader->get("glTextureBufferRangeEXT");
+	gl->textureBufferEXT								= (glTextureBufferEXTFunc)									loader->get("glTextureBufferEXT");
+	gl->textureBufferRangeEXT							= (glTextureBufferRangeEXTFunc)								loader->get("glTextureBufferRangeEXT");
 	gl->textureImage1DEXT								= (glTextureImage1DEXTFunc)									loader->get("glTextureImage1DEXT");
 	gl->textureImage2DEXT								= (glTextureImage2DEXTFunc)									loader->get("glTextureImage2DEXT");
 	gl->textureImage3DEXT								= (glTextureImage3DEXTFunc)									loader->get("glTextureImage3DEXT");
 	gl->texturePageCommitmentEXT						= (glTexturePageCommitmentEXTFunc)							loader->get("glTexturePageCommitmentEXT");
-	gl->textureParameterIiv								= (glTextureParameterIivFunc)								loader->get("glTextureParameterIivEXT");
-	gl->textureParameterIuiv							= (glTextureParameterIuivFunc)								loader->get("glTextureParameterIuivEXT");
-	gl->textureParameterf								= (glTextureParameterfFunc)									loader->get("glTextureParameterfEXT");
-	gl->textureParameterfv								= (glTextureParameterfvFunc)								loader->get("glTextureParameterfvEXT");
-	gl->textureParameteri								= (glTextureParameteriFunc)									loader->get("glTextureParameteriEXT");
-	gl->textureParameteriv								= (glTextureParameterivFunc)								loader->get("glTextureParameterivEXT");
+	gl->textureParameterIivEXT							= (glTextureParameterIivEXTFunc)							loader->get("glTextureParameterIivEXT");
+	gl->textureParameterIuivEXT							= (glTextureParameterIuivEXTFunc)							loader->get("glTextureParameterIuivEXT");
+	gl->textureParameterfEXT							= (glTextureParameterfEXTFunc)								loader->get("glTextureParameterfEXT");
+	gl->textureParameterfvEXT							= (glTextureParameterfvEXTFunc)								loader->get("glTextureParameterfvEXT");
+	gl->textureParameteriEXT							= (glTextureParameteriEXTFunc)								loader->get("glTextureParameteriEXT");
+	gl->textureParameterivEXT							= (glTextureParameterivEXTFunc)								loader->get("glTextureParameterivEXT");
 	gl->textureRenderbufferEXT							= (glTextureRenderbufferEXTFunc)							loader->get("glTextureRenderbufferEXT");
 	gl->textureStorage1DEXT								= (glTextureStorage1DEXTFunc)								loader->get("glTextureStorage1DEXT");
 	gl->textureStorage2DEXT								= (glTextureStorage2DEXTFunc)								loader->get("glTextureStorage2DEXT");
-	gl->textureStorage2DMultisample						= (glTextureStorage2DMultisampleFunc)						loader->get("glTextureStorage2DMultisampleEXT");
+	gl->textureStorage2DMultisampleEXT					= (glTextureStorage2DMultisampleEXTFunc)					loader->get("glTextureStorage2DMultisampleEXT");
 	gl->textureStorage3DEXT								= (glTextureStorage3DEXTFunc)								loader->get("glTextureStorage3DEXT");
-	gl->textureStorage3DMultisample						= (glTextureStorage3DMultisampleFunc)						loader->get("glTextureStorage3DMultisampleEXT");
+	gl->textureStorage3DMultisampleEXT					= (glTextureStorage3DMultisampleEXTFunc)					loader->get("glTextureStorage3DMultisampleEXT");
 	gl->textureSubImage1DEXT							= (glTextureSubImage1DEXTFunc)								loader->get("glTextureSubImage1DEXT");
 	gl->textureSubImage2DEXT							= (glTextureSubImage2DEXTFunc)								loader->get("glTextureSubImage2DEXT");
 	gl->textureSubImage3DEXT							= (glTextureSubImage3DEXTFunc)								loader->get("glTextureSubImage3DEXT");
-	gl->unmapNamedBuffer								= (glUnmapNamedBufferFunc)									loader->get("glUnmapNamedBufferEXT");
+	gl->unmapNamedBufferEXT								= (glUnmapNamedBufferEXTFunc)								loader->get("glUnmapNamedBufferEXT");
 	gl->vertexArrayBindVertexBufferEXT					= (glVertexArrayBindVertexBufferEXTFunc)					loader->get("glVertexArrayBindVertexBufferEXT");
 	gl->vertexArrayColorOffsetEXT						= (glVertexArrayColorOffsetEXTFunc)							loader->get("glVertexArrayColorOffsetEXT");
 	gl->vertexArrayEdgeFlagOffsetEXT					= (glVertexArrayEdgeFlagOffsetEXTFunc)						loader->get("glVertexArrayEdgeFlagOffsetEXT");
@@ -294,9 +294,9 @@
 if (de::contains(extSet, "GL_EXT_direct_state_access"))
 {
 	gl->bindMultiTextureEXT								= (glBindMultiTextureEXTFunc)								loader->get("glBindMultiTextureEXT");
-	gl->checkNamedFramebufferStatus						= (glCheckNamedFramebufferStatusFunc)						loader->get("glCheckNamedFramebufferStatusEXT");
-	gl->clearNamedBufferData							= (glClearNamedBufferDataFunc)								loader->get("glClearNamedBufferDataEXT");
-	gl->clearNamedBufferSubData							= (glClearNamedBufferSubDataFunc)							loader->get("glClearNamedBufferSubDataEXT");
+	gl->checkNamedFramebufferStatusEXT					= (glCheckNamedFramebufferStatusEXTFunc)					loader->get("glCheckNamedFramebufferStatusEXT");
+	gl->clearNamedBufferDataEXT							= (glClearNamedBufferDataEXTFunc)							loader->get("glClearNamedBufferDataEXT");
+	gl->clearNamedBufferSubDataEXT						= (glClearNamedBufferSubDataEXTFunc)						loader->get("glClearNamedBufferSubDataEXT");
 	gl->clientAttribDefaultEXT							= (glClientAttribDefaultEXTFunc)							loader->get("glClientAttribDefaultEXT");
 	gl->compressedMultiTexImage1DEXT					= (glCompressedMultiTexImage1DEXTFunc)						loader->get("glCompressedMultiTexImage1DEXT");
 	gl->compressedMultiTexImage2DEXT					= (glCompressedMultiTexImage2DEXTFunc)						loader->get("glCompressedMultiTexImage2DEXT");
@@ -322,29 +322,29 @@
 	gl->copyTextureSubImage3DEXT						= (glCopyTextureSubImage3DEXTFunc)							loader->get("glCopyTextureSubImage3DEXT");
 	gl->disableClientStateIndexedEXT					= (glDisableClientStateIndexedEXTFunc)						loader->get("glDisableClientStateIndexedEXT");
 	gl->disableClientStateiEXT							= (glDisableClientStateiEXTFunc)							loader->get("glDisableClientStateiEXT");
-	gl->disableIndexedEXT								= (glDisableIndexedEXTFunc)									loader->get("glDisableIndexedEXT");
-	gl->disableVertexArrayAttrib						= (glDisableVertexArrayAttribFunc)							loader->get("glDisableVertexArrayAttribEXT");
+	gl->disablei										= (glDisableiFunc)											loader->get("glDisableIndexedEXT");
+	gl->disableVertexArrayAttribEXT						= (glDisableVertexArrayAttribEXTFunc)						loader->get("glDisableVertexArrayAttribEXT");
 	gl->disableVertexArrayEXT							= (glDisableVertexArrayEXTFunc)								loader->get("glDisableVertexArrayEXT");
 	gl->enableClientStateIndexedEXT						= (glEnableClientStateIndexedEXTFunc)						loader->get("glEnableClientStateIndexedEXT");
 	gl->enableClientStateiEXT							= (glEnableClientStateiEXTFunc)								loader->get("glEnableClientStateiEXT");
-	gl->enableIndexedEXT								= (glEnableIndexedEXTFunc)									loader->get("glEnableIndexedEXT");
-	gl->enableVertexArrayAttrib							= (glEnableVertexArrayAttribFunc)							loader->get("glEnableVertexArrayAttribEXT");
+	gl->enablei											= (glEnableiFunc)											loader->get("glEnableIndexedEXT");
+	gl->enableVertexArrayAttribEXT						= (glEnableVertexArrayAttribEXTFunc)						loader->get("glEnableVertexArrayAttribEXT");
 	gl->enableVertexArrayEXT							= (glEnableVertexArrayEXTFunc)								loader->get("glEnableVertexArrayEXT");
-	gl->flushMappedNamedBufferRange						= (glFlushMappedNamedBufferRangeFunc)						loader->get("glFlushMappedNamedBufferRangeEXT");
+	gl->flushMappedNamedBufferRangeEXT					= (glFlushMappedNamedBufferRangeEXTFunc)					loader->get("glFlushMappedNamedBufferRangeEXT");
 	gl->framebufferDrawBufferEXT						= (glFramebufferDrawBufferEXTFunc)							loader->get("glFramebufferDrawBufferEXT");
 	gl->framebufferDrawBuffersEXT						= (glFramebufferDrawBuffersEXTFunc)							loader->get("glFramebufferDrawBuffersEXT");
 	gl->framebufferReadBufferEXT						= (glFramebufferReadBufferEXTFunc)							loader->get("glFramebufferReadBufferEXT");
 	gl->generateMultiTexMipmapEXT						= (glGenerateMultiTexMipmapEXTFunc)							loader->get("glGenerateMultiTexMipmapEXT");
-	gl->generateTextureMipmap							= (glGenerateTextureMipmapFunc)								loader->get("glGenerateTextureMipmapEXT");
-	gl->getBooleanIndexedvEXT							= (glGetBooleanIndexedvEXTFunc)								loader->get("glGetBooleanIndexedvEXT");
+	gl->generateTextureMipmapEXT						= (glGenerateTextureMipmapEXTFunc)							loader->get("glGenerateTextureMipmapEXT");
+	gl->getBooleani_v									= (glGetBooleani_vFunc)										loader->get("glGetBooleanIndexedvEXT");
 	gl->getCompressedMultiTexImageEXT					= (glGetCompressedMultiTexImageEXTFunc)						loader->get("glGetCompressedMultiTexImageEXT");
-	gl->getCompressedTextureImage						= (glGetCompressedTextureImageFunc)							loader->get("glGetCompressedTextureImageEXT");
-	gl->getDoubleIndexedvEXT							= (glGetDoubleIndexedvEXTFunc)								loader->get("glGetDoubleIndexedvEXT");
+	gl->getCompressedTextureImageEXT					= (glGetCompressedTextureImageEXTFunc)						loader->get("glGetCompressedTextureImageEXT");
+	gl->getDoublei_v									= (glGetDoublei_vFunc)										loader->get("glGetDoubleIndexedvEXT");
 	gl->getDoublei_v									= (glGetDoublei_vFunc)										loader->get("glGetDoublei_vEXT");
-	gl->getFloatIndexedvEXT								= (glGetFloatIndexedvEXTFunc)								loader->get("glGetFloatIndexedvEXT");
+	gl->getFloati_v										= (glGetFloati_vFunc)										loader->get("glGetFloatIndexedvEXT");
 	gl->getFloati_v										= (glGetFloati_vFunc)										loader->get("glGetFloati_vEXT");
-	gl->getFramebufferParameteriv						= (glGetFramebufferParameterivFunc)							loader->get("glGetFramebufferParameterivEXT");
-	gl->getIntegerIndexedvEXT							= (glGetIntegerIndexedvEXTFunc)								loader->get("glGetIntegerIndexedvEXT");
+	gl->getFramebufferParameterivEXT					= (glGetFramebufferParameterivEXTFunc)						loader->get("glGetFramebufferParameterivEXT");
+	gl->getIntegeri_v									= (glGetIntegeri_vFunc)										loader->get("glGetIntegerIndexedvEXT");
 	gl->getMultiTexEnvfvEXT								= (glGetMultiTexEnvfvEXTFunc)								loader->get("glGetMultiTexEnvfvEXT");
 	gl->getMultiTexEnvivEXT								= (glGetMultiTexEnvivEXTFunc)								loader->get("glGetMultiTexEnvivEXT");
 	gl->getMultiTexGendvEXT								= (glGetMultiTexGendvEXTFunc)								loader->get("glGetMultiTexGendvEXT");
@@ -357,34 +357,34 @@
 	gl->getMultiTexParameterIuivEXT						= (glGetMultiTexParameterIuivEXTFunc)						loader->get("glGetMultiTexParameterIuivEXT");
 	gl->getMultiTexParameterfvEXT						= (glGetMultiTexParameterfvEXTFunc)							loader->get("glGetMultiTexParameterfvEXT");
 	gl->getMultiTexParameterivEXT						= (glGetMultiTexParameterivEXTFunc)							loader->get("glGetMultiTexParameterivEXT");
-	gl->getNamedBufferParameteriv						= (glGetNamedBufferParameterivFunc)							loader->get("glGetNamedBufferParameterivEXT");
-	gl->getNamedBufferPointerv							= (glGetNamedBufferPointervFunc)							loader->get("glGetNamedBufferPointervEXT");
-	gl->getNamedBufferSubData							= (glGetNamedBufferSubDataFunc)								loader->get("glGetNamedBufferSubDataEXT");
-	gl->getNamedFramebufferAttachmentParameteriv		= (glGetNamedFramebufferAttachmentParameterivFunc)			loader->get("glGetNamedFramebufferAttachmentParameterivEXT");
-	gl->getNamedFramebufferParameteriv					= (glGetNamedFramebufferParameterivFunc)					loader->get("glGetNamedFramebufferParameterivEXT");
+	gl->getNamedBufferParameterivEXT					= (glGetNamedBufferParameterivEXTFunc)						loader->get("glGetNamedBufferParameterivEXT");
+	gl->getNamedBufferPointervEXT						= (glGetNamedBufferPointervEXTFunc)							loader->get("glGetNamedBufferPointervEXT");
+	gl->getNamedBufferSubDataEXT						= (glGetNamedBufferSubDataEXTFunc)							loader->get("glGetNamedBufferSubDataEXT");
+	gl->getNamedFramebufferAttachmentParameterivEXT		= (glGetNamedFramebufferAttachmentParameterivEXTFunc)		loader->get("glGetNamedFramebufferAttachmentParameterivEXT");
+	gl->getNamedFramebufferParameterivEXT				= (glGetNamedFramebufferParameterivEXTFunc)					loader->get("glGetNamedFramebufferParameterivEXT");
 	gl->getNamedProgramLocalParameterIivEXT				= (glGetNamedProgramLocalParameterIivEXTFunc)				loader->get("glGetNamedProgramLocalParameterIivEXT");
 	gl->getNamedProgramLocalParameterIuivEXT			= (glGetNamedProgramLocalParameterIuivEXTFunc)				loader->get("glGetNamedProgramLocalParameterIuivEXT");
 	gl->getNamedProgramLocalParameterdvEXT				= (glGetNamedProgramLocalParameterdvEXTFunc)				loader->get("glGetNamedProgramLocalParameterdvEXT");
 	gl->getNamedProgramLocalParameterfvEXT				= (glGetNamedProgramLocalParameterfvEXTFunc)				loader->get("glGetNamedProgramLocalParameterfvEXT");
 	gl->getNamedProgramStringEXT						= (glGetNamedProgramStringEXTFunc)							loader->get("glGetNamedProgramStringEXT");
 	gl->getNamedProgramivEXT							= (glGetNamedProgramivEXTFunc)								loader->get("glGetNamedProgramivEXT");
-	gl->getNamedRenderbufferParameteriv					= (glGetNamedRenderbufferParameterivFunc)					loader->get("glGetNamedRenderbufferParameterivEXT");
+	gl->getNamedRenderbufferParameterivEXT				= (glGetNamedRenderbufferParameterivEXTFunc)				loader->get("glGetNamedRenderbufferParameterivEXT");
 	gl->getPointerIndexedvEXT							= (glGetPointerIndexedvEXTFunc)								loader->get("glGetPointerIndexedvEXT");
 	gl->getPointeri_vEXT								= (glGetPointeri_vEXTFunc)									loader->get("glGetPointeri_vEXT");
-	gl->getTextureImage									= (glGetTextureImageFunc)									loader->get("glGetTextureImageEXT");
-	gl->getTextureLevelParameterfv						= (glGetTextureLevelParameterfvFunc)						loader->get("glGetTextureLevelParameterfvEXT");
-	gl->getTextureLevelParameteriv						= (glGetTextureLevelParameterivFunc)						loader->get("glGetTextureLevelParameterivEXT");
-	gl->getTextureParameterIiv							= (glGetTextureParameterIivFunc)							loader->get("glGetTextureParameterIivEXT");
-	gl->getTextureParameterIuiv							= (glGetTextureParameterIuivFunc)							loader->get("glGetTextureParameterIuivEXT");
-	gl->getTextureParameterfv							= (glGetTextureParameterfvFunc)								loader->get("glGetTextureParameterfvEXT");
-	gl->getTextureParameteriv							= (glGetTextureParameterivFunc)								loader->get("glGetTextureParameterivEXT");
+	gl->getTextureImageEXT								= (glGetTextureImageEXTFunc)								loader->get("glGetTextureImageEXT");
+	gl->getTextureLevelParameterfvEXT					= (glGetTextureLevelParameterfvEXTFunc)						loader->get("glGetTextureLevelParameterfvEXT");
+	gl->getTextureLevelParameterivEXT					= (glGetTextureLevelParameterivEXTFunc)						loader->get("glGetTextureLevelParameterivEXT");
+	gl->getTextureParameterIivEXT						= (glGetTextureParameterIivEXTFunc)							loader->get("glGetTextureParameterIivEXT");
+	gl->getTextureParameterIuivEXT						= (glGetTextureParameterIuivEXTFunc)						loader->get("glGetTextureParameterIuivEXT");
+	gl->getTextureParameterfvEXT						= (glGetTextureParameterfvEXTFunc)							loader->get("glGetTextureParameterfvEXT");
+	gl->getTextureParameterivEXT						= (glGetTextureParameterivEXTFunc)							loader->get("glGetTextureParameterivEXT");
 	gl->getVertexArrayIntegeri_vEXT						= (glGetVertexArrayIntegeri_vEXTFunc)						loader->get("glGetVertexArrayIntegeri_vEXT");
 	gl->getVertexArrayIntegervEXT						= (glGetVertexArrayIntegervEXTFunc)							loader->get("glGetVertexArrayIntegervEXT");
 	gl->getVertexArrayPointeri_vEXT						= (glGetVertexArrayPointeri_vEXTFunc)						loader->get("glGetVertexArrayPointeri_vEXT");
 	gl->getVertexArrayPointervEXT						= (glGetVertexArrayPointervEXTFunc)							loader->get("glGetVertexArrayPointervEXT");
-	gl->isEnabledIndexedEXT								= (glIsEnabledIndexedEXTFunc)								loader->get("glIsEnabledIndexedEXT");
-	gl->mapNamedBuffer									= (glMapNamedBufferFunc)									loader->get("glMapNamedBufferEXT");
-	gl->mapNamedBufferRange								= (glMapNamedBufferRangeFunc)								loader->get("glMapNamedBufferRangeEXT");
+	gl->isEnabledi										= (glIsEnablediFunc)										loader->get("glIsEnabledIndexedEXT");
+	gl->mapNamedBufferEXT								= (glMapNamedBufferEXTFunc)									loader->get("glMapNamedBufferEXT");
+	gl->mapNamedBufferRangeEXT							= (glMapNamedBufferRangeEXTFunc)							loader->get("glMapNamedBufferRangeEXT");
 	gl->matrixFrustumEXT								= (glMatrixFrustumEXTFunc)									loader->get("glMatrixFrustumEXT");
 	gl->matrixLoadIdentityEXT							= (glMatrixLoadIdentityEXTFunc)								loader->get("glMatrixLoadIdentityEXT");
 	gl->matrixLoadTransposedEXT							= (glMatrixLoadTransposedEXTFunc)							loader->get("glMatrixLoadTransposedEXT");
@@ -429,18 +429,18 @@
 	gl->multiTexSubImage1DEXT							= (glMultiTexSubImage1DEXTFunc)								loader->get("glMultiTexSubImage1DEXT");
 	gl->multiTexSubImage2DEXT							= (glMultiTexSubImage2DEXTFunc)								loader->get("glMultiTexSubImage2DEXT");
 	gl->multiTexSubImage3DEXT							= (glMultiTexSubImage3DEXTFunc)								loader->get("glMultiTexSubImage3DEXT");
-	gl->namedBufferData									= (glNamedBufferDataFunc)									loader->get("glNamedBufferDataEXT");
+	gl->namedBufferDataEXT								= (glNamedBufferDataEXTFunc)								loader->get("glNamedBufferDataEXT");
 	gl->namedBufferStorage								= (glNamedBufferStorageFunc)								loader->get("glNamedBufferStorageEXT");
 	gl->namedBufferSubData								= (glNamedBufferSubDataFunc)								loader->get("glNamedBufferSubDataEXT");
 	gl->namedCopyBufferSubDataEXT						= (glNamedCopyBufferSubDataEXTFunc)							loader->get("glNamedCopyBufferSubDataEXT");
-	gl->namedFramebufferParameteri						= (glNamedFramebufferParameteriFunc)						loader->get("glNamedFramebufferParameteriEXT");
-	gl->namedFramebufferRenderbuffer					= (glNamedFramebufferRenderbufferFunc)						loader->get("glNamedFramebufferRenderbufferEXT");
+	gl->namedFramebufferParameteriEXT					= (glNamedFramebufferParameteriEXTFunc)						loader->get("glNamedFramebufferParameteriEXT");
+	gl->namedFramebufferRenderbufferEXT					= (glNamedFramebufferRenderbufferEXTFunc)					loader->get("glNamedFramebufferRenderbufferEXT");
 	gl->namedFramebufferTexture1DEXT					= (glNamedFramebufferTexture1DEXTFunc)						loader->get("glNamedFramebufferTexture1DEXT");
 	gl->namedFramebufferTexture2DEXT					= (glNamedFramebufferTexture2DEXTFunc)						loader->get("glNamedFramebufferTexture2DEXT");
 	gl->namedFramebufferTexture3DEXT					= (glNamedFramebufferTexture3DEXTFunc)						loader->get("glNamedFramebufferTexture3DEXT");
-	gl->namedFramebufferTexture							= (glNamedFramebufferTextureFunc)							loader->get("glNamedFramebufferTextureEXT");
+	gl->namedFramebufferTextureEXT						= (glNamedFramebufferTextureEXTFunc)						loader->get("glNamedFramebufferTextureEXT");
 	gl->namedFramebufferTextureFaceEXT					= (glNamedFramebufferTextureFaceEXTFunc)					loader->get("glNamedFramebufferTextureFaceEXT");
-	gl->namedFramebufferTextureLayer					= (glNamedFramebufferTextureLayerFunc)						loader->get("glNamedFramebufferTextureLayerEXT");
+	gl->namedFramebufferTextureLayerEXT					= (glNamedFramebufferTextureLayerEXTFunc)					loader->get("glNamedFramebufferTextureLayerEXT");
 	gl->namedProgramLocalParameter4dEXT					= (glNamedProgramLocalParameter4dEXTFunc)					loader->get("glNamedProgramLocalParameter4dEXT");
 	gl->namedProgramLocalParameter4dvEXT				= (glNamedProgramLocalParameter4dvEXTFunc)					loader->get("glNamedProgramLocalParameter4dvEXT");
 	gl->namedProgramLocalParameter4fEXT					= (glNamedProgramLocalParameter4fEXTFunc)					loader->get("glNamedProgramLocalParameter4fEXT");
@@ -453,82 +453,82 @@
 	gl->namedProgramLocalParametersI4ivEXT				= (glNamedProgramLocalParametersI4ivEXTFunc)				loader->get("glNamedProgramLocalParametersI4ivEXT");
 	gl->namedProgramLocalParametersI4uivEXT				= (glNamedProgramLocalParametersI4uivEXTFunc)				loader->get("glNamedProgramLocalParametersI4uivEXT");
 	gl->namedProgramStringEXT							= (glNamedProgramStringEXTFunc)								loader->get("glNamedProgramStringEXT");
-	gl->namedRenderbufferStorage						= (glNamedRenderbufferStorageFunc)							loader->get("glNamedRenderbufferStorageEXT");
+	gl->namedRenderbufferStorageEXT						= (glNamedRenderbufferStorageEXTFunc)						loader->get("glNamedRenderbufferStorageEXT");
 	gl->namedRenderbufferStorageMultisampleCoverageEXT	= (glNamedRenderbufferStorageMultisampleCoverageEXTFunc)	loader->get("glNamedRenderbufferStorageMultisampleCoverageEXT");
-	gl->namedRenderbufferStorageMultisample				= (glNamedRenderbufferStorageMultisampleFunc)				loader->get("glNamedRenderbufferStorageMultisampleEXT");
-	gl->programUniform1d								= (glProgramUniform1dFunc)									loader->get("glProgramUniform1dEXT");
-	gl->programUniform1dv								= (glProgramUniform1dvFunc)									loader->get("glProgramUniform1dvEXT");
+	gl->namedRenderbufferStorageMultisampleEXT			= (glNamedRenderbufferStorageMultisampleEXTFunc)			loader->get("glNamedRenderbufferStorageMultisampleEXT");
+	gl->programUniform1dEXT								= (glProgramUniform1dEXTFunc)								loader->get("glProgramUniform1dEXT");
+	gl->programUniform1dvEXT							= (glProgramUniform1dvEXTFunc)								loader->get("glProgramUniform1dvEXT");
 	gl->programUniform1f								= (glProgramUniform1fFunc)									loader->get("glProgramUniform1fEXT");
 	gl->programUniform1fv								= (glProgramUniform1fvFunc)									loader->get("glProgramUniform1fvEXT");
 	gl->programUniform1i								= (glProgramUniform1iFunc)									loader->get("glProgramUniform1iEXT");
 	gl->programUniform1iv								= (glProgramUniform1ivFunc)									loader->get("glProgramUniform1ivEXT");
 	gl->programUniform1ui								= (glProgramUniform1uiFunc)									loader->get("glProgramUniform1uiEXT");
 	gl->programUniform1uiv								= (glProgramUniform1uivFunc)								loader->get("glProgramUniform1uivEXT");
-	gl->programUniform2d								= (glProgramUniform2dFunc)									loader->get("glProgramUniform2dEXT");
-	gl->programUniform2dv								= (glProgramUniform2dvFunc)									loader->get("glProgramUniform2dvEXT");
+	gl->programUniform2dEXT								= (glProgramUniform2dEXTFunc)								loader->get("glProgramUniform2dEXT");
+	gl->programUniform2dvEXT							= (glProgramUniform2dvEXTFunc)								loader->get("glProgramUniform2dvEXT");
 	gl->programUniform2f								= (glProgramUniform2fFunc)									loader->get("glProgramUniform2fEXT");
 	gl->programUniform2fv								= (glProgramUniform2fvFunc)									loader->get("glProgramUniform2fvEXT");
 	gl->programUniform2i								= (glProgramUniform2iFunc)									loader->get("glProgramUniform2iEXT");
 	gl->programUniform2iv								= (glProgramUniform2ivFunc)									loader->get("glProgramUniform2ivEXT");
 	gl->programUniform2ui								= (glProgramUniform2uiFunc)									loader->get("glProgramUniform2uiEXT");
 	gl->programUniform2uiv								= (glProgramUniform2uivFunc)								loader->get("glProgramUniform2uivEXT");
-	gl->programUniform3d								= (glProgramUniform3dFunc)									loader->get("glProgramUniform3dEXT");
-	gl->programUniform3dv								= (glProgramUniform3dvFunc)									loader->get("glProgramUniform3dvEXT");
+	gl->programUniform3dEXT								= (glProgramUniform3dEXTFunc)								loader->get("glProgramUniform3dEXT");
+	gl->programUniform3dvEXT							= (glProgramUniform3dvEXTFunc)								loader->get("glProgramUniform3dvEXT");
 	gl->programUniform3f								= (glProgramUniform3fFunc)									loader->get("glProgramUniform3fEXT");
 	gl->programUniform3fv								= (glProgramUniform3fvFunc)									loader->get("glProgramUniform3fvEXT");
 	gl->programUniform3i								= (glProgramUniform3iFunc)									loader->get("glProgramUniform3iEXT");
 	gl->programUniform3iv								= (glProgramUniform3ivFunc)									loader->get("glProgramUniform3ivEXT");
 	gl->programUniform3ui								= (glProgramUniform3uiFunc)									loader->get("glProgramUniform3uiEXT");
 	gl->programUniform3uiv								= (glProgramUniform3uivFunc)								loader->get("glProgramUniform3uivEXT");
-	gl->programUniform4d								= (glProgramUniform4dFunc)									loader->get("glProgramUniform4dEXT");
-	gl->programUniform4dv								= (glProgramUniform4dvFunc)									loader->get("glProgramUniform4dvEXT");
+	gl->programUniform4dEXT								= (glProgramUniform4dEXTFunc)								loader->get("glProgramUniform4dEXT");
+	gl->programUniform4dvEXT							= (glProgramUniform4dvEXTFunc)								loader->get("glProgramUniform4dvEXT");
 	gl->programUniform4f								= (glProgramUniform4fFunc)									loader->get("glProgramUniform4fEXT");
 	gl->programUniform4fv								= (glProgramUniform4fvFunc)									loader->get("glProgramUniform4fvEXT");
 	gl->programUniform4i								= (glProgramUniform4iFunc)									loader->get("glProgramUniform4iEXT");
 	gl->programUniform4iv								= (glProgramUniform4ivFunc)									loader->get("glProgramUniform4ivEXT");
 	gl->programUniform4ui								= (glProgramUniform4uiFunc)									loader->get("glProgramUniform4uiEXT");
 	gl->programUniform4uiv								= (glProgramUniform4uivFunc)								loader->get("glProgramUniform4uivEXT");
-	gl->programUniformMatrix2dv							= (glProgramUniformMatrix2dvFunc)							loader->get("glProgramUniformMatrix2dvEXT");
+	gl->programUniformMatrix2dvEXT						= (glProgramUniformMatrix2dvEXTFunc)						loader->get("glProgramUniformMatrix2dvEXT");
 	gl->programUniformMatrix2fv							= (glProgramUniformMatrix2fvFunc)							loader->get("glProgramUniformMatrix2fvEXT");
-	gl->programUniformMatrix2x3dv						= (glProgramUniformMatrix2x3dvFunc)							loader->get("glProgramUniformMatrix2x3dvEXT");
+	gl->programUniformMatrix2x3dvEXT					= (glProgramUniformMatrix2x3dvEXTFunc)						loader->get("glProgramUniformMatrix2x3dvEXT");
 	gl->programUniformMatrix2x3fv						= (glProgramUniformMatrix2x3fvFunc)							loader->get("glProgramUniformMatrix2x3fvEXT");
-	gl->programUniformMatrix2x4dv						= (glProgramUniformMatrix2x4dvFunc)							loader->get("glProgramUniformMatrix2x4dvEXT");
+	gl->programUniformMatrix2x4dvEXT					= (glProgramUniformMatrix2x4dvEXTFunc)						loader->get("glProgramUniformMatrix2x4dvEXT");
 	gl->programUniformMatrix2x4fv						= (glProgramUniformMatrix2x4fvFunc)							loader->get("glProgramUniformMatrix2x4fvEXT");
-	gl->programUniformMatrix3dv							= (glProgramUniformMatrix3dvFunc)							loader->get("glProgramUniformMatrix3dvEXT");
+	gl->programUniformMatrix3dvEXT						= (glProgramUniformMatrix3dvEXTFunc)						loader->get("glProgramUniformMatrix3dvEXT");
 	gl->programUniformMatrix3fv							= (glProgramUniformMatrix3fvFunc)							loader->get("glProgramUniformMatrix3fvEXT");
-	gl->programUniformMatrix3x2dv						= (glProgramUniformMatrix3x2dvFunc)							loader->get("glProgramUniformMatrix3x2dvEXT");
+	gl->programUniformMatrix3x2dvEXT					= (glProgramUniformMatrix3x2dvEXTFunc)						loader->get("glProgramUniformMatrix3x2dvEXT");
 	gl->programUniformMatrix3x2fv						= (glProgramUniformMatrix3x2fvFunc)							loader->get("glProgramUniformMatrix3x2fvEXT");
-	gl->programUniformMatrix3x4dv						= (glProgramUniformMatrix3x4dvFunc)							loader->get("glProgramUniformMatrix3x4dvEXT");
+	gl->programUniformMatrix3x4dvEXT					= (glProgramUniformMatrix3x4dvEXTFunc)						loader->get("glProgramUniformMatrix3x4dvEXT");
 	gl->programUniformMatrix3x4fv						= (glProgramUniformMatrix3x4fvFunc)							loader->get("glProgramUniformMatrix3x4fvEXT");
-	gl->programUniformMatrix4dv							= (glProgramUniformMatrix4dvFunc)							loader->get("glProgramUniformMatrix4dvEXT");
+	gl->programUniformMatrix4dvEXT						= (glProgramUniformMatrix4dvEXTFunc)						loader->get("glProgramUniformMatrix4dvEXT");
 	gl->programUniformMatrix4fv							= (glProgramUniformMatrix4fvFunc)							loader->get("glProgramUniformMatrix4fvEXT");
-	gl->programUniformMatrix4x2dv						= (glProgramUniformMatrix4x2dvFunc)							loader->get("glProgramUniformMatrix4x2dvEXT");
+	gl->programUniformMatrix4x2dvEXT					= (glProgramUniformMatrix4x2dvEXTFunc)						loader->get("glProgramUniformMatrix4x2dvEXT");
 	gl->programUniformMatrix4x2fv						= (glProgramUniformMatrix4x2fvFunc)							loader->get("glProgramUniformMatrix4x2fvEXT");
-	gl->programUniformMatrix4x3dv						= (glProgramUniformMatrix4x3dvFunc)							loader->get("glProgramUniformMatrix4x3dvEXT");
+	gl->programUniformMatrix4x3dvEXT					= (glProgramUniformMatrix4x3dvEXTFunc)						loader->get("glProgramUniformMatrix4x3dvEXT");
 	gl->programUniformMatrix4x3fv						= (glProgramUniformMatrix4x3fvFunc)							loader->get("glProgramUniformMatrix4x3fvEXT");
 	gl->pushClientAttribDefaultEXT						= (glPushClientAttribDefaultEXTFunc)						loader->get("glPushClientAttribDefaultEXT");
-	gl->textureBuffer									= (glTextureBufferFunc)										loader->get("glTextureBufferEXT");
-	gl->textureBufferRange								= (glTextureBufferRangeFunc)								loader->get("glTextureBufferRangeEXT");
+	gl->textureBufferEXT								= (glTextureBufferEXTFunc)									loader->get("glTextureBufferEXT");
+	gl->textureBufferRangeEXT							= (glTextureBufferRangeEXTFunc)								loader->get("glTextureBufferRangeEXT");
 	gl->textureImage1DEXT								= (glTextureImage1DEXTFunc)									loader->get("glTextureImage1DEXT");
 	gl->textureImage2DEXT								= (glTextureImage2DEXTFunc)									loader->get("glTextureImage2DEXT");
 	gl->textureImage3DEXT								= (glTextureImage3DEXTFunc)									loader->get("glTextureImage3DEXT");
 	gl->texturePageCommitmentEXT						= (glTexturePageCommitmentEXTFunc)							loader->get("glTexturePageCommitmentEXT");
-	gl->textureParameterIiv								= (glTextureParameterIivFunc)								loader->get("glTextureParameterIivEXT");
-	gl->textureParameterIuiv							= (glTextureParameterIuivFunc)								loader->get("glTextureParameterIuivEXT");
-	gl->textureParameterf								= (glTextureParameterfFunc)									loader->get("glTextureParameterfEXT");
-	gl->textureParameterfv								= (glTextureParameterfvFunc)								loader->get("glTextureParameterfvEXT");
-	gl->textureParameteri								= (glTextureParameteriFunc)									loader->get("glTextureParameteriEXT");
-	gl->textureParameteriv								= (glTextureParameterivFunc)								loader->get("glTextureParameterivEXT");
+	gl->textureParameterIivEXT							= (glTextureParameterIivEXTFunc)							loader->get("glTextureParameterIivEXT");
+	gl->textureParameterIuivEXT							= (glTextureParameterIuivEXTFunc)							loader->get("glTextureParameterIuivEXT");
+	gl->textureParameterfEXT							= (glTextureParameterfEXTFunc)								loader->get("glTextureParameterfEXT");
+	gl->textureParameterfvEXT							= (glTextureParameterfvEXTFunc)								loader->get("glTextureParameterfvEXT");
+	gl->textureParameteriEXT							= (glTextureParameteriEXTFunc)								loader->get("glTextureParameteriEXT");
+	gl->textureParameterivEXT							= (glTextureParameterivEXTFunc)								loader->get("glTextureParameterivEXT");
 	gl->textureRenderbufferEXT							= (glTextureRenderbufferEXTFunc)							loader->get("glTextureRenderbufferEXT");
 	gl->textureStorage1DEXT								= (glTextureStorage1DEXTFunc)								loader->get("glTextureStorage1DEXT");
 	gl->textureStorage2DEXT								= (glTextureStorage2DEXTFunc)								loader->get("glTextureStorage2DEXT");
-	gl->textureStorage2DMultisample						= (glTextureStorage2DMultisampleFunc)						loader->get("glTextureStorage2DMultisampleEXT");
+	gl->textureStorage2DMultisampleEXT					= (glTextureStorage2DMultisampleEXTFunc)					loader->get("glTextureStorage2DMultisampleEXT");
 	gl->textureStorage3DEXT								= (glTextureStorage3DEXTFunc)								loader->get("glTextureStorage3DEXT");
-	gl->textureStorage3DMultisample						= (glTextureStorage3DMultisampleFunc)						loader->get("glTextureStorage3DMultisampleEXT");
+	gl->textureStorage3DMultisampleEXT					= (glTextureStorage3DMultisampleEXTFunc)					loader->get("glTextureStorage3DMultisampleEXT");
 	gl->textureSubImage1DEXT							= (glTextureSubImage1DEXTFunc)								loader->get("glTextureSubImage1DEXT");
 	gl->textureSubImage2DEXT							= (glTextureSubImage2DEXTFunc)								loader->get("glTextureSubImage2DEXT");
 	gl->textureSubImage3DEXT							= (glTextureSubImage3DEXTFunc)								loader->get("glTextureSubImage3DEXT");
-	gl->unmapNamedBuffer								= (glUnmapNamedBufferFunc)									loader->get("glUnmapNamedBufferEXT");
+	gl->unmapNamedBufferEXT								= (glUnmapNamedBufferEXTFunc)								loader->get("glUnmapNamedBufferEXT");
 	gl->vertexArrayBindVertexBufferEXT					= (glVertexArrayBindVertexBufferEXTFunc)					loader->get("glVertexArrayBindVertexBufferEXT");
 	gl->vertexArrayColorOffsetEXT						= (glVertexArrayColorOffsetEXTFunc)							loader->get("glVertexArrayColorOffsetEXT");
 	gl->vertexArrayEdgeFlagOffsetEXT					= (glVertexArrayEdgeFlagOffsetEXTFunc)						loader->get("glVertexArrayEdgeFlagOffsetEXT");
diff --git a/framework/opengl/wrapper/glwInitGL30.inl b/framework/opengl/wrapper/glwInitGL30.inl
index d1264a5..dcbd864 100644
--- a/framework/opengl/wrapper/glwInitGL30.inl
+++ b/framework/opengl/wrapper/glwInitGL30.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitGL31.inl b/framework/opengl/wrapper/glwInitGL31.inl
index aa6c119..4ffbaf5 100644
--- a/framework/opengl/wrapper/glwInitGL31.inl
+++ b/framework/opengl/wrapper/glwInitGL31.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitGL32.inl b/framework/opengl/wrapper/glwInitGL32.inl
index 22ad737..64b0b4e 100644
--- a/framework/opengl/wrapper/glwInitGL32.inl
+++ b/framework/opengl/wrapper/glwInitGL32.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitGL33.inl b/framework/opengl/wrapper/glwInitGL33.inl
index 56c56ca..ec4feb6 100644
--- a/framework/opengl/wrapper/glwInitGL33.inl
+++ b/framework/opengl/wrapper/glwInitGL33.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitGL40.inl b/framework/opengl/wrapper/glwInitGL40.inl
index e90de65..fb93dcf 100644
--- a/framework/opengl/wrapper/glwInitGL40.inl
+++ b/framework/opengl/wrapper/glwInitGL40.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
 gl->attachShader						= (glAttachShaderFunc)							loader->get("glAttachShader");
diff --git a/framework/opengl/wrapper/glwInitGL41.inl b/framework/opengl/wrapper/glwInitGL41.inl
index 0f27da8..3772046 100644
--- a/framework/opengl/wrapper/glwInitGL41.inl
+++ b/framework/opengl/wrapper/glwInitGL41.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram					= (glActiveShaderProgramFunc)					loader->get("glActiveShaderProgram");
 gl->activeTexture						= (glActiveTextureFunc)							loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwInitGL42.inl b/framework/opengl/wrapper/glwInitGL42.inl
index 1d22c92..e331aa2 100644
--- a/framework/opengl/wrapper/glwInitGL42.inl
+++ b/framework/opengl/wrapper/glwInitGL42.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram							= (glActiveShaderProgramFunc)							loader->get("glActiveShaderProgram");
 gl->activeTexture								= (glActiveTextureFunc)									loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwInitGL43.inl b/framework/opengl/wrapper/glwInitGL43.inl
index d5ec599..afb6557 100644
--- a/framework/opengl/wrapper/glwInitGL43.inl
+++ b/framework/opengl/wrapper/glwInitGL43.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram							= (glActiveShaderProgramFunc)							loader->get("glActiveShaderProgram");
 gl->activeTexture								= (glActiveTextureFunc)									loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwInitGL44.inl b/framework/opengl/wrapper/glwInitGL44.inl
index 6c5cb9f..3558eb6 100644
--- a/framework/opengl/wrapper/glwInitGL44.inl
+++ b/framework/opengl/wrapper/glwInitGL44.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram							= (glActiveShaderProgramFunc)							loader->get("glActiveShaderProgram");
 gl->activeTexture								= (glActiveTextureFunc)									loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwInitGL45.inl b/framework/opengl/wrapper/glwInitGL45.inl
index cd2e092..65d556e 100644
--- a/framework/opengl/wrapper/glwInitGL45.inl
+++ b/framework/opengl/wrapper/glwInitGL45.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram							= (glActiveShaderProgramFunc)							loader->get("glActiveShaderProgram");
 gl->activeTexture								= (glActiveTextureFunc)									loader->get("glActiveTexture");
diff --git a/framework/opengl/wrapper/glwVersions.inl b/framework/opengl/wrapper/glwVersions.inl
index a317b92..2c1c845 100644
--- a/framework/opengl/wrapper/glwVersions.inl
+++ b/framework/opengl/wrapper/glwVersions.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 #define GL_ES_VERSION_2_0	1
 #define GL_ES_VERSION_3_0	1
diff --git a/framework/platform/null/tcuNullRenderContextFuncs.inl b/framework/platform/null/tcuNullRenderContextFuncs.inl
index cd77ffc..bf8bbe4 100644
--- a/framework/platform/null/tcuNullRenderContextFuncs.inl
+++ b/framework/platform/null/tcuNullRenderContextFuncs.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 
 GLW_APICALL void GLW_APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program)
@@ -384,6 +384,14 @@
 	return (GLenum)0;
 }
 
+GLW_APICALL GLenum GLW_APIENTRY glCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(target);
+
+	return (GLenum)0;
+}
+
 GLW_APICALL void GLW_APIENTRY glClampColor (GLenum target, GLenum clamp)
 {
 	DE_UNREF(target);
@@ -483,6 +491,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(internalformat);
+	DE_UNREF(format);
+	DE_UNREF(type);
+	DE_UNREF(data);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
 {
 	DE_UNREF(buffer);
@@ -495,6 +513,18 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(internalformat);
+	DE_UNREF(offset);
+	DE_UNREF(size);
+	DE_UNREF(format);
+	DE_UNREF(type);
+	DE_UNREF(data);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
 {
 	DE_UNREF(framebuffer);
@@ -737,20 +767,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
-{
-	DE_UNREF(target);
-	DE_UNREF(level);
-	DE_UNREF(internalformat);
-	DE_UNREF(width);
-	DE_UNREF(height);
-	DE_UNREF(depth);
-	DE_UNREF(border);
-	DE_UNREF(imageSize);
-	DE_UNREF(data);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)
 {
 	DE_UNREF(target);
@@ -793,22 +809,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
-{
-	DE_UNREF(target);
-	DE_UNREF(level);
-	DE_UNREF(xoffset);
-	DE_UNREF(yoffset);
-	DE_UNREF(zoffset);
-	DE_UNREF(width);
-	DE_UNREF(height);
-	DE_UNREF(depth);
-	DE_UNREF(format);
-	DE_UNREF(imageSize);
-	DE_UNREF(data);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits)
 {
 	DE_UNREF(texture);
@@ -1109,20 +1109,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-{
-	DE_UNREF(target);
-	DE_UNREF(level);
-	DE_UNREF(xoffset);
-	DE_UNREF(yoffset);
-	DE_UNREF(zoffset);
-	DE_UNREF(x);
-	DE_UNREF(y);
-	DE_UNREF(width);
-	DE_UNREF(height);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
 {
 	DE_UNREF(texture);
@@ -1504,14 +1490,14 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glDisableIndexedEXT (GLenum target, GLuint index)
+GLW_APICALL void GLW_APIENTRY glDisableVertexArrayAttrib (GLuint vaobj, GLuint index)
 {
-	DE_UNREF(target);
+	DE_UNREF(vaobj);
 	DE_UNREF(index);
 
 }
 
-GLW_APICALL void GLW_APIENTRY glDisableVertexArrayAttrib (GLuint vaobj, GLuint index)
+GLW_APICALL void GLW_APIENTRY glDisableVertexArrayAttribEXT (GLuint vaobj, GLuint index)
 {
 	DE_UNREF(vaobj);
 	DE_UNREF(index);
@@ -1759,14 +1745,14 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glEnableIndexedEXT (GLenum target, GLuint index)
+GLW_APICALL void GLW_APIENTRY glEnableVertexArrayAttrib (GLuint vaobj, GLuint index)
 {
-	DE_UNREF(target);
+	DE_UNREF(vaobj);
 	DE_UNREF(index);
 
 }
 
-GLW_APICALL void GLW_APIENTRY glEnableVertexArrayAttrib (GLuint vaobj, GLuint index)
+GLW_APICALL void GLW_APIENTRY glEnableVertexArrayAttribEXT (GLuint vaobj, GLuint index)
 {
 	DE_UNREF(vaobj);
 	DE_UNREF(index);
@@ -1850,6 +1836,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(offset);
+	DE_UNREF(length);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode)
 {
 	DE_UNREF(framebuffer);
@@ -1929,17 +1923,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
-{
-	DE_UNREF(target);
-	DE_UNREF(attachment);
-	DE_UNREF(textarget);
-	DE_UNREF(texture);
-	DE_UNREF(level);
-	DE_UNREF(zoffset);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
 {
 	DE_UNREF(target);
@@ -1975,6 +1958,13 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGenerateTextureMipmapEXT (GLuint texture, GLenum target)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)
 {
 	DE_UNREF(program);
@@ -2088,14 +2078,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glGetBooleanIndexedvEXT (GLenum target, GLuint index, GLboolean *data)
-{
-	DE_UNREF(target);
-	DE_UNREF(index);
-	DE_UNREF(data);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data)
 {
 	DE_UNREF(target);
@@ -2163,6 +2145,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, void *img)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(lod);
+	DE_UNREF(img);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels)
 {
 	DE_UNREF(texture);
@@ -2192,14 +2183,6 @@
 	return (GLuint)0;
 }
 
-GLW_APICALL void GLW_APIENTRY glGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data)
-{
-	DE_UNREF(target);
-	DE_UNREF(index);
-	DE_UNREF(data);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data)
 {
 	DE_UNREF(target);
@@ -2215,14 +2198,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data)
-{
-	DE_UNREF(target);
-	DE_UNREF(index);
-	DE_UNREF(data);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glGetFloati_v (GLenum target, GLuint index, GLfloat *data)
 {
 	DE_UNREF(target);
@@ -2264,6 +2239,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL GLenum GLW_APIENTRY glGetGraphicsResetStatus (void)
 {
 
@@ -2285,14 +2268,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glGetIntegerIndexedvEXT (GLenum target, GLuint index, GLint *data)
-{
-	DE_UNREF(target);
-	DE_UNREF(index);
-	DE_UNREF(data);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data)
 {
 	DE_UNREF(target);
@@ -2458,6 +2433,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params)
 {
 	DE_UNREF(buffer);
@@ -2466,6 +2449,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, void **params)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data)
 {
 	DE_UNREF(buffer);
@@ -2475,6 +2466,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(offset);
+	DE_UNREF(size);
+	DE_UNREF(data);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
 {
 	DE_UNREF(framebuffer);
@@ -2484,6 +2484,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(attachment);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param)
 {
 	DE_UNREF(framebuffer);
@@ -2492,6 +2501,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params)
 {
 	DE_UNREF(program);
@@ -2554,6 +2571,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params)
+{
+	DE_UNREF(renderbuffer);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
 {
 	DE_UNREF(identifier);
@@ -2952,6 +2977,17 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(level);
+	DE_UNREF(format);
+	DE_UNREF(type);
+	DE_UNREF(pixels);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat *params)
 {
 	DE_UNREF(texture);
@@ -2961,6 +2997,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(level);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint *params)
 {
 	DE_UNREF(texture);
@@ -2970,6 +3016,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(level);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureParameterIiv (GLuint texture, GLenum pname, GLint *params)
 {
 	DE_UNREF(texture);
@@ -2978,6 +3034,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint *params)
 {
 	DE_UNREF(texture);
@@ -2986,6 +3051,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat *params)
 {
 	DE_UNREF(texture);
@@ -2994,6 +3068,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureParameteriv (GLuint texture, GLenum pname, GLint *params)
 {
 	DE_UNREF(texture);
@@ -3002,6 +3085,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels)
 {
 	DE_UNREF(texture);
@@ -3396,14 +3488,6 @@
 	return (GLboolean)0;
 }
 
-GLW_APICALL GLboolean GLW_APIENTRY glIsEnabledIndexedEXT (GLenum target, GLuint index)
-{
-	DE_UNREF(target);
-	DE_UNREF(index);
-
-	return (GLboolean)0;
-}
-
 GLW_APICALL GLboolean GLW_APIENTRY glIsEnabledi (GLenum target, GLuint index)
 {
 	DE_UNREF(target);
@@ -3523,6 +3607,14 @@
 	return (void *)0;
 }
 
+GLW_APICALL void * GLW_APIENTRY glMapNamedBufferEXT (GLuint buffer, GLenum access)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(access);
+
+	return (void *)0;
+}
+
 GLW_APICALL void * GLW_APIENTRY glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)
 {
 	DE_UNREF(buffer);
@@ -3533,6 +3625,16 @@
 	return (void *)0;
 }
 
+GLW_APICALL void * GLW_APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(offset);
+	DE_UNREF(length);
+	DE_UNREF(access);
+
+	return (void *)0;
+}
+
 GLW_APICALL void GLW_APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
 {
 	DE_UNREF(mode);
@@ -4051,6 +4153,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage)
+{
+	DE_UNREF(buffer);
+	DE_UNREF(size);
+	DE_UNREF(data);
+	DE_UNREF(usage);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit)
 {
 	DE_UNREF(buffer);
@@ -4120,6 +4231,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(pname);
+	DE_UNREF(param);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glNamedFramebufferReadBuffer (GLuint framebuffer, GLenum src)
 {
 	DE_UNREF(framebuffer);
@@ -4136,6 +4255,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(attachment);
+	DE_UNREF(renderbuffertarget);
+	DE_UNREF(renderbuffer);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
 {
 	DE_UNREF(framebuffer);
@@ -4176,6 +4304,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(attachment);
+	DE_UNREF(texture);
+	DE_UNREF(level);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)
 {
 	DE_UNREF(framebuffer);
@@ -4196,6 +4333,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
+{
+	DE_UNREF(framebuffer);
+	DE_UNREF(attachment);
+	DE_UNREF(texture);
+	DE_UNREF(level);
+	DE_UNREF(layer);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
 	DE_UNREF(program);
@@ -4329,6 +4476,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
+{
+	DE_UNREF(renderbuffer);
+	DE_UNREF(internalformat);
+	DE_UNREF(width);
+	DE_UNREF(height);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
 {
 	DE_UNREF(renderbuffer);
@@ -4350,6 +4506,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
+{
+	DE_UNREF(renderbuffer);
+	DE_UNREF(samples);
+	DE_UNREF(internalformat);
+	DE_UNREF(width);
+	DE_UNREF(height);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
 {
 	DE_UNREF(identifier);
@@ -4502,6 +4668,14 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(x);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	DE_UNREF(program);
@@ -4511,6 +4685,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform1dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0)
 {
 	DE_UNREF(program);
@@ -4571,6 +4754,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform2dEXT (GLuint program, GLint location, GLdouble x, GLdouble y)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(x);
+	DE_UNREF(y);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	DE_UNREF(program);
@@ -4580,6 +4772,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform2dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1)
 {
 	DE_UNREF(program);
@@ -4644,6 +4845,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform3dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(x);
+	DE_UNREF(y);
+	DE_UNREF(z);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	DE_UNREF(program);
@@ -4653,6 +4864,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform3dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
 {
 	DE_UNREF(program);
@@ -4721,6 +4941,17 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform4dEXT (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(x);
+	DE_UNREF(y);
+	DE_UNREF(z);
+	DE_UNREF(w);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble *value)
 {
 	DE_UNREF(program);
@@ -4730,6 +4961,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniform4dvEXT (GLuint program, GLint location, GLsizei count, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
 {
 	DE_UNREF(program);
@@ -4800,6 +5040,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4820,6 +5070,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix2x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4840,6 +5100,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix2x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4860,6 +5130,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4880,6 +5160,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix3x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4900,6 +5190,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix3x4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4920,6 +5220,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix4dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4940,6 +5250,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix4x2dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -4960,6 +5280,16 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix4x3dvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)
+{
+	DE_UNREF(program);
+	DE_UNREF(location);
+	DE_UNREF(count);
+	DE_UNREF(transpose);
+	DE_UNREF(value);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
 {
 	DE_UNREF(program);
@@ -5306,21 +5636,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
-{
-	DE_UNREF(target);
-	DE_UNREF(level);
-	DE_UNREF(internalformat);
-	DE_UNREF(width);
-	DE_UNREF(height);
-	DE_UNREF(depth);
-	DE_UNREF(border);
-	DE_UNREF(format);
-	DE_UNREF(type);
-	DE_UNREF(pixels);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit)
 {
 	DE_UNREF(target);
@@ -5392,15 +5707,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
-{
-	DE_UNREF(target);
-	DE_UNREF(levels);
-	DE_UNREF(internalformat);
-	DE_UNREF(width);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
 {
 	DE_UNREF(target);
@@ -5411,16 +5717,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
-{
-	DE_UNREF(target);
-	DE_UNREF(levels);
-	DE_UNREF(internalformat);
-	DE_UNREF(width);
-	DE_UNREF(height);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
 {
 	DE_UNREF(target);
@@ -5443,17 +5739,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
-{
-	DE_UNREF(target);
-	DE_UNREF(levels);
-	DE_UNREF(internalformat);
-	DE_UNREF(width);
-	DE_UNREF(height);
-	DE_UNREF(depth);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
 {
 	DE_UNREF(target);
@@ -5508,22 +5793,6 @@
 
 }
 
-GLW_APICALL void GLW_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
-{
-	DE_UNREF(target);
-	DE_UNREF(level);
-	DE_UNREF(xoffset);
-	DE_UNREF(yoffset);
-	DE_UNREF(zoffset);
-	DE_UNREF(width);
-	DE_UNREF(height);
-	DE_UNREF(depth);
-	DE_UNREF(format);
-	DE_UNREF(type);
-	DE_UNREF(pixels);
-
-}
-
 GLW_APICALL void GLW_APIENTRY glTextureBarrier (void)
 {
 
@@ -5537,6 +5806,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(internalformat);
+	DE_UNREF(buffer);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
 {
 	DE_UNREF(texture);
@@ -5547,6 +5825,17 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureBufferRangeEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(internalformat);
+	DE_UNREF(buffer);
+	DE_UNREF(offset);
+	DE_UNREF(size);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)
 {
 	DE_UNREF(texture);
@@ -5614,6 +5903,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint *params)
 {
 	DE_UNREF(texture);
@@ -5622,6 +5920,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureParameterf (GLuint texture, GLenum pname, GLfloat param)
 {
 	DE_UNREF(texture);
@@ -5630,6 +5937,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(param);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureParameterfv (GLuint texture, GLenum pname, const GLfloat *param)
 {
 	DE_UNREF(texture);
@@ -5638,6 +5954,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureParameteri (GLuint texture, GLenum pname, GLint param)
 {
 	DE_UNREF(texture);
@@ -5646,6 +5971,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(param);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureParameteriv (GLuint texture, GLenum pname, const GLint *param)
 {
 	DE_UNREF(texture);
@@ -5654,6 +5988,15 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(pname);
+	DE_UNREF(params);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer)
 {
 	DE_UNREF(texture);
@@ -5713,6 +6056,18 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureStorage2DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(samples);
+	DE_UNREF(internalformat);
+	DE_UNREF(width);
+	DE_UNREF(height);
+	DE_UNREF(fixedsamplelocations);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
 {
 	DE_UNREF(texture);
@@ -5748,6 +6103,19 @@
 
 }
 
+GLW_APICALL void GLW_APIENTRY glTextureStorage3DMultisampleEXT (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
+{
+	DE_UNREF(texture);
+	DE_UNREF(target);
+	DE_UNREF(samples);
+	DE_UNREF(internalformat);
+	DE_UNREF(width);
+	DE_UNREF(height);
+	DE_UNREF(depth);
+	DE_UNREF(fixedsamplelocations);
+
+}
+
 GLW_APICALL void GLW_APIENTRY glTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)
 {
 	DE_UNREF(texture);
@@ -6331,6 +6699,13 @@
 	return (GLboolean)0;
 }
 
+GLW_APICALL GLboolean GLW_APIENTRY glUnmapNamedBufferEXT (GLuint buffer)
+{
+	DE_UNREF(buffer);
+
+	return (GLboolean)0;
+}
+
 GLW_APICALL void GLW_APIENTRY glUseProgram (GLuint program)
 {
 	DE_UNREF(program);
diff --git a/framework/platform/null/tcuNullRenderContextInitFuncs.inl b/framework/platform/null/tcuNullRenderContextInitFuncs.inl
index 6eb8e50..fe84c03 100644
--- a/framework/platform/null/tcuNullRenderContextInitFuncs.inl
+++ b/framework/platform/null/tcuNullRenderContextInitFuncs.inl
@@ -1,7 +1,7 @@
 /* WARNING: This is auto-generated file. Do not modify, since changes will
  * be lost! Modify the generating script instead.
  *
- * Generated from Khronos GL API description (gl.xml) revision 9302c6a6963864cba6c43d7eee0f4afcdcec2084.
+ * Generated from Khronos GL API description (gl.xml) revision 967f96c92bae15baa1a4326a55222984befdc9ed.
  */
 gl->activeShaderProgram								= glActiveShaderProgram;
 gl->activeTexture									= glActiveTexture;
@@ -51,6 +51,7 @@
 gl->bufferSubData									= glBufferSubData;
 gl->checkFramebufferStatus							= glCheckFramebufferStatus;
 gl->checkNamedFramebufferStatus						= glCheckNamedFramebufferStatus;
+gl->checkNamedFramebufferStatusEXT					= glCheckNamedFramebufferStatusEXT;
 gl->clampColor										= glClampColor;
 gl->clear											= glClear;
 gl->clearBufferData									= glClearBufferData;
@@ -63,7 +64,9 @@
 gl->clearDepth										= glClearDepth;
 gl->clearDepthf										= glClearDepthf;
 gl->clearNamedBufferData							= glClearNamedBufferData;
+gl->clearNamedBufferDataEXT							= glClearNamedBufferDataEXT;
 gl->clearNamedBufferSubData							= glClearNamedBufferSubData;
+gl->clearNamedBufferSubDataEXT						= glClearNamedBufferSubDataEXT;
 gl->clearNamedFramebufferfi							= glClearNamedFramebufferfi;
 gl->clearNamedFramebufferfv							= glClearNamedFramebufferfv;
 gl->clearNamedFramebufferiv							= glClearNamedFramebufferiv;
@@ -86,11 +89,9 @@
 gl->compressedTexImage1D							= glCompressedTexImage1D;
 gl->compressedTexImage2D							= glCompressedTexImage2D;
 gl->compressedTexImage3D							= glCompressedTexImage3D;
-gl->compressedTexImage3DOES							= glCompressedTexImage3DOES;
 gl->compressedTexSubImage1D							= glCompressedTexSubImage1D;
 gl->compressedTexSubImage2D							= glCompressedTexSubImage2D;
 gl->compressedTexSubImage3D							= glCompressedTexSubImage3D;
-gl->compressedTexSubImage3DOES						= glCompressedTexSubImage3DOES;
 gl->compressedTextureImage1DEXT						= glCompressedTextureImage1DEXT;
 gl->compressedTextureImage2DEXT						= glCompressedTextureImage2DEXT;
 gl->compressedTextureImage3DEXT						= glCompressedTextureImage3DEXT;
@@ -113,7 +114,6 @@
 gl->copyTexSubImage1D								= glCopyTexSubImage1D;
 gl->copyTexSubImage2D								= glCopyTexSubImage2D;
 gl->copyTexSubImage3D								= glCopyTexSubImage3D;
-gl->copyTexSubImage3DOES							= glCopyTexSubImage3DOES;
 gl->copyTextureImage1DEXT							= glCopyTextureImage1DEXT;
 gl->copyTextureImage2DEXT							= glCopyTextureImage2DEXT;
 gl->copyTextureSubImage1D							= glCopyTextureSubImage1D;
@@ -163,8 +163,8 @@
 gl->disable											= glDisable;
 gl->disableClientStateIndexedEXT					= glDisableClientStateIndexedEXT;
 gl->disableClientStateiEXT							= glDisableClientStateiEXT;
-gl->disableIndexedEXT								= glDisableIndexedEXT;
 gl->disableVertexArrayAttrib						= glDisableVertexArrayAttrib;
+gl->disableVertexArrayAttribEXT						= glDisableVertexArrayAttribEXT;
 gl->disableVertexArrayEXT							= glDisableVertexArrayEXT;
 gl->disableVertexAttribArray						= glDisableVertexAttribArray;
 gl->disablei										= glDisablei;
@@ -194,8 +194,8 @@
 gl->enable											= glEnable;
 gl->enableClientStateIndexedEXT						= glEnableClientStateIndexedEXT;
 gl->enableClientStateiEXT							= glEnableClientStateiEXT;
-gl->enableIndexedEXT								= glEnableIndexedEXT;
 gl->enableVertexArrayAttrib							= glEnableVertexArrayAttrib;
+gl->enableVertexArrayAttribEXT						= glEnableVertexArrayAttribEXT;
 gl->enableVertexArrayEXT							= glEnableVertexArrayEXT;
 gl->enableVertexAttribArray							= glEnableVertexAttribArray;
 gl->enablei											= glEnablei;
@@ -208,6 +208,7 @@
 gl->flush											= glFlush;
 gl->flushMappedBufferRange							= glFlushMappedBufferRange;
 gl->flushMappedNamedBufferRange						= glFlushMappedNamedBufferRange;
+gl->flushMappedNamedBufferRangeEXT					= glFlushMappedNamedBufferRangeEXT;
 gl->framebufferDrawBufferEXT						= glFramebufferDrawBufferEXT;
 gl->framebufferDrawBuffersEXT						= glFramebufferDrawBuffersEXT;
 gl->framebufferParameteri							= glFramebufferParameteri;
@@ -217,7 +218,6 @@
 gl->framebufferTexture1D							= glFramebufferTexture1D;
 gl->framebufferTexture2D							= glFramebufferTexture2D;
 gl->framebufferTexture3D							= glFramebufferTexture3D;
-gl->framebufferTexture3DOES							= glFramebufferTexture3DOES;
 gl->framebufferTextureLayer							= glFramebufferTextureLayer;
 gl->frontFace										= glFrontFace;
 gl->genBuffers										= glGenBuffers;
@@ -232,6 +232,7 @@
 gl->generateMipmap									= glGenerateMipmap;
 gl->generateMultiTexMipmapEXT						= glGenerateMultiTexMipmapEXT;
 gl->generateTextureMipmap							= glGenerateTextureMipmap;
+gl->generateTextureMipmapEXT						= glGenerateTextureMipmapEXT;
 gl->getActiveAtomicCounterBufferiv					= glGetActiveAtomicCounterBufferiv;
 gl->getActiveAttrib									= glGetActiveAttrib;
 gl->getActiveSubroutineName							= glGetActiveSubroutineName;
@@ -244,7 +245,6 @@
 gl->getActiveUniformsiv								= glGetActiveUniformsiv;
 gl->getAttachedShaders								= glGetAttachedShaders;
 gl->getAttribLocation								= glGetAttribLocation;
-gl->getBooleanIndexedvEXT							= glGetBooleanIndexedvEXT;
 gl->getBooleani_v									= glGetBooleani_v;
 gl->getBooleanv										= glGetBooleanv;
 gl->getBufferParameteri64v							= glGetBufferParameteri64v;
@@ -254,23 +254,22 @@
 gl->getCompressedMultiTexImageEXT					= glGetCompressedMultiTexImageEXT;
 gl->getCompressedTexImage							= glGetCompressedTexImage;
 gl->getCompressedTextureImage						= glGetCompressedTextureImage;
+gl->getCompressedTextureImageEXT					= glGetCompressedTextureImageEXT;
 gl->getCompressedTextureSubImage					= glGetCompressedTextureSubImage;
 gl->getDebugMessageLog								= glGetDebugMessageLog;
-gl->getDoubleIndexedvEXT							= glGetDoubleIndexedvEXT;
 gl->getDoublei_v									= glGetDoublei_v;
 gl->getDoublev										= glGetDoublev;
 gl->getError										= glGetError;
-gl->getFloatIndexedvEXT								= glGetFloatIndexedvEXT;
 gl->getFloati_v										= glGetFloati_v;
 gl->getFloatv										= glGetFloatv;
 gl->getFragDataIndex								= glGetFragDataIndex;
 gl->getFragDataLocation								= glGetFragDataLocation;
 gl->getFramebufferAttachmentParameteriv				= glGetFramebufferAttachmentParameteriv;
 gl->getFramebufferParameteriv						= glGetFramebufferParameteriv;
+gl->getFramebufferParameterivEXT					= glGetFramebufferParameterivEXT;
 gl->getGraphicsResetStatus							= glGetGraphicsResetStatus;
 gl->getInteger64i_v									= glGetInteger64i_v;
 gl->getInteger64v									= glGetInteger64v;
-gl->getIntegerIndexedvEXT							= glGetIntegerIndexedvEXT;
 gl->getIntegeri_v									= glGetIntegeri_v;
 gl->getIntegerv										= glGetIntegerv;
 gl->getInternalformatSampleivNV						= glGetInternalformatSampleivNV;
@@ -291,10 +290,15 @@
 gl->getMultisamplefv								= glGetMultisamplefv;
 gl->getNamedBufferParameteri64v						= glGetNamedBufferParameteri64v;
 gl->getNamedBufferParameteriv						= glGetNamedBufferParameteriv;
+gl->getNamedBufferParameterivEXT					= glGetNamedBufferParameterivEXT;
 gl->getNamedBufferPointerv							= glGetNamedBufferPointerv;
+gl->getNamedBufferPointervEXT						= glGetNamedBufferPointervEXT;
 gl->getNamedBufferSubData							= glGetNamedBufferSubData;
+gl->getNamedBufferSubDataEXT						= glGetNamedBufferSubDataEXT;
 gl->getNamedFramebufferAttachmentParameteriv		= glGetNamedFramebufferAttachmentParameteriv;
+gl->getNamedFramebufferAttachmentParameterivEXT		= glGetNamedFramebufferAttachmentParameterivEXT;
 gl->getNamedFramebufferParameteriv					= glGetNamedFramebufferParameteriv;
+gl->getNamedFramebufferParameterivEXT				= glGetNamedFramebufferParameterivEXT;
 gl->getNamedProgramLocalParameterIivEXT				= glGetNamedProgramLocalParameterIivEXT;
 gl->getNamedProgramLocalParameterIuivEXT			= glGetNamedProgramLocalParameterIuivEXT;
 gl->getNamedProgramLocalParameterdvEXT				= glGetNamedProgramLocalParameterdvEXT;
@@ -302,6 +306,7 @@
 gl->getNamedProgramStringEXT						= glGetNamedProgramStringEXT;
 gl->getNamedProgramivEXT							= glGetNamedProgramivEXT;
 gl->getNamedRenderbufferParameteriv					= glGetNamedRenderbufferParameteriv;
+gl->getNamedRenderbufferParameterivEXT				= glGetNamedRenderbufferParameterivEXT;
 gl->getObjectLabel									= glGetObjectLabel;
 gl->getObjectPtrLabel								= glGetObjectPtrLabel;
 gl->getPointerIndexedvEXT							= glGetPointerIndexedvEXT;
@@ -351,12 +356,19 @@
 gl->getTexParameterfv								= glGetTexParameterfv;
 gl->getTexParameteriv								= glGetTexParameteriv;
 gl->getTextureImage									= glGetTextureImage;
+gl->getTextureImageEXT								= glGetTextureImageEXT;
 gl->getTextureLevelParameterfv						= glGetTextureLevelParameterfv;
+gl->getTextureLevelParameterfvEXT					= glGetTextureLevelParameterfvEXT;
 gl->getTextureLevelParameteriv						= glGetTextureLevelParameteriv;
+gl->getTextureLevelParameterivEXT					= glGetTextureLevelParameterivEXT;
 gl->getTextureParameterIiv							= glGetTextureParameterIiv;
+gl->getTextureParameterIivEXT						= glGetTextureParameterIivEXT;
 gl->getTextureParameterIuiv							= glGetTextureParameterIuiv;
+gl->getTextureParameterIuivEXT						= glGetTextureParameterIuivEXT;
 gl->getTextureParameterfv							= glGetTextureParameterfv;
+gl->getTextureParameterfvEXT						= glGetTextureParameterfvEXT;
 gl->getTextureParameteriv							= glGetTextureParameteriv;
+gl->getTextureParameterivEXT						= glGetTextureParameterivEXT;
 gl->getTextureSubImage								= glGetTextureSubImage;
 gl->getTransformFeedbackVarying						= glGetTransformFeedbackVarying;
 gl->getTransformFeedbacki64_v						= glGetTransformFeedbacki64_v;
@@ -402,7 +414,6 @@
 gl->invalidateTexSubImage							= glInvalidateTexSubImage;
 gl->isBuffer										= glIsBuffer;
 gl->isEnabled										= glIsEnabled;
-gl->isEnabledIndexedEXT								= glIsEnabledIndexedEXT;
 gl->isEnabledi										= glIsEnabledi;
 gl->isFramebuffer									= glIsFramebuffer;
 gl->isProgram										= glIsProgram;
@@ -421,7 +432,9 @@
 gl->mapBuffer										= glMapBuffer;
 gl->mapBufferRange									= glMapBufferRange;
 gl->mapNamedBuffer									= glMapNamedBuffer;
+gl->mapNamedBufferEXT								= glMapNamedBufferEXT;
 gl->mapNamedBufferRange								= glMapNamedBufferRange;
+gl->mapNamedBufferRangeEXT							= glMapNamedBufferRangeEXT;
 gl->matrixFrustumEXT								= glMatrixFrustumEXT;
 gl->matrixLoadIdentityEXT							= glMatrixLoadIdentityEXT;
 gl->matrixLoadTransposedEXT							= glMatrixLoadTransposedEXT;
@@ -478,6 +491,7 @@
 gl->multiTexSubImage2DEXT							= glMultiTexSubImage2DEXT;
 gl->multiTexSubImage3DEXT							= glMultiTexSubImage3DEXT;
 gl->namedBufferData									= glNamedBufferData;
+gl->namedBufferDataEXT								= glNamedBufferDataEXT;
 gl->namedBufferPageCommitmentARB					= glNamedBufferPageCommitmentARB;
 gl->namedBufferPageCommitmentEXT					= glNamedBufferPageCommitmentEXT;
 gl->namedBufferStorage								= glNamedBufferStorage;
@@ -486,14 +500,18 @@
 gl->namedFramebufferDrawBuffer						= glNamedFramebufferDrawBuffer;
 gl->namedFramebufferDrawBuffers						= glNamedFramebufferDrawBuffers;
 gl->namedFramebufferParameteri						= glNamedFramebufferParameteri;
+gl->namedFramebufferParameteriEXT					= glNamedFramebufferParameteriEXT;
 gl->namedFramebufferReadBuffer						= glNamedFramebufferReadBuffer;
 gl->namedFramebufferRenderbuffer					= glNamedFramebufferRenderbuffer;
+gl->namedFramebufferRenderbufferEXT					= glNamedFramebufferRenderbufferEXT;
 gl->namedFramebufferTexture							= glNamedFramebufferTexture;
 gl->namedFramebufferTexture1DEXT					= glNamedFramebufferTexture1DEXT;
 gl->namedFramebufferTexture2DEXT					= glNamedFramebufferTexture2DEXT;
 gl->namedFramebufferTexture3DEXT					= glNamedFramebufferTexture3DEXT;
+gl->namedFramebufferTextureEXT						= glNamedFramebufferTextureEXT;
 gl->namedFramebufferTextureFaceEXT					= glNamedFramebufferTextureFaceEXT;
 gl->namedFramebufferTextureLayer					= glNamedFramebufferTextureLayer;
+gl->namedFramebufferTextureLayerEXT					= glNamedFramebufferTextureLayerEXT;
 gl->namedProgramLocalParameter4dEXT					= glNamedProgramLocalParameter4dEXT;
 gl->namedProgramLocalParameter4dvEXT				= glNamedProgramLocalParameter4dvEXT;
 gl->namedProgramLocalParameter4fEXT					= glNamedProgramLocalParameter4fEXT;
@@ -507,8 +525,10 @@
 gl->namedProgramLocalParametersI4uivEXT				= glNamedProgramLocalParametersI4uivEXT;
 gl->namedProgramStringEXT							= glNamedProgramStringEXT;
 gl->namedRenderbufferStorage						= glNamedRenderbufferStorage;
+gl->namedRenderbufferStorageEXT						= glNamedRenderbufferStorageEXT;
 gl->namedRenderbufferStorageMultisample				= glNamedRenderbufferStorageMultisample;
 gl->namedRenderbufferStorageMultisampleCoverageEXT	= glNamedRenderbufferStorageMultisampleCoverageEXT;
+gl->namedRenderbufferStorageMultisampleEXT			= glNamedRenderbufferStorageMultisampleEXT;
 gl->objectLabel										= glObjectLabel;
 gl->objectPtrLabel									= glObjectPtrLabel;
 gl->patchParameterfv								= glPatchParameterfv;
@@ -530,7 +550,9 @@
 gl->programBinary									= glProgramBinary;
 gl->programParameteri								= glProgramParameteri;
 gl->programUniform1d								= glProgramUniform1d;
+gl->programUniform1dEXT								= glProgramUniform1dEXT;
 gl->programUniform1dv								= glProgramUniform1dv;
+gl->programUniform1dvEXT							= glProgramUniform1dvEXT;
 gl->programUniform1f								= glProgramUniform1f;
 gl->programUniform1fv								= glProgramUniform1fv;
 gl->programUniform1i								= glProgramUniform1i;
@@ -538,7 +560,9 @@
 gl->programUniform1ui								= glProgramUniform1ui;
 gl->programUniform1uiv								= glProgramUniform1uiv;
 gl->programUniform2d								= glProgramUniform2d;
+gl->programUniform2dEXT								= glProgramUniform2dEXT;
 gl->programUniform2dv								= glProgramUniform2dv;
+gl->programUniform2dvEXT							= glProgramUniform2dvEXT;
 gl->programUniform2f								= glProgramUniform2f;
 gl->programUniform2fv								= glProgramUniform2fv;
 gl->programUniform2i								= glProgramUniform2i;
@@ -546,7 +570,9 @@
 gl->programUniform2ui								= glProgramUniform2ui;
 gl->programUniform2uiv								= glProgramUniform2uiv;
 gl->programUniform3d								= glProgramUniform3d;
+gl->programUniform3dEXT								= glProgramUniform3dEXT;
 gl->programUniform3dv								= glProgramUniform3dv;
+gl->programUniform3dvEXT							= glProgramUniform3dvEXT;
 gl->programUniform3f								= glProgramUniform3f;
 gl->programUniform3fv								= glProgramUniform3fv;
 gl->programUniform3i								= glProgramUniform3i;
@@ -554,7 +580,9 @@
 gl->programUniform3ui								= glProgramUniform3ui;
 gl->programUniform3uiv								= glProgramUniform3uiv;
 gl->programUniform4d								= glProgramUniform4d;
+gl->programUniform4dEXT								= glProgramUniform4dEXT;
 gl->programUniform4dv								= glProgramUniform4dv;
+gl->programUniform4dvEXT							= glProgramUniform4dvEXT;
 gl->programUniform4f								= glProgramUniform4f;
 gl->programUniform4fv								= glProgramUniform4fv;
 gl->programUniform4i								= glProgramUniform4i;
@@ -562,22 +590,31 @@
 gl->programUniform4ui								= glProgramUniform4ui;
 gl->programUniform4uiv								= glProgramUniform4uiv;
 gl->programUniformMatrix2dv							= glProgramUniformMatrix2dv;
+gl->programUniformMatrix2dvEXT						= glProgramUniformMatrix2dvEXT;
 gl->programUniformMatrix2fv							= glProgramUniformMatrix2fv;
 gl->programUniformMatrix2x3dv						= glProgramUniformMatrix2x3dv;
+gl->programUniformMatrix2x3dvEXT					= glProgramUniformMatrix2x3dvEXT;
 gl->programUniformMatrix2x3fv						= glProgramUniformMatrix2x3fv;
 gl->programUniformMatrix2x4dv						= glProgramUniformMatrix2x4dv;
+gl->programUniformMatrix2x4dvEXT					= glProgramUniformMatrix2x4dvEXT;
 gl->programUniformMatrix2x4fv						= glProgramUniformMatrix2x4fv;
 gl->programUniformMatrix3dv							= glProgramUniformMatrix3dv;
+gl->programUniformMatrix3dvEXT						= glProgramUniformMatrix3dvEXT;
 gl->programUniformMatrix3fv							= glProgramUniformMatrix3fv;
 gl->programUniformMatrix3x2dv						= glProgramUniformMatrix3x2dv;
+gl->programUniformMatrix3x2dvEXT					= glProgramUniformMatrix3x2dvEXT;
 gl->programUniformMatrix3x2fv						= glProgramUniformMatrix3x2fv;
 gl->programUniformMatrix3x4dv						= glProgramUniformMatrix3x4dv;
+gl->programUniformMatrix3x4dvEXT					= glProgramUniformMatrix3x4dvEXT;
 gl->programUniformMatrix3x4fv						= glProgramUniformMatrix3x4fv;
 gl->programUniformMatrix4dv							= glProgramUniformMatrix4dv;
+gl->programUniformMatrix4dvEXT						= glProgramUniformMatrix4dvEXT;
 gl->programUniformMatrix4fv							= glProgramUniformMatrix4fv;
 gl->programUniformMatrix4x2dv						= glProgramUniformMatrix4x2dv;
+gl->programUniformMatrix4x2dvEXT					= glProgramUniformMatrix4x2dvEXT;
 gl->programUniformMatrix4x2fv						= glProgramUniformMatrix4x2fv;
 gl->programUniformMatrix4x3dv						= glProgramUniformMatrix4x3dv;
+gl->programUniformMatrix4x3dvEXT					= glProgramUniformMatrix4x3dvEXT;
 gl->programUniformMatrix4x3fv						= glProgramUniformMatrix4x3fv;
 gl->provokingVertex									= glProvokingVertex;
 gl->pushClientAttribDefaultEXT						= glPushClientAttribDefaultEXT;
@@ -619,7 +656,6 @@
 gl->texImage2DMultisample							= glTexImage2DMultisample;
 gl->texImage3D										= glTexImage3D;
 gl->texImage3DMultisample							= glTexImage3DMultisample;
-gl->texImage3DOES									= glTexImage3DOES;
 gl->texPageCommitmentARB							= glTexPageCommitmentARB;
 gl->texParameterIiv									= glTexParameterIiv;
 gl->texParameterIuiv								= glTexParameterIuiv;
@@ -628,39 +664,45 @@
 gl->texParameteri									= glTexParameteri;
 gl->texParameteriv									= glTexParameteriv;
 gl->texStorage1D									= glTexStorage1D;
-gl->texStorage1DEXT									= glTexStorage1DEXT;
 gl->texStorage2D									= glTexStorage2D;
-gl->texStorage2DEXT									= glTexStorage2DEXT;
 gl->texStorage2DMultisample							= glTexStorage2DMultisample;
 gl->texStorage3D									= glTexStorage3D;
-gl->texStorage3DEXT									= glTexStorage3DEXT;
 gl->texStorage3DMultisample							= glTexStorage3DMultisample;
 gl->texSubImage1D									= glTexSubImage1D;
 gl->texSubImage2D									= glTexSubImage2D;
 gl->texSubImage3D									= glTexSubImage3D;
-gl->texSubImage3DOES								= glTexSubImage3DOES;
 gl->textureBarrier									= glTextureBarrier;
 gl->textureBuffer									= glTextureBuffer;
+gl->textureBufferEXT								= glTextureBufferEXT;
 gl->textureBufferRange								= glTextureBufferRange;
+gl->textureBufferRangeEXT							= glTextureBufferRangeEXT;
 gl->textureImage1DEXT								= glTextureImage1DEXT;
 gl->textureImage2DEXT								= glTextureImage2DEXT;
 gl->textureImage3DEXT								= glTextureImage3DEXT;
 gl->texturePageCommitmentEXT						= glTexturePageCommitmentEXT;
 gl->textureParameterIiv								= glTextureParameterIiv;
+gl->textureParameterIivEXT							= glTextureParameterIivEXT;
 gl->textureParameterIuiv							= glTextureParameterIuiv;
+gl->textureParameterIuivEXT							= glTextureParameterIuivEXT;
 gl->textureParameterf								= glTextureParameterf;
+gl->textureParameterfEXT							= glTextureParameterfEXT;
 gl->textureParameterfv								= glTextureParameterfv;
+gl->textureParameterfvEXT							= glTextureParameterfvEXT;
 gl->textureParameteri								= glTextureParameteri;
+gl->textureParameteriEXT							= glTextureParameteriEXT;
 gl->textureParameteriv								= glTextureParameteriv;
+gl->textureParameterivEXT							= glTextureParameterivEXT;
 gl->textureRenderbufferEXT							= glTextureRenderbufferEXT;
 gl->textureStorage1D								= glTextureStorage1D;
 gl->textureStorage1DEXT								= glTextureStorage1DEXT;
 gl->textureStorage2D								= glTextureStorage2D;
 gl->textureStorage2DEXT								= glTextureStorage2DEXT;
 gl->textureStorage2DMultisample						= glTextureStorage2DMultisample;
+gl->textureStorage2DMultisampleEXT					= glTextureStorage2DMultisampleEXT;
 gl->textureStorage3D								= glTextureStorage3D;
 gl->textureStorage3DEXT								= glTextureStorage3DEXT;
 gl->textureStorage3DMultisample						= glTextureStorage3DMultisample;
+gl->textureStorage3DMultisampleEXT					= glTextureStorage3DMultisampleEXT;
 gl->textureSubImage1D								= glTextureSubImage1D;
 gl->textureSubImage1DEXT							= glTextureSubImage1DEXT;
 gl->textureSubImage2D								= glTextureSubImage2D;
@@ -725,6 +767,7 @@
 gl->uniformSubroutinesuiv							= glUniformSubroutinesuiv;
 gl->unmapBuffer										= glUnmapBuffer;
 gl->unmapNamedBuffer								= glUnmapNamedBuffer;
+gl->unmapNamedBufferEXT								= glUnmapNamedBufferEXT;
 gl->useProgram										= glUseProgram;
 gl->useProgramStages								= glUseProgramStages;
 gl->validateProgram									= glValidateProgram;
diff --git a/scripts/opengl/gen_ext_init.py b/scripts/opengl/gen_ext_init.py
index 4ab0eeb..321707e 100644
--- a/scripts/opengl/gen_ext_init.py
+++ b/scripts/opengl/gen_ext_init.py
@@ -22,32 +22,53 @@
 
 from src_util import *
 
+def getExtensionCommands (registry, iface, api, extension):
+	commands = []
+
+	# Build interface with just the single extension and no core APIs.
+	# Aliases will not be set in this iface so we will use it only for
+	# slicing the complete (hybrid) iface.
+	extIface = getInterface(registry, api, version=False, profile='core', extensionNames=[extension])
+	if not extIface.commands:
+		return commands
+
+	cmdMap = {}
+	for command in iface.commands:
+		cmdMap[command.name] = command
+
+	for extCommand in extIface.commands:
+		assert extCommand.name in cmdMap
+		commands.append(cmdMap[extCommand.name])
+
+	return commands
+
 def genExtensions (registry, iface, api):
-    for extName in EXTENSIONS:
-        extIface = getInterface(registry, api, version=False, profile='core', extensionNames=[extName])
-        if not extIface.commands:
-            continue
+	for extName in EXTENSIONS:
+		extCommands = getExtensionCommands(registry, iface, api, extName)
+		if len(extCommands) == 0:
+			continue # Not applicable for this api
 
-        yield ""
-        yield "if (de::contains(extSet, \"%s\"))" % extName
-        yield "{"
+		yield ""
+		yield "if (de::contains(extSet, \"%s\"))" % extName
+		yield "{"
 
-        def genInit (command):
-            coreName = getCoreName(command.name)
-            ifaceName = coreName if coreName in iface.commands else command.name
-            return "gl->%s\t= (%s)\tloader->get(\"%s\");" % (
-                getFunctionMemberName(ifaceName),
-                getFunctionTypeName(ifaceName),
-                command.name)
+		def genInit (command):
+			ifaceName = command.alias.name if command.alias else command.name
+			return "gl->%s\t= (%s)\tloader->get(\"%s\");" % (
+				getFunctionMemberName(ifaceName),
+				getFunctionTypeName(ifaceName),
+				command.name)
 
-        for line in indentLines(genInit(command) for command in extIface.commands):
-            yield "\t" + line
+		for line in indentLines(genInit(command) for command in extCommands):
+			yield "\t" + line
 
-        yield "}"
+		yield "}"
 
 def genExtInit (registry, iface):
-    writeInlFile(os.path.join(OPENGL_INC_DIR, "glwInitExtES.inl"), genExtensions(registry, iface, 'gles2'))
-    writeInlFile(os.path.join(OPENGL_INC_DIR, "glwInitExtGL.inl"), genExtensions(registry, iface, 'gl'))
+	nonStrippedIface = getHybridInterface(stripAliasedExtCommands = False)
+
+	writeInlFile(os.path.join(OPENGL_INC_DIR, "glwInitExtES.inl"), genExtensions(registry, nonStrippedIface, 'gles2'))
+	writeInlFile(os.path.join(OPENGL_INC_DIR, "glwInitExtGL.inl"), genExtensions(registry, nonStrippedIface, 'gl'))
 
 if __name__ == '__main__':
-    genExtInit(getGLRegistry(), getHybridInterface())
+	genExtInit(getGLRegistry(), getHybridInterface())
diff --git a/scripts/opengl/src_util.py b/scripts/opengl/src_util.py
index a94445b..77a81a7 100644
--- a/scripts/opengl/src_util.py
+++ b/scripts/opengl/src_util.py
@@ -38,8 +38,8 @@
 GL_SOURCE			= khr_util.registry_cache.RegistrySource(
 						"https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry",
 						"xml/gl.xml",
-						"9302c6a6963864cba6c43d7eee0f4afcdcec2084",
-						"10d9bc8a475c60e127343c751b6e993923c1e40574277a49d80b158e3faafe6d")
+						"967f96c92bae15baa1a4326a55222984befdc9ed",
+						"f281f2dc6b2206a8852670d161e15fa43723dac5042a991ff4e1702e29d7403d")
 
 EXTENSIONS			= [
 	'GL_KHR_texture_compression_astc_ldr',
@@ -127,13 +127,7 @@
 def getGLRegistry ():
 	return khr_util.registry_cache.getRegistry(GL_SOURCE)
 
-# return the name of a core command corresponding to an extension command.
-# Ideally this should be done using the alias attribute of commands, but dEQP
-# just strips the extension suffix.
-def getCoreName (name):
-	return re.sub('[A-Z]+$', '', name)
-
-def getHybridInterface ():
+def getHybridInterface (stripAliasedExtCommands = True):
 	# This is a bit awkward, since we have to create a strange hybrid
 	# interface that includes both GL and ES features and extensions.
 	registry = getGLRegistry()
@@ -153,13 +147,19 @@
 		# extensions to be included.
 		spec.addExtension(extension, 'gles2', 'core', force=True)
 
-	# Remove redundant extension commands that are already provided by core.
-	for commandName in list(spec.commands):
-		coreName = getCoreName(commandName)
-		if coreName != commandName and coreName in spec.commands:
-			spec.commands.remove(commandName)
+	iface = khr_util.registry.createInterface(registry, spec, 'gles2')
 
-	return khr_util.registry.createInterface(registry, spec, 'gles2')
+	if stripAliasedExtCommands:
+		# Remove redundant extension commands that are already provided by core.
+		strippedCmds = []
+
+		for command in iface.commands:
+			if command.alias == None:
+				strippedCmds.append(command)
+
+		iface.commands = strippedCmds
+
+	return iface
 
 def getInterface (registry, api, version=None, profile=None, **kwargs):
 	spec = khr_util.registry.spec(registry, api, version, profile, **kwargs)