Dispatch GLESv2 entry functions to avoid resolving to the same symbol.

Bug 18752589

Change-Id: I39ddf9a6146c174e4af3cc620f812b0f284877c2
Reviewed-on: https://swiftshader-review.googlesource.com/2981
Reviewed-by: Nicolas Capens <capn@google.com>
Tested-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp
index ba1c52e..cec9e88 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -24,7 +24,6 @@
 #include "Query.h"

 #include "common/debug.h"

 #include "Common/Version.h"

-#include "Main/Register.hpp"

 

 #include <GLES2/gl2.h>

 #include <GLES2/gl2ext.h>

@@ -36,7 +35,8 @@
 #include <cutils/log.h>

 #endif

 

-using namespace es2;

+namespace es2

+{

 

 typedef std::pair<GLenum, GLenum> InternalFormatTypePair;

 typedef std::map<InternalFormatTypePair, GLenum> FormatMap;

@@ -136,10 +136,10 @@
 	{

 	case GL_ALPHA:

 		if(colorbufferFormat != GL_ALPHA &&

-			colorbufferFormat != GL_RGBA &&

-			colorbufferFormat != GL_RGBA4 &&

-			colorbufferFormat != GL_RGB5_A1 &&

-			colorbufferFormat != GL_RGBA8_OES)

+		   colorbufferFormat != GL_RGBA &&

+		   colorbufferFormat != GL_RGBA4 &&

+		   colorbufferFormat != GL_RGB5_A1 &&

+		   colorbufferFormat != GL_RGBA8_OES)

 		{

 			return error(GL_INVALID_OPERATION, false);

 		}

@@ -147,12 +147,12 @@
 	case GL_LUMINANCE:

 	case GL_RGB:

 		if(colorbufferFormat != GL_RGB &&

-			colorbufferFormat != GL_RGB565 &&

-			colorbufferFormat != GL_RGB8_OES &&

-			colorbufferFormat != GL_RGBA &&

-			colorbufferFormat != GL_RGBA4 &&

-			colorbufferFormat != GL_RGB5_A1 &&

-			colorbufferFormat != GL_RGBA8_OES)

+		   colorbufferFormat != GL_RGB565 &&

+		   colorbufferFormat != GL_RGB8_OES &&

+		   colorbufferFormat != GL_RGBA &&

+		   colorbufferFormat != GL_RGBA4 &&

+		   colorbufferFormat != GL_RGB5_A1 &&

+		   colorbufferFormat != GL_RGBA8_OES)

 		{

 			return error(GL_INVALID_OPERATION, false);

 		}

@@ -160,9 +160,9 @@
 	case GL_LUMINANCE_ALPHA:

 	case GL_RGBA:

 		if(colorbufferFormat != GL_RGBA &&

-			colorbufferFormat != GL_RGBA4 &&

-			colorbufferFormat != GL_RGB5_A1 &&

-			colorbufferFormat != GL_RGBA8_OES)

+		   colorbufferFormat != GL_RGBA4 &&

+		   colorbufferFormat != GL_RGB5_A1 &&

+		   colorbufferFormat != GL_RGBA8_OES)

 		{

 			return error(GL_INVALID_OPERATION, false);

 		}

@@ -287,10 +287,7 @@
 	return false;

 }

 

-extern "C"

-{

-

-GL_APICALL void GL_APIENTRY glActiveTexture(GLenum texture)

+void ActiveTexture(GLenum texture)

 {

 	TRACE("(GLenum texture = 0x%X)", texture);

 

@@ -307,7 +304,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glAttachShader(GLuint program, GLuint shader)

+void AttachShader(GLuint program, GLuint shader)

 {

 	TRACE("(GLuint program = %d, GLuint shader = %d)", program, shader);

 

@@ -349,7 +346,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBeginQueryEXT(GLenum target, GLuint name)

+void BeginQueryEXT(GLenum target, GLuint name)

 {

 	TRACE("(GLenum target = 0x%X, GLuint name = %d)", target, name);

 

@@ -375,7 +372,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)

+void BindAttribLocation(GLuint program, GLuint index, const GLchar* name)

 {

 	TRACE("(GLuint program = %d, GLuint index = %d, const GLchar* name = %s)", program, index, name);

 

@@ -411,7 +408,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer)

+void BindBuffer(GLenum target, GLuint buffer)

 {

 	TRACE("(GLenum target = 0x%X, GLuint buffer = %d)", target, buffer);

 

@@ -477,7 +474,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer)

+void BindFramebuffer(GLenum target, GLuint framebuffer)

 {

 	TRACE("(GLenum target = 0x%X, GLuint framebuffer = %d)", target, framebuffer);

 

@@ -502,7 +499,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer)

+void BindRenderbuffer(GLenum target, GLuint renderbuffer)

 {

 	TRACE("(GLenum target = 0x%X, GLuint renderbuffer = %d)", target, renderbuffer);

 

@@ -528,7 +525,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBindTexture(GLenum target, GLuint texture)

+void BindTexture(GLenum target, GLuint texture)

 {

 	TRACE("(GLenum target = 0x%X, GLuint texture = %d)", target, texture);

 

@@ -576,7 +573,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

+void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

 {

 	TRACE("(GLclampf red = %f, GLclampf green = %f, GLclampf blue = %f, GLclampf alpha = %f)",

 		red, green, blue, alpha);

@@ -589,12 +586,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBlendEquation(GLenum mode)

+void BlendEquation(GLenum mode)

 {

 	glBlendEquationSeparate(mode, mode);

 }

 

-GL_APICALL void GL_APIENTRY glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)

+void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)

 {

 	TRACE("(GLenum modeRGB = 0x%X, GLenum modeAlpha = 0x%X)", modeRGB, modeAlpha);

 

@@ -630,12 +627,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor)

+void BlendFunc(GLenum sfactor, GLenum dfactor)

 {

 	glBlendFuncSeparate(sfactor, dfactor, sfactor, dfactor);

 }

 

-GL_APICALL void GL_APIENTRY glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)

+void BlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)

 {

 	TRACE("(GLenum srcRGB = 0x%X, GLenum dstRGB = 0x%X, GLenum srcAlpha = 0x%X, GLenum dstAlpha = 0x%X)",

 	      srcRGB, dstRGB, srcAlpha, dstAlpha);

@@ -734,7 +731,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)

+void BufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)

 {

 	size = static_cast<GLint>(size);   // Work around issues with some 64-bit applications

 

@@ -789,7 +786,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)

+void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)

 {

 	size = static_cast<GLint>(size);   // Work around issues with some 64-bit applications

 	offset = static_cast<GLint>(offset);

@@ -832,7 +829,7 @@
 	}

 }

 

-GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target)

+GLenum CheckFramebufferStatus(GLenum target)

 {

 	TRACE("(GLenum target = 0x%X)", target);

 

@@ -861,7 +858,7 @@
 	return 0;

 }

 

-GL_APICALL void GL_APIENTRY glClear(GLbitfield mask)

+void Clear(GLbitfield mask)

 {

 	TRACE("(GLbitfield mask = %X)", mask);

 

@@ -878,7 +875,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

+void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

 {

 	TRACE("(GLclampf red = %f, GLclampf green = %f, GLclampf blue = %f, GLclampf alpha = %f)",

 	      red, green, blue, alpha);

@@ -891,7 +888,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glClearDepthf(GLclampf depth)

+void ClearDepthf(GLclampf depth)

 {

 	TRACE("(GLclampf depth = %f)", depth);

 

@@ -903,7 +900,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glClearStencil(GLint s)

+void ClearStencil(GLint s)

 {

 	TRACE("(GLint s = %d)", s);

 

@@ -915,7 +912,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)

+void ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)

 {

 	TRACE("(GLboolean red = %d, GLboolean green = %d, GLboolean blue = %d, GLboolean alpha = %d)",

 	      red, green, blue, alpha);

@@ -928,7 +925,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCompileShader(GLuint shader)

+void CompileShader(GLuint shader)

 {

 	TRACE("(GLuint shader = %d)", shader);

 

@@ -954,8 +951,8 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,

-                                                   GLint border, GLsizei imageSize, const GLvoid* data)

+void CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,

+                          GLint border, GLsizei imageSize, const GLvoid* data)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLsizei width = %d, "

 	      "GLsizei height = %d, GLint border = %d, GLsizei imageSize = %d, const GLvoid* data = %p)",

@@ -1091,8 +1088,8 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

-                                                      GLenum format, GLsizei imageSize, const GLvoid* data)

+void CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

+                             GLenum format, GLsizei imageSize, const GLvoid* data)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, "

 	      "GLsizei width = %d, GLsizei height = %d, GLenum format = 0x%X, "

@@ -1193,7 +1190,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)

+void CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, "

 	      "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, GLint border = %d)",

@@ -1289,7 +1286,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)

+void CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, "

 	      "GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)",

@@ -1366,7 +1363,7 @@
 	}

 }

 

-GL_APICALL GLuint GL_APIENTRY glCreateProgram(void)

+GLuint CreateProgram(void)

 {

 	TRACE("()");

 

@@ -1380,7 +1377,7 @@
 	return 0;

 }

 

-GL_APICALL GLuint GL_APIENTRY glCreateShader(GLenum type)

+GLuint CreateShader(GLenum type)

 {

 	TRACE("(GLenum type = 0x%X)", type);

 

@@ -1401,7 +1398,7 @@
 	return 0;

 }

 

-GL_APICALL void GL_APIENTRY glCullFace(GLenum mode)

+void CullFace(GLenum mode)

 {

 	TRACE("(GLenum mode = 0x%X)", mode);

 

@@ -1424,7 +1421,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint* buffers)

+void DeleteBuffers(GLsizei n, const GLuint* buffers)

 {

 	TRACE("(GLsizei n = %d, const GLuint* buffers = %p)", n, buffers);

 

@@ -1444,7 +1441,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteFencesNV(GLsizei n, const GLuint* fences)

+void DeleteFencesNV(GLsizei n, const GLuint* fences)

 {

 	TRACE("(GLsizei n = %d, const GLuint* fences = %p)", n, fences);

 

@@ -1464,7 +1461,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)

+void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers)

 {

 	TRACE("(GLsizei n = %d, const GLuint* framebuffers = %p)", n, framebuffers);

 

@@ -1487,7 +1484,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteProgram(GLuint program)

+void DeleteProgram(GLuint program)

 {

 	TRACE("(GLuint program = %d)", program);

 

@@ -1516,7 +1513,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteQueriesEXT(GLsizei n, const GLuint *ids)

+void DeleteQueriesEXT(GLsizei n, const GLuint *ids)

 {

 	TRACE("(GLsizei n = %d, const GLuint *ids = %p)", n, ids);

 

@@ -1536,7 +1533,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)

+void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)

 {

 	TRACE("(GLsizei n = %d, const GLuint* renderbuffers = %p)", n, renderbuffers);

 

@@ -1556,7 +1553,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteShader(GLuint shader)

+void DeleteShader(GLuint shader)

 {

 	TRACE("(GLuint shader = %d)", shader);

 

@@ -1585,7 +1582,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDeleteTextures(GLsizei n, const GLuint* textures)

+void DeleteTextures(GLsizei n, const GLuint* textures)

 {

 	TRACE("(GLsizei n = %d, const GLuint* textures = %p)", n, textures);

 

@@ -1608,7 +1605,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDepthFunc(GLenum func)

+void DepthFunc(GLenum func)

 {

 	TRACE("(GLenum func = 0x%X)", func);

 

@@ -1635,7 +1632,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDepthMask(GLboolean flag)

+void DepthMask(GLboolean flag)

 {

 	TRACE("(GLboolean flag = %d)", flag);

 

@@ -1647,7 +1644,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar)

+void DepthRangef(GLclampf zNear, GLclampf zFar)

 {

 	TRACE("(GLclampf zNear = %f, GLclampf zFar = %f)", zNear, zFar);

 

@@ -1659,7 +1656,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDetachShader(GLuint program, GLuint shader)

+void DetachShader(GLuint program, GLuint shader)

 {

 	TRACE("(GLuint program = %d, GLuint shader = %d)", program, shader);

 

@@ -1705,7 +1702,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDisable(GLenum cap)

+void Disable(GLenum cap)

 {

 	TRACE("(GLenum cap = 0x%X)", cap);

 

@@ -1732,7 +1729,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDisableVertexAttribArray(GLuint index)

+void DisableVertexAttribArray(GLuint index)

 {

 	TRACE("(GLuint index = %d)", index);

 

@@ -1749,7 +1746,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count)

+void DrawArrays(GLenum mode, GLint first, GLsizei count)

 {

 	TRACE("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d)", mode, first, count);

 

@@ -1786,7 +1783,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)

+void DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)

 {

 	TRACE("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const GLvoid* indices = %p)",

 	      mode, count, type, indices);

@@ -1834,7 +1831,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)

+void DrawArraysInstancedEXT(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)

 {

 	TRACE("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d, GLsizei instanceCount = %d)",

 		mode, first, count, instanceCount);

@@ -1872,7 +1869,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)

+void DrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)

 {

 	TRACE("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const void *indices = %p, GLsizei instanceCount = %d)",

 		mode, count, type, indices, instanceCount);

@@ -1920,7 +1917,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT(GLuint index, GLuint divisor)

+void VertexAttribDivisorEXT(GLuint index, GLuint divisor)

 {

 	TRACE("(GLuint index = %d, GLuint divisor = %d)", index, divisor);

 

@@ -1937,7 +1934,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)

+void DrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)

 {

 	TRACE("(GLenum mode = 0x%X, GLint first = %d, GLsizei count = %d, GLsizei instanceCount = %d)",

 		mode, first, count, instanceCount);

@@ -1980,7 +1977,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)

+void DrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)

 {

 	TRACE("(GLenum mode = 0x%X, GLsizei count = %d, GLenum type = 0x%X, const void *indices = %p, GLsizei instanceCount = %d)",

 		mode, count, type, indices, instanceCount);

@@ -2033,7 +2030,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor)

+void VertexAttribDivisorANGLE(GLuint index, GLuint divisor)

 {

 	TRACE("(GLuint index = %d, GLuint divisor = %d)", index, divisor);

 

@@ -2050,7 +2047,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glEnable(GLenum cap)

+void Enable(GLenum cap)

 {

 	TRACE("(GLenum cap = 0x%X)", cap);

 

@@ -2077,7 +2074,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glEnableVertexAttribArray(GLuint index)

+void EnableVertexAttribArray(GLuint index)

 {

 	TRACE("(GLuint index = %d)", index);

 

@@ -2094,7 +2091,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glEndQueryEXT(GLenum target)

+void EndQueryEXT(GLenum target)

 {

 	TRACE("GLenum target = 0x%X)", target);

 

@@ -2115,7 +2112,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFinishFenceNV(GLuint fence)

+void FinishFenceNV(GLuint fence)

 {

 	TRACE("(GLuint fence = %d)", fence);

 

@@ -2134,7 +2131,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFinish(void)

+void Finish(void)

 {

 	TRACE("()");

 

@@ -2146,7 +2143,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFlush(void)

+void Flush(void)

 {

 	TRACE("()");

 

@@ -2158,7 +2155,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)

+void FramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)

 {

 	TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum renderbuffertarget = 0x%X, "

 	      "GLuint renderbuffer = %d)", target, attachment, renderbuffertarget, renderbuffer);

@@ -2208,7 +2205,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)

+void FramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)

 {

 	TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum textarget = 0x%X, "

 	      "GLuint texture = %d, GLint level = %d)", target, attachment, textarget, texture, level);

@@ -2306,7 +2303,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFrontFace(GLenum mode)

+void FrontFace(GLenum mode)

 {

 	TRACE("(GLenum mode = 0x%X)", mode);

 

@@ -2328,7 +2325,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenBuffers(GLsizei n, GLuint* buffers)

+void GenBuffers(GLsizei n, GLuint* buffers)

 {

 	TRACE("(GLsizei n = %d, GLuint* buffers = %p)", n, buffers);

 

@@ -2348,7 +2345,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenerateMipmap(GLenum target)

+void GenerateMipmap(GLenum target)

 {

 	TRACE("(GLenum target = 0x%X)", target);

 

@@ -2395,7 +2392,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenFencesNV(GLsizei n, GLuint* fences)

+void GenFencesNV(GLsizei n, GLuint* fences)

 {

 	TRACE("(GLsizei n = %d, GLuint* fences = %p)", n, fences);

 

@@ -2415,7 +2412,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers)

+void GenFramebuffers(GLsizei n, GLuint* framebuffers)

 {

 	TRACE("(GLsizei n = %d, GLuint* framebuffers = %p)", n, framebuffers);

 

@@ -2435,7 +2432,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenQueriesEXT(GLsizei n, GLuint* ids)

+void GenQueriesEXT(GLsizei n, GLuint* ids)

 {

 	TRACE("(GLsizei n = %d, GLuint* ids = %p)", n, ids);

 

@@ -2455,7 +2452,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)

+void GenRenderbuffers(GLsizei n, GLuint* renderbuffers)

 {

 	TRACE("(GLsizei n = %d, GLuint* renderbuffers = %p)", n, renderbuffers);

 

@@ -2475,7 +2472,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures)

+void GenTextures(GLsizei n, GLuint* textures)

 {

 	TRACE("(GLsizei n = %d, GLuint* textures = %p)", n, textures);

 

@@ -2495,7 +2492,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)

+void GetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)

 {

 	TRACE("(GLuint program = %d, GLuint index = %d, GLsizei bufsize = %d, GLsizei *length = %p, "

 	      "GLint *size = %p, GLenum *type = %p, GLchar *name = %p)",

@@ -2533,7 +2530,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)

+void GetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)

 {

 	TRACE("(GLuint program = %d, GLuint index = %d, GLsizei bufsize = %d, "

 	      "GLsizei* length = %p, GLint* size = %p, GLenum* type = %p, GLchar* name = %s)",

@@ -2571,7 +2568,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)

+void GetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)

 {

 	TRACE("(GLuint program = %d, GLsizei maxcount = %d, GLsizei* count = %p, GLuint* shaders = %p)",

 	      program, maxcount, count, shaders);

@@ -2603,7 +2600,7 @@
 	}

 }

 

-GL_APICALL int GL_APIENTRY glGetAttribLocation(GLuint program, const GLchar* name)

+int GetAttribLocation(GLuint program, const GLchar* name)

 {

 	TRACE("(GLuint program = %d, const GLchar* name = %s)", program, name);

 

@@ -2637,7 +2634,7 @@
 	return -1;

 }

 

-GL_APICALL void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean* params)

+void GetBooleanv(GLenum pname, GLboolean* params)

 {

 	TRACE("(GLenum pname = 0x%X, GLboolean* params = %p)",  pname, params);

 

@@ -2693,7 +2690,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)

+void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params)

 {

 	TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = %p)", target, pname, params);

 

@@ -2757,7 +2754,7 @@
 	}

 }

 

-GL_APICALL GLenum GL_APIENTRY glGetError(void)

+GLenum GetError(void)

 {

 	TRACE("()");

 

@@ -2771,7 +2768,7 @@
 	return GL_NO_ERROR;

 }

 

-GL_APICALL void GL_APIENTRY glGetFenceivNV(GLuint fence, GLenum pname, GLint *params)

+void GetFenceivNV(GLuint fence, GLenum pname, GLint *params)

 {

 	TRACE("(GLuint fence = %d, GLenum pname = 0x%X, GLint *params = %p)", fence, pname, params);

 

@@ -2790,7 +2787,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat* params)

+void GetFloatv(GLenum pname, GLfloat* params)

 {

 	TRACE("(GLenum pname = 0x%X, GLfloat* params = %p)", pname, params);

 

@@ -2843,7 +2840,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)

+void GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)

 {

 	TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum pname = 0x%X, GLint* params = %p)",

 	      target, attachment, pname, params);

@@ -2956,14 +2953,14 @@
 	}

 }

 

-GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT(void)

+GLenum GetGraphicsResetStatusEXT(void)

 {

 	TRACE("()");

 

 	return GL_NO_ERROR;

 }

 

-GL_APICALL void GL_APIENTRY glGetIntegerv(GLenum pname, GLint* params)

+void GetIntegerv(GLenum pname, GLint* params)

 {

 	TRACE("(GLenum pname = 0x%X, GLint* params = %p)", pname, params);

 

@@ -3045,7 +3042,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint* params)

+void GetProgramiv(GLuint program, GLenum pname, GLint* params)

 {

 	TRACE("(GLuint program = %d, GLenum pname = 0x%X, GLint* params = %p)", program, pname, params);

 

@@ -3095,7 +3092,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog)

+void GetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog)

 {

 	TRACE("(GLuint program = %d, GLsizei bufsize = %d, GLsizei* length = %p, GLchar* infolog = %p)",

 	      program, bufsize, length, infolog);

@@ -3120,7 +3117,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetQueryivEXT(GLenum target, GLenum pname, GLint *params)

+void GetQueryivEXT(GLenum target, GLenum pname, GLint *params)

 {

 	TRACE("GLenum target = 0x%X, GLenum pname = 0x%X, GLint *params = %p)", target, pname, params);

 

@@ -3140,7 +3137,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *params)

+void GetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *params)

 {

 	TRACE("(GLuint name = %d, GLenum pname = 0x%X, GLuint *params = %p)", name, pname, params);

 

@@ -3183,7 +3180,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)

+void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)

 {

 	TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = %p)", target, pname, params);

 

@@ -3221,7 +3218,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params)

+void GetShaderiv(GLuint shader, GLenum pname, GLint* params)

 {

 	TRACE("(GLuint shader = %d, GLenum pname = %d, GLint* params = %p)", shader, pname, params);

 

@@ -3259,7 +3256,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog)

+void GetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog)

 {

 	TRACE("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = %p, GLchar* infolog = %p)",

 	      shader, bufsize, length, infolog);

@@ -3284,7 +3281,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)

+void GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)

 {

 	TRACE("(GLenum shadertype = 0x%X, GLenum precisiontype = 0x%X, GLint* range = %p, GLint* precision = %p)",

 	      shadertype, precisiontype, range, precision);

@@ -3321,7 +3318,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source)

+void GetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source)

 {

 	TRACE("(GLuint shader = %d, GLsizei bufsize = %d, GLsizei* length = %p, GLchar* source = %p)",

 	      shader, bufsize, length, source);

@@ -3346,7 +3343,7 @@
 	}

 }

 

-GL_APICALL const GLubyte* GL_APIENTRY glGetString(GLenum name)

+const GLubyte* GetString(GLenum name)

 {

 	TRACE("(GLenum name = 0x%X)", name);

 

@@ -3370,7 +3367,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)

+void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)

 {

 	TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLfloat* params = %p)", target, pname, params);

 

@@ -3517,7 +3514,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)

+void GetTexParameteriv(GLenum target, GLenum pname, GLint* params)

 {

 	TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint* params = %p)", target, pname, params);

 

@@ -3664,7 +3661,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params)

+void GetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params)

 {

 	TRACE("(GLuint program = %d, GLint location = %d, GLsizei bufSize = %d, GLfloat* params = %p)",

 	      program, location, bufSize, params);

@@ -3697,7 +3694,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetUniformfv(GLuint program, GLint location, GLfloat* params)

+void GetUniformfv(GLuint program, GLint location, GLfloat* params)

 {

 	TRACE("(GLuint program = %d, GLint location = %d, GLfloat* params = %p)", program, location, params);

 

@@ -3724,7 +3721,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params)

+void GetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params)

 {

 	TRACE("(GLuint program = %d, GLint location = %d, GLsizei bufSize = %d, GLint* params = %p)",

 	      program, location, bufSize, params);

@@ -3762,7 +3759,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetUniformiv(GLuint program, GLint location, GLint* params)

+void GetUniformiv(GLuint program, GLint location, GLint* params)

 {

 	TRACE("(GLuint program = %d, GLint location = %d, GLint* params = %p)", program, location, params);

 

@@ -3794,7 +3791,7 @@
 	}

 }

 

-GL_APICALL int GL_APIENTRY glGetUniformLocation(GLuint program, const GLchar* name)

+int GetUniformLocation(GLuint program, const GLchar* name)

 {

 	TRACE("(GLuint program = %d, const GLchar* name = %s)", program, name);

 

@@ -3832,7 +3829,7 @@
 	return -1;

 }

 

-GL_APICALL void GL_APIENTRY glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)

+void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)

 {

 	TRACE("(GLuint index = %d, GLenum pname = 0x%X, GLfloat* params = %p)", index, pname, params);

 

@@ -3905,7 +3902,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)

+void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params)

 {

 	TRACE("(GLuint index = %d, GLenum pname = 0x%X, GLint* params = %p)", index, pname, params);

 

@@ -3979,7 +3976,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer)

+void GetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer)

 {

 	TRACE("(GLuint index = %d, GLenum pname = 0x%X, GLvoid** pointer = %p)", index, pname, pointer);

 

@@ -4001,7 +3998,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glHint(GLenum target, GLenum mode)

+void Hint(GLenum target, GLenum mode)

 {

 	TRACE("(GLenum target = 0x%X, GLenum mode = 0x%X)", target, mode);

 

@@ -4029,7 +4026,7 @@
 	}

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsBuffer(GLuint buffer)

+GLboolean IsBuffer(GLuint buffer)

 {

 	TRACE("(GLuint buffer = %d)", buffer);

 

@@ -4048,7 +4045,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsEnabled(GLenum cap)

+GLboolean IsEnabled(GLenum cap)

 {

 	TRACE("(GLenum cap = 0x%X)", cap);

 

@@ -4075,7 +4072,7 @@
 	return false;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsFenceNV(GLuint fence)

+GLboolean IsFenceNV(GLuint fence)

 {

 	TRACE("(GLuint fence = %d)", fence);

 

@@ -4096,7 +4093,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer)

+GLboolean IsFramebuffer(GLuint framebuffer)

 {

 	TRACE("(GLuint framebuffer = %d)", framebuffer);

 

@@ -4115,7 +4112,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsProgram(GLuint program)

+GLboolean IsProgram(GLuint program)

 {

 	TRACE("(GLuint program = %d)", program);

 

@@ -4134,7 +4131,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT(GLuint name)

+GLboolean IsQueryEXT(GLuint name)

 {

 	TRACE("(GLuint name = %d)", name);

 

@@ -4158,7 +4155,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer)

+GLboolean IsRenderbuffer(GLuint renderbuffer)

 {

 	TRACE("(GLuint renderbuffer = %d)", renderbuffer);

 

@@ -4177,7 +4174,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsShader(GLuint shader)

+GLboolean IsShader(GLuint shader)

 {

 	TRACE("(GLuint shader = %d)", shader);

 

@@ -4196,7 +4193,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL GLboolean GL_APIENTRY glIsTexture(GLuint texture)

+GLboolean IsTexture(GLuint texture)

 {

 	TRACE("(GLuint texture = %d)", texture);

 

@@ -4215,7 +4212,7 @@
 	return GL_FALSE;

 }

 

-GL_APICALL void GL_APIENTRY glLineWidth(GLfloat width)

+void LineWidth(GLfloat width)

 {

 	TRACE("(GLfloat width = %f)", width);

 

@@ -4232,7 +4229,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glLinkProgram(GLuint program)

+void LinkProgram(GLuint program)

 {

 	TRACE("(GLuint program = %d)", program);

 

@@ -4258,7 +4255,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glPixelStorei(GLenum pname, GLint param)

+void PixelStorei(GLenum pname, GLint param)

 {

 	TRACE("(GLenum pname = 0x%X, GLint param = %d)", pname, param);

 

@@ -4304,7 +4301,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units)

+void PolygonOffset(GLfloat factor, GLfloat units)

 {

 	TRACE("(GLfloat factor = %f, GLfloat units = %f)", factor, units);

 

@@ -4316,8 +4313,8 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height,

-                                             GLenum format, GLenum type, GLsizei bufSize, GLvoid *data)

+void ReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height,

+                    GLenum format, GLenum type, GLsizei bufSize, GLvoid *data)

 {

 	TRACE("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, "

 	      "GLenum format = 0x%X, GLenum type = 0x%X, GLsizei bufSize = 0x%d, GLvoid *data = %p)",

@@ -4336,7 +4333,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)

+void ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)

 {

 	TRACE("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d, "

 	      "GLenum format = 0x%X, GLenum type = 0x%X, GLvoid* pixels = %p)",

@@ -4355,14 +4352,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glReleaseShaderCompiler(void)

+void ReleaseShaderCompiler(void)

 {

 	TRACE("()");

 

 	es2::Shader::releaseCompiler();

 }

 

-GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)

+void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)

 {

 	TRACE("(GLenum target = 0x%X, GLsizei samples = %d, GLenum internalformat = 0x%X, GLsizei width = %d, GLsizei height = %d)",

 	      target, samples, internalformat, width, height);

@@ -4426,12 +4423,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)

+void RenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)

 {

 	glRenderbufferStorageMultisampleANGLE(target, 0, internalformat, width, height);

 }

 

-GL_APICALL void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert)

+void SampleCoverage(GLclampf value, GLboolean invert)

 {

 	TRACE("(GLclampf value = %f, GLboolean invert = %d)", value, invert);

 

@@ -4443,7 +4440,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glSetFenceNV(GLuint fence, GLenum condition)

+void SetFenceNV(GLuint fence, GLenum condition)

 {

 	TRACE("(GLuint fence = %d, GLenum condition = 0x%X)", fence, condition);

 

@@ -4467,7 +4464,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height)

+void Scissor(GLint x, GLint y, GLsizei width, GLsizei height)

 {

 	TRACE("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", x, y, width, height);

 

@@ -4484,7 +4481,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length)

+void ShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length)

 {

 	TRACE("(GLsizei n = %d, const GLuint* shaders = %p, GLenum binaryformat = 0x%X, "

 	      "const GLvoid* binary = %p, GLsizei length = %d)",

@@ -4494,7 +4491,7 @@
 	return error(GL_INVALID_ENUM);

 }

 

-GL_APICALL void GL_APIENTRY glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length)

+void ShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length)

 {

 	TRACE("(GLuint shader = %d, GLsizei count = %d, const GLchar** string = %p, const GLint* length = %p)",

 	      shader, count, string, length);

@@ -4526,12 +4523,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, GLuint mask)

+void StencilFunc(GLenum func, GLint ref, GLuint mask)

 {

 	glStencilFuncSeparate(GL_FRONT_AND_BACK, func, ref, mask);

 }

 

-GL_APICALL void GL_APIENTRY glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)

+void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)

 {

 	TRACE("(GLenum face = 0x%X, GLenum func = 0x%X, GLint ref = %d, GLuint mask = %d)", face, func, ref, mask);

 

@@ -4576,12 +4573,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glStencilMask(GLuint mask)

+void StencilMask(GLuint mask)

 {

 	glStencilMaskSeparate(GL_FRONT_AND_BACK, mask);

 }

 

-GL_APICALL void GL_APIENTRY glStencilMaskSeparate(GLenum face, GLuint mask)

+void StencilMaskSeparate(GLenum face, GLuint mask)

 {

 	TRACE("(GLenum face = 0x%X, GLuint mask = %d)", face, mask);

 

@@ -4611,12 +4608,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)

+void StencilOp(GLenum fail, GLenum zfail, GLenum zpass)

 {

 	glStencilOpSeparate(GL_FRONT_AND_BACK, fail, zfail, zpass);

 }

 

-GL_APICALL void GL_APIENTRY glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)

+void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)

 {

 	TRACE("(GLenum face = 0x%X, GLenum fail = 0x%X, GLenum zfail = 0x%X, GLenum zpas = 0x%Xs)",

 	      face, fail, zfail, zpass);

@@ -4692,7 +4689,7 @@
 	}

 }

 

-GLboolean GL_APIENTRY glTestFenceNV(GLuint fence)

+GLboolean TestFenceNV(GLuint fence)

 {

 	TRACE("(GLuint fence = %d)", fence);

 

@@ -4713,8 +4710,8 @@
 	return GL_TRUE;

 }

 

-GL_APICALL void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,

-                                         GLint border, GLenum format, GLenum type, const GLvoid* pixels)

+void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,

+                GLint border, GLenum format, GLenum type, const GLvoid* pixels)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint internalformat = %d, GLsizei width = %d, GLsizei height = %d, "

 	      "GLint border = %d, GLenum format = 0x%X, GLenum type = 0x%X, const GLvoid* pixels =  %p)",

@@ -5435,7 +5432,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param)

+void TexParameterf(GLenum target, GLenum pname, GLfloat param)

 {

 	TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLfloat param = %f)", target, pname, param);

 

@@ -5586,12 +5583,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)

+void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params)

 {

 	glTexParameterf(target, pname, *params);

 }

 

-GL_APICALL void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param)

+void TexParameteri(GLenum target, GLenum pname, GLint param)

 {

 	TRACE("(GLenum target = 0x%X, GLenum pname = 0x%X, GLint param = %d)", target, pname, param);

 

@@ -5741,13 +5738,13 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname, const GLint* params)

+void TexParameteriv(GLenum target, GLenum pname, const GLint* params)

 {

 	glTexParameteri(target, pname, *params);

 }

 

-GL_APICALL void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

-                                            GLenum format, GLenum type, const GLvoid* pixels)

+void TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

+                   GLenum format, GLenum type, const GLvoid* pixels)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, "

 	      "GLsizei width = %d, GLsizei height = %d, GLenum format = 0x%X, GLenum type = 0x%X, "

@@ -5813,12 +5810,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform1f(GLint location, GLfloat x)

+void Uniform1f(GLint location, GLfloat x)

 {

 	glUniform1fv(location, 1, &x);

 }

 

-GL_APICALL void GL_APIENTRY glUniform1fv(GLint location, GLsizei count, const GLfloat* v)

+void Uniform1fv(GLint location, GLsizei count, const GLfloat* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLfloat* v = %p)", location, count, v);

 

@@ -5850,12 +5847,12 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform1i(GLint location, GLint x)

+void Uniform1i(GLint location, GLint x)

 {

 	glUniform1iv(location, 1, &x);

 }

 

-GL_APICALL void GL_APIENTRY glUniform1iv(GLint location, GLsizei count, const GLint* v)

+void Uniform1iv(GLint location, GLsizei count, const GLint* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLint* v = %p)", location, count, v);

 

@@ -5887,14 +5884,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform2f(GLint location, GLfloat x, GLfloat y)

+void Uniform2f(GLint location, GLfloat x, GLfloat y)

 {

 	GLfloat xy[2] = {x, y};

 

 	glUniform2fv(location, 1, (GLfloat*)&xy);

 }

 

-GL_APICALL void GL_APIENTRY glUniform2fv(GLint location, GLsizei count, const GLfloat* v)

+void Uniform2fv(GLint location, GLsizei count, const GLfloat* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLfloat* v = %p)", location, count, v);

 

@@ -5926,14 +5923,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform2i(GLint location, GLint x, GLint y)

+void Uniform2i(GLint location, GLint x, GLint y)

 {

 	GLint xy[4] = {x, y};

 

 	glUniform2iv(location, 1, (GLint*)&xy);

 }

 

-GL_APICALL void GL_APIENTRY glUniform2iv(GLint location, GLsizei count, const GLint* v)

+void Uniform2iv(GLint location, GLsizei count, const GLint* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLint* v = %p)", location, count, v);

 

@@ -5965,14 +5962,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)

+void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)

 {

 	GLfloat xyz[3] = {x, y, z};

 

 	glUniform3fv(location, 1, (GLfloat*)&xyz);

 }

 

-GL_APICALL void GL_APIENTRY glUniform3fv(GLint location, GLsizei count, const GLfloat* v)

+void Uniform3fv(GLint location, GLsizei count, const GLfloat* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLfloat* v = %p)", location, count, v);

 

@@ -6004,14 +6001,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform3i(GLint location, GLint x, GLint y, GLint z)

+void Uniform3i(GLint location, GLint x, GLint y, GLint z)

 {

 	GLint xyz[3] = {x, y, z};

 

 	glUniform3iv(location, 1, (GLint*)&xyz);

 }

 

-GL_APICALL void GL_APIENTRY glUniform3iv(GLint location, GLsizei count, const GLint* v)

+void Uniform3iv(GLint location, GLsizei count, const GLint* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLint* v = %p)", location, count, v);

 

@@ -6043,14 +6040,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)

+void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)

 {

 	GLfloat xyzw[4] = {x, y, z, w};

 

 	glUniform4fv(location, 1, (GLfloat*)&xyzw);

 }

 

-GL_APICALL void GL_APIENTRY glUniform4fv(GLint location, GLsizei count, const GLfloat* v)

+void Uniform4fv(GLint location, GLsizei count, const GLfloat* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLfloat* v = %p)", location, count, v);

 

@@ -6082,14 +6079,14 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)

+void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)

 {

 	GLint xyzw[4] = {x, y, z, w};

 

 	glUniform4iv(location, 1, (GLint*)&xyzw);

 }

 

-GL_APICALL void GL_APIENTRY glUniform4iv(GLint location, GLsizei count, const GLint* v)

+void Uniform4iv(GLint location, GLsizei count, const GLint* v)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, const GLint* v = %p)", location, count, v);

 

@@ -6121,7 +6118,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

+void UniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %d, const GLfloat* value = %p)",

 	      location, count, transpose, value);

@@ -6154,7 +6151,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

+void UniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %d, const GLfloat* value = %p)",

 	      location, count, transpose, value);

@@ -6187,7 +6184,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

+void UniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

 {

 	TRACE("(GLint location = %d, GLsizei count = %d, GLboolean transpose = %d, const GLfloat* value = %p)",

 	      location, count, transpose, value);

@@ -6220,7 +6217,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glUseProgram(GLuint program)

+void UseProgram(GLuint program)

 {

 	TRACE("(GLuint program = %d)", program);

 

@@ -6251,7 +6248,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glValidateProgram(GLuint program)

+void ValidateProgram(GLuint program)

 {

 	TRACE("(GLuint program = %d)", program);

 

@@ -6277,7 +6274,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib1f(GLuint index, GLfloat x)

+void VertexAttrib1f(GLuint index, GLfloat x)

 {

 	TRACE("(GLuint index = %d, GLfloat x = %f)", index, x);

 

@@ -6295,7 +6292,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib1fv(GLuint index, const GLfloat* values)

+void VertexAttrib1fv(GLuint index, const GLfloat* values)

 {

 	TRACE("(GLuint index = %d, const GLfloat* values = %p)", index, values);

 

@@ -6313,7 +6310,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)

+void VertexAttrib2f(GLuint index, GLfloat x, GLfloat y)

 {

 	TRACE("(GLuint index = %d, GLfloat x = %f, GLfloat y = %f)", index, x, y);

 

@@ -6331,7 +6328,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib2fv(GLuint index, const GLfloat* values)

+void VertexAttrib2fv(GLuint index, const GLfloat* values)

 {

 	TRACE("(GLuint index = %d, const GLfloat* values = %p)", index, values);

 

@@ -6349,7 +6346,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)

+void VertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)

 {

 	TRACE("(GLuint index = %d, GLfloat x = %f, GLfloat y = %f, GLfloat z = %f)", index, x, y, z);

 

@@ -6367,7 +6364,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib3fv(GLuint index, const GLfloat* values)

+void VertexAttrib3fv(GLuint index, const GLfloat* values)

 {

 	TRACE("(GLuint index = %d, const GLfloat* values = %p)", index, values);

 

@@ -6385,7 +6382,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)

+void VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)

 {

 	TRACE("(GLuint index = %d, GLfloat x = %f, GLfloat y = %f, GLfloat z = %f, GLfloat w = %f)", index, x, y, z, w);

 

@@ -6403,7 +6400,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttrib4fv(GLuint index, const GLfloat* values)

+void VertexAttrib4fv(GLuint index, const GLfloat* values)

 {

 	TRACE("(GLuint index = %d, const GLfloat* values = %p)", index, values);

 

@@ -6420,7 +6417,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr)

+void VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr)

 {

 	TRACE("(GLuint index = %d, GLint size = %d, GLenum type = 0x%X, "

 	      "GLboolean normalized = %d, GLsizei stride = %d, const GLvoid* ptr = %p)",

@@ -6483,7 +6480,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height)

+void Viewport(GLint x, GLint y, GLsizei width, GLsizei height)

 {

 	TRACE("(GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)", x, y, width, height);

 

@@ -6500,7 +6497,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)

+void BlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)

 {

 	TRACE("(GLint srcX0 = %d, GLint srcY0 = %d, GLint srcX1 = %d, GLint srcY1 = %d, "

 	      "GLint dstX0 = %d, GLint dstY0 = %d, GLint dstX1 = %d, GLint dstY1 = %d, "

@@ -6534,8 +6531,8 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,

-                                                   GLbitfield mask, GLenum filter)

+void BlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,

+                          GLbitfield mask, GLenum filter)

 {

 	if(srcX1 - srcX0 != dstX1 - dstX0 || srcY1 - srcY0 != dstY1 - dstY0)

 	{

@@ -6546,8 +6543,8 @@
 	glBlitFramebufferNV(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);

 }

 

-GL_APICALL void GL_APIENTRY glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,

-                                            GLint border, GLenum format, GLenum type, const GLvoid* pixels)

+void TexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,

+                   GLint border, GLenum format, GLenum type, const GLvoid* pixels)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, "

 	      "GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, GLint border = %d, "

@@ -6611,7 +6608,7 @@
 	}

 }

 

-GL_APICALL void GL_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)

+void TexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, "

 		"GLint zoffset = %d, GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, "

@@ -6654,7 +6651,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)

+void CopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, "

 		"GLint zoffset = %d, GLint x = %d, GLint y = %d, GLsizei width = %d, GLsizei height = %d)",

@@ -6709,7 +6706,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)

+void CompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLenum internalformat = 0x%X, GLsizei width = %d, "

 		"GLsizei height = %d, GLsizei depth = %d, GLint border = %d, GLsizei imageSize = %d, const GLvoid* data = %p)",

@@ -6777,7 +6774,7 @@
 	}

 }

 

-GL_APICALL void GL_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)

+void CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)

 {

 	TRACE("(GLenum target = 0x%X, GLint level = %d, GLint xoffset = %d, GLint yoffset = %d, "

 		"GLint zoffset = %d, GLsizei width = %d, GLsizei height = %d, GLsizei depth = %d, "

@@ -6834,7 +6831,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)

+void FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)

 {

 	TRACE("(GLenum target = 0x%X, GLenum attachment = 0x%X, GLenum textarget = 0x%X, "

 		"GLuint texture = %d, GLint level = %d, GLint zoffset = %d)", target, attachment, textarget, texture, level, zoffset);

@@ -6921,7 +6918,7 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)

+void EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)

 {

 	if(egl::getClientVersion() == 1)

 	{

@@ -6968,14 +6965,16 @@
 	}

 }

 

-GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)

+void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)

 {

 	TRACE("(GLenum target = 0x%X, GLeglImageOES image = %p)", target, image);

 

 	UNIMPLEMENTED();

 }

 

-__eglMustCastToProperFunctionPointerType es2GetProcAddress(const char *procname)

+}

+

+extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char *procname)

 {

 	struct Extension

 	{

@@ -7031,10 +7030,3 @@
 

 	return NULL;

 }

-

-void GL_APIENTRY Register(const char *licenseKey)

-{

-	RegisterLicenseKey(licenseKey);

-}

-

-}

diff --git a/src/OpenGL/libGLESv2/libGLESv2.hpp b/src/OpenGL/libGLESv2/libGLESv2.hpp
index 2322ae9..75f18f5 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.hpp
+++ b/src/OpenGL/libGLESv2/libGLESv2.hpp
@@ -25,6 +25,191 @@
 public:
 	LibGLESv2exports();
 
+	void (*glActiveTexture)(GLenum texture);
+	void (*glAttachShader)(GLuint program, GLuint shader);
+	void (*glBeginQueryEXT)(GLenum target, GLuint name);
+	void (*glBindAttribLocation)(GLuint program, GLuint index, const GLchar* name);
+	void (*glBindBuffer)(GLenum target, GLuint buffer);
+	void (*glBindFramebuffer)(GLenum target, GLuint framebuffer);
+	void (*glBindRenderbuffer)(GLenum target, GLuint renderbuffer);
+	void (*glBindTexture)(GLenum target, GLuint texture);
+	void (*glBlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+	void (*glBlendEquation)(GLenum mode);
+	void (*glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha);
+	void (*glBlendFunc)(GLenum sfactor, GLenum dfactor);
+	void (*glBlendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+	void (*glBufferData)(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
+	void (*glBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
+	GLenum (*glCheckFramebufferStatus)(GLenum target);
+	void (*glClear)(GLbitfield mask);
+	void (*glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+	void (*glClearDepthf)(GLclampf depth);
+	void (*glClearStencil)(GLint s);
+	void (*glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+	void (*glCompileShader)(GLuint shader);
+	void (*glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
+	                               GLint border, GLsizei imageSize, const GLvoid* data);
+	void (*glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
+	                                  GLenum format, GLsizei imageSize, const GLvoid* data);
+	void (*glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+	void (*glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+	GLuint (*glCreateProgram)(void);
+	GLuint (*glCreateShader)(GLenum type);
+	void (*glCullFace)(GLenum mode);
+	void (*glDeleteBuffers)(GLsizei n, const GLuint* buffers);
+	void (*glDeleteFencesNV)(GLsizei n, const GLuint* fences);
+	void (*glDeleteFramebuffers)(GLsizei n, const GLuint* framebuffers);
+	void (*glDeleteProgram)(GLuint program);
+	void (*glDeleteQueriesEXT)(GLsizei n, const GLuint *ids);
+	void (*glDeleteRenderbuffers)(GLsizei n, const GLuint* renderbuffers);
+	void (*glDeleteShader)(GLuint shader);
+	void (*glDeleteTextures)(GLsizei n, const GLuint* textures);
+	void (*glDepthFunc)(GLenum func);
+	void (*glDepthMask)(GLboolean flag);
+	void (*glDepthRangef)(GLclampf zNear, GLclampf zFar);
+	void (*glDetachShader)(GLuint program, GLuint shader);
+	void (*glDisable)(GLenum cap);
+	void (*glDisableVertexAttribArray)(GLuint index);
+	void (*glDrawArrays)(GLenum mode, GLint first, GLsizei count);
+	void (*glDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
+	void (*glDrawArraysInstancedEXT)(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
+	void (*glDrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);
+	void (*glVertexAttribDivisorEXT)(GLuint index, GLuint divisor);
+	void (*glDrawArraysInstancedANGLE)(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
+	void (*glDrawElementsInstancedANGLE)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);
+	void (*glVertexAttribDivisorANGLE)(GLuint index, GLuint divisor);
+	void (*glEnable)(GLenum cap);
+	void (*glEnableVertexAttribArray)(GLuint index);
+	void (*glEndQueryEXT)(GLenum target);
+	void (*glFinishFenceNV)(GLuint fence);
+	void (*glFinish)(void);
+	void (*glFlush)(void);
+	void (*glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
+	void (*glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
+	void (*glFrontFace)(GLenum mode);
+	void (*glGenBuffers)(GLsizei n, GLuint* buffers);
+	void (*glGenerateMipmap)(GLenum target);
+	void (*glGenFencesNV)(GLsizei n, GLuint* fences);
+	void (*glGenFramebuffers)(GLsizei n, GLuint* framebuffers);
+	void (*glGenQueriesEXT)(GLsizei n, GLuint* ids);
+	void (*glGenRenderbuffers)(GLsizei n, GLuint* renderbuffers);
+	void (*glGenTextures)(GLsizei n, GLuint* textures);
+	void (*glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
+	void (*glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
+	void (*glGetAttachedShaders)(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
+	int (*glGetAttribLocation)(GLuint program, const GLchar* name);
+	void (*glGetBooleanv)(GLenum pname, GLboolean* params);
+	void (*glGetBufferParameteriv)(GLenum target, GLenum pname, GLint* params);
+	GLenum (*glGetError)(void);
+	void (*glGetFenceivNV)(GLuint fence, GLenum pname, GLint *params);
+	void (*glGetFloatv)(GLenum pname, GLfloat* params);
+	void (*glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint* params);
+	GLenum (*glGetGraphicsResetStatusEXT)(void);
+	void (*glGetIntegerv)(GLenum pname, GLint* params);
+	void (*glGetProgramiv)(GLuint program, GLenum pname, GLint* params);
+	void (*glGetProgramInfoLog)(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
+	void (*glGetQueryivEXT)(GLenum target, GLenum pname, GLint *params);
+	void (*glGetQueryObjectuivEXT)(GLuint name, GLenum pname, GLuint *params);
+	void (*glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint* params);
+	void (*glGetShaderiv)(GLuint shader, GLenum pname, GLint* params);
+	void (*glGetShaderInfoLog)(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
+	void (*glGetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
+	void (*glGetShaderSource)(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
+	const GLubyte* (*glGetString)(GLenum name);
+	void (*glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat* params);
+	void (*glGetTexParameteriv)(GLenum target, GLenum pname, GLint* params);
+	void (*glGetnUniformfvEXT)(GLuint program, GLint location, GLsizei bufSize, GLfloat* params);
+	void (*glGetUniformfv)(GLuint program, GLint location, GLfloat* params);
+	void (*glGetnUniformivEXT)(GLuint program, GLint location, GLsizei bufSize, GLint* params);
+	void (*glGetUniformiv)(GLuint program, GLint location, GLint* params);
+	int (*glGetUniformLocation)(GLuint program, const GLchar* name);
+	void (*glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat* params);
+	void (*glGetVertexAttribiv)(GLuint index, GLenum pname, GLint* params);
+	void (*glGetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid** pointer);
+	void (*glHint)(GLenum target, GLenum mode);
+	GLboolean (*glIsBuffer)(GLuint buffer);
+	GLboolean (*glIsEnabled)(GLenum cap);
+	GLboolean (*glIsFenceNV)(GLuint fence);
+	GLboolean (*glIsFramebuffer)(GLuint framebuffer);
+	GLboolean (*glIsProgram)(GLuint program);
+	GLboolean (*glIsQueryEXT)(GLuint name);
+	GLboolean (*glIsRenderbuffer)(GLuint renderbuffer);
+	GLboolean (*glIsShader)(GLuint shader);
+	GLboolean (*glIsTexture)(GLuint texture);
+	void (*glLineWidth)(GLfloat width);
+	void (*glLinkProgram)(GLuint program);
+	void (*glPixelStorei)(GLenum pname, GLint param);
+	void (*glPolygonOffset)(GLfloat factor, GLfloat units);
+	void (*glReadnPixelsEXT)(GLint x, GLint y, GLsizei width, GLsizei height,
+	                         GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);
+	void (*glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
+	void (*glReleaseShaderCompiler)(void);
+	void (*glRenderbufferStorageMultisampleANGLE)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
+	void (*glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
+	void (*glSampleCoverage)(GLclampf value, GLboolean invert);
+	void (*glSetFenceNV)(GLuint fence, GLenum condition);
+	void (*glScissor)(GLint x, GLint y, GLsizei width, GLsizei height);
+	void (*glShaderBinary)(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
+	void (*glShaderSource)(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length);
+	void (*glStencilFunc)(GLenum func, GLint ref, GLuint mask);
+	void (*glStencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask);
+	void (*glStencilMask)(GLuint mask);
+	void (*glStencilMaskSeparate)(GLenum face, GLuint mask);
+	void (*glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
+	void (*glStencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
+	GLboolean (*glTestFenceNV)(GLuint fence);
+	void (*glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
+	                     GLint border, GLenum format, GLenum type, const GLvoid* pixels);
+	void (*glTexParameterf)(GLenum target, GLenum pname, GLfloat param);
+	void (*glTexParameterfv)(GLenum target, GLenum pname, const GLfloat* params);
+	void (*glTexParameteri)(GLenum target, GLenum pname, GLint param);
+	void (*glTexParameteriv)(GLenum target, GLenum pname, const GLint* params);
+	void (*glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
+	                        GLenum format, GLenum type, const GLvoid* pixels);
+	void (*glUniform1f)(GLint location, GLfloat x);
+	void (*glUniform1fv)(GLint location, GLsizei count, const GLfloat* v);
+	void (*glUniform1i)(GLint location, GLint x);
+	void (*glUniform1iv)(GLint location, GLsizei count, const GLint* v);
+	void (*glUniform2f)(GLint location, GLfloat x, GLfloat y);
+	void (*glUniform2fv)(GLint location, GLsizei count, const GLfloat* v);
+	void (*glUniform2i)(GLint location, GLint x, GLint y);
+	void (*glUniform2iv)(GLint location, GLsizei count, const GLint* v);
+	void (*glUniform3f)(GLint location, GLfloat x, GLfloat y, GLfloat z);
+	void (*glUniform3fv)(GLint location, GLsizei count, const GLfloat* v);
+	void (*glUniform3i)(GLint location, GLint x, GLint y, GLint z);
+	void (*glUniform3iv)(GLint location, GLsizei count, const GLint* v);
+	void (*glUniform4f)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+	void (*glUniform4fv)(GLint location, GLsizei count, const GLfloat* v);
+	void (*glUniform4i)(GLint location, GLint x, GLint y, GLint z, GLint w);
+	void (*glUniform4iv)(GLint location, GLsizei count, const GLint* v);
+	void (*glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+	void (*glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+	void (*glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
+	void (*glUseProgram)(GLuint program);
+	void (*glValidateProgram)(GLuint program);
+	void (*glVertexAttrib1f)(GLuint index, GLfloat x);
+	void (*glVertexAttrib1fv)(GLuint index, const GLfloat* values);
+	void (*glVertexAttrib2f)(GLuint index, GLfloat x, GLfloat y);
+	void (*glVertexAttrib2fv)(GLuint index, const GLfloat* values);
+	void (*glVertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
+	void (*glVertexAttrib3fv)(GLuint index, const GLfloat* values);
+	void (*glVertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
+	void (*glVertexAttrib4fv)(GLuint index, const GLfloat* values);
+	void (*glVertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
+	void (*glViewport)(GLint x, GLint y, GLsizei width, GLsizei height);
+	void (*glBlitFramebufferNV)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
+	void (*glBlitFramebufferANGLE)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
+	                               GLbitfield mask, GLenum filter);
+	void (*glTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,
+	                        GLint border, GLenum format, GLenum type, const GLvoid* pixels);
+	void (*glTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
+	void (*glCopyTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+	void (*glCompressedTexImage3DOES)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
+	void (*glCompressedTexSubImage3DOES)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
+	void (*glFramebufferTexture3DOES)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
+	void (*glEGLImageTargetTexture2DOES)(GLenum target, GLeglImageOES image);
+	void (*glEGLImageTargetRenderbufferStorageOES)(GLenum target, GLeglImageOES image);
+
 	egl::Context *(*es2CreateContext)(const egl::Config *config, const egl::Context *shareContext, int clientVersion);
 	__eglMustCastToProperFunctionPointerType (*es2GetProcAddress)(const char *procname);
 	egl::Image *(*createBackBuffer)(int width, int height, const egl::Config *config);
diff --git a/src/OpenGL/libGLESv2/main.cpp b/src/OpenGL/libGLESv2/main.cpp
index dd748d8..0b2f4cf 100644
--- a/src/OpenGL/libGLESv2/main.cpp
+++ b/src/OpenGL/libGLESv2/main.cpp
@@ -20,6 +20,7 @@
 #include "Common/Thread.hpp"

 #include "Common/SharedLibrary.hpp"

 #include "common/debug.h"

+#include "Main/Register.hpp"

 

 #if !defined(_MSC_VER)

 #define CONSTRUCTOR __attribute__((constructor))

@@ -150,6 +151,1094 @@
 }

 }

 

+namespace es2

+{

+void ActiveTexture(GLenum texture);

+void AttachShader(GLuint program, GLuint shader);

+void BeginQueryEXT(GLenum target, GLuint name);

+void BindAttribLocation(GLuint program, GLuint index, const GLchar* name);

+void BindBuffer(GLenum target, GLuint buffer);

+void BindFramebuffer(GLenum target, GLuint framebuffer);

+void BindRenderbuffer(GLenum target, GLuint renderbuffer);

+void BindTexture(GLenum target, GLuint texture);

+void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

+void BlendEquation(GLenum mode);

+void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);

+void BlendFunc(GLenum sfactor, GLenum dfactor);

+void BlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);

+void BufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);

+void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);

+GLenum CheckFramebufferStatus(GLenum target);

+void Clear(GLbitfield mask);

+void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

+void ClearDepthf(GLclampf depth);

+void ClearStencil(GLint s);

+void ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);

+void CompileShader(GLuint shader);

+void CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,

+                          GLint border, GLsizei imageSize, const GLvoid* data);

+void CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

+                             GLenum format, GLsizei imageSize, const GLvoid* data);

+void CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);

+void CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);

+GLuint CreateProgram(void);

+GLuint CreateShader(GLenum type);

+void CullFace(GLenum mode);

+void DeleteBuffers(GLsizei n, const GLuint* buffers);

+void DeleteFencesNV(GLsizei n, const GLuint* fences);

+void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers);

+void DeleteProgram(GLuint program);

+void DeleteQueriesEXT(GLsizei n, const GLuint *ids);

+void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers);

+void DeleteShader(GLuint shader);

+void DeleteTextures(GLsizei n, const GLuint* textures);

+void DepthFunc(GLenum func);

+void DepthMask(GLboolean flag);

+void DepthRangef(GLclampf zNear, GLclampf zFar);

+void DetachShader(GLuint program, GLuint shader);

+void Disable(GLenum cap);

+void DisableVertexAttribArray(GLuint index);

+void DrawArrays(GLenum mode, GLint first, GLsizei count);

+void DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);

+void DrawArraysInstancedEXT(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);

+void DrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);

+void VertexAttribDivisorEXT(GLuint index, GLuint divisor);

+void DrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);

+void DrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount);

+void VertexAttribDivisorANGLE(GLuint index, GLuint divisor);

+void Enable(GLenum cap);

+void EnableVertexAttribArray(GLuint index);

+void EndQueryEXT(GLenum target);

+void FinishFenceNV(GLuint fence);

+void Finish(void);

+void Flush(void);

+void FramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);

+void FramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);

+void FrontFace(GLenum mode);

+void GenBuffers(GLsizei n, GLuint* buffers);

+void GenerateMipmap(GLenum target);

+void GenFencesNV(GLsizei n, GLuint* fences);

+void GenFramebuffers(GLsizei n, GLuint* framebuffers);

+void GenQueriesEXT(GLsizei n, GLuint* ids);

+void GenRenderbuffers(GLsizei n, GLuint* renderbuffers);

+void GenTextures(GLsizei n, GLuint* textures);

+void GetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);

+void GetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);

+void GetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);

+int GetAttribLocation(GLuint program, const GLchar* name);

+void GetBooleanv(GLenum pname, GLboolean* params);

+void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params);

+GLenum GetError(void);

+void GetFenceivNV(GLuint fence, GLenum pname, GLint *params);

+void GetFloatv(GLenum pname, GLfloat* params);

+void GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params);

+GLenum GetGraphicsResetStatusEXT(void);

+void GetIntegerv(GLenum pname, GLint* params);

+void GetProgramiv(GLuint program, GLenum pname, GLint* params);

+void GetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);

+void GetQueryivEXT(GLenum target, GLenum pname, GLint *params);

+void GetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *params);

+void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params);

+void GetShaderiv(GLuint shader, GLenum pname, GLint* params);

+void GetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);

+void GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);

+void GetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);

+const GLubyte* GetString(GLenum name);

+void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);

+void GetTexParameteriv(GLenum target, GLenum pname, GLint* params);

+void GetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params);

+void GetUniformfv(GLuint program, GLint location, GLfloat* params);

+void GetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params);

+void GetUniformiv(GLuint program, GLint location, GLint* params);

+int GetUniformLocation(GLuint program, const GLchar* name);

+void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params);

+void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params);

+void GetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer);

+void Hint(GLenum target, GLenum mode);

+GLboolean IsBuffer(GLuint buffer);

+GLboolean IsEnabled(GLenum cap);

+GLboolean IsFenceNV(GLuint fence);

+GLboolean IsFramebuffer(GLuint framebuffer);

+GLboolean IsProgram(GLuint program);

+GLboolean IsQueryEXT(GLuint name);

+GLboolean IsRenderbuffer(GLuint renderbuffer);

+GLboolean IsShader(GLuint shader);

+GLboolean IsTexture(GLuint texture);

+void LineWidth(GLfloat width);

+void LinkProgram(GLuint program);

+void PixelStorei(GLenum pname, GLint param);

+void PolygonOffset(GLfloat factor, GLfloat units);

+void ReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height,

+                    GLenum format, GLenum type, GLsizei bufSize, GLvoid *data);

+void ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);

+void ReleaseShaderCompiler(void);

+void RenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);

+void RenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);

+void SampleCoverage(GLclampf value, GLboolean invert);

+void SetFenceNV(GLuint fence, GLenum condition);

+void Scissor(GLint x, GLint y, GLsizei width, GLsizei height);

+void ShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);

+void ShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length);

+void StencilFunc(GLenum func, GLint ref, GLuint mask);

+void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask);

+void StencilMask(GLuint mask);

+void StencilMaskSeparate(GLenum face, GLuint mask);

+void StencilOp(GLenum fail, GLenum zfail, GLenum zpass);

+void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);

+GLboolean TestFenceNV(GLuint fence);

+void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,

+                 GLint border, GLenum format, GLenum type, const GLvoid* pixels);

+void TexParameterf(GLenum target, GLenum pname, GLfloat param);

+void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params);

+void TexParameteri(GLenum target, GLenum pname, GLint param);

+void TexParameteriv(GLenum target, GLenum pname, const GLint* params);

+void TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

+                   GLenum format, GLenum type, const GLvoid* pixels);

+void Uniform1f(GLint location, GLfloat x);

+void Uniform1fv(GLint location, GLsizei count, const GLfloat* v);

+void Uniform1i(GLint location, GLint x);

+void Uniform1iv(GLint location, GLsizei count, const GLint* v);

+void Uniform2f(GLint location, GLfloat x, GLfloat y);

+void Uniform2fv(GLint location, GLsizei count, const GLfloat* v);

+void Uniform2i(GLint location, GLint x, GLint y);

+void Uniform2iv(GLint location, GLsizei count, const GLint* v);

+void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z);

+void Uniform3fv(GLint location, GLsizei count, const GLfloat* v);

+void Uniform3i(GLint location, GLint x, GLint y, GLint z);

+void Uniform3iv(GLint location, GLsizei count, const GLint* v);

+void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);

+void Uniform4fv(GLint location, GLsizei count, const GLfloat* v);

+void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w);

+void Uniform4iv(GLint location, GLsizei count, const GLint* v);

+void UniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);

+void UniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);

+void UniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);

+void UseProgram(GLuint program);

+void ValidateProgram(GLuint program);

+void VertexAttrib1f(GLuint index, GLfloat x);

+void VertexAttrib1fv(GLuint index, const GLfloat* values);

+void VertexAttrib2f(GLuint index, GLfloat x, GLfloat y);

+void VertexAttrib2fv(GLuint index, const GLfloat* values);

+void VertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);

+void VertexAttrib3fv(GLuint index, const GLfloat* values);

+void VertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);

+void VertexAttrib4fv(GLuint index, const GLfloat* values);

+GL_APICALL void VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);

+GL_APICALL void Viewport(GLint x, GLint y, GLsizei width, GLsizei height);

+GL_APICALL void BlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);

+GL_APICALL void BlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,

+                                     GLbitfield mask, GLenum filter);

+GL_APICALL void TexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,

+                              GLint border, GLenum format, GLenum type, const GLvoid* pixels);

+GL_APICALL void TexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);

+GL_APICALL void CopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);

+GL_APICALL void CompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);

+GL_APICALL void CompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);

+GL_APICALL void FramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);

+GL_APICALL void EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);

+GL_APICALL void EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);

+}

+

+extern "C"

+{

+GL_APICALL void GL_APIENTRY glActiveTexture(GLenum texture)

+{

+	return es2::ActiveTexture(texture);

+}

+

+GL_APICALL void GL_APIENTRY glAttachShader(GLuint program, GLuint shader)

+{

+	return es2::AttachShader(program, shader);

+}

+

+GL_APICALL void GL_APIENTRY glBeginQueryEXT(GLenum target, GLuint name)

+{

+	return es2::BeginQueryEXT(target, name);

+}

+

+GL_APICALL void GL_APIENTRY glBindAttribLocation(GLuint program, GLuint index, const GLchar* name)

+{

+	return es2::BindAttribLocation(program, index, name);

+}

+

+GL_APICALL void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer)

+{

+	return es2::BindBuffer(target, buffer);

+}

+

+GL_APICALL void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer)

+{

+	return es2::BindFramebuffer(target, framebuffer);

+}

+

+GL_APICALL void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer)

+{

+	return es2::BindRenderbuffer(target, renderbuffer);

+}

+

+GL_APICALL void GL_APIENTRY glBindTexture(GLenum target, GLuint texture)

+{

+	return es2::BindTexture(target, texture);

+}

+

+GL_APICALL void GL_APIENTRY glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

+{

+	return es2::BlendColor(red, green, blue, alpha);

+}

+

+GL_APICALL void GL_APIENTRY glBlendEquation(GLenum mode)

+{

+	return es2::BlendEquation(mode);

+}

+

+GL_APICALL void GL_APIENTRY glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)

+{

+	return es2::BlendEquationSeparate(modeRGB, modeAlpha);

+}

+

+GL_APICALL void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor)

+{

+	return es2::BlendFunc(sfactor, dfactor);

+}

+

+GL_APICALL void GL_APIENTRY glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)

+{

+	return es2::BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);

+}

+

+GL_APICALL void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)

+{

+	return es2::BufferData(target, size, data, usage);

+}

+

+GL_APICALL void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)

+{

+	return es2::BufferSubData(target, offset, size, data);

+}

+

+GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target)

+{

+	return es2::CheckFramebufferStatus(target);

+}

+

+GL_APICALL void GL_APIENTRY glClear(GLbitfield mask)

+{

+	return es2::Clear(mask);

+}

+

+GL_APICALL void GL_APIENTRY glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)

+{

+	return es2::ClearColor(red, green, blue, alpha);

+}

+

+GL_APICALL void GL_APIENTRY glClearDepthf(GLclampf depth)

+{

+	return es2::ClearDepthf(depth);

+}

+

+GL_APICALL void GL_APIENTRY glClearStencil(GLint s)

+{

+	return es2::ClearStencil(s);

+}

+

+GL_APICALL void GL_APIENTRY glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)

+{

+	return es2::ColorMask(red, green, blue, alpha);

+}

+

+GL_APICALL void GL_APIENTRY glCompileShader(GLuint shader)

+{

+	return es2::CompileShader(shader);

+}

+

+GL_APICALL void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,

+                                                   GLint border, GLsizei imageSize, const GLvoid* data)

+{

+	return es2::CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);

+}

+

+GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

+                                                      GLenum format, GLsizei imageSize, const GLvoid* data)

+{

+	return es2::CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);

+}

+

+GL_APICALL void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)

+{

+	return es2::CopyTexImage2D(target, level, internalformat, x, y, width, height, border);

+}

+

+GL_APICALL void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)

+{

+	return es2::CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);

+}

+

+GL_APICALL GLuint GL_APIENTRY glCreateProgram(void)

+{

+	return es2::CreateProgram();

+}

+

+GL_APICALL GLuint GL_APIENTRY glCreateShader(GLenum type)

+{

+	return es2::CreateShader(type);

+}

+

+GL_APICALL void GL_APIENTRY glCullFace(GLenum mode)

+{

+	return es2::CullFace(mode);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint* buffers)

+{

+	return es2::DeleteBuffers(n, buffers);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteFencesNV(GLsizei n, const GLuint* fences)

+{

+	return es2::DeleteFencesNV(n, fences);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)

+{

+	return es2::DeleteFramebuffers(n, framebuffers);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteProgram(GLuint program)

+{

+	return es2::DeleteProgram(program);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteQueriesEXT(GLsizei n, const GLuint *ids)

+{

+	return es2::DeleteQueriesEXT(n, ids);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)

+{

+	return es2::DeleteRenderbuffers(n, renderbuffers);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteShader(GLuint shader)

+{

+	return es2::DeleteShader(shader);

+}

+

+GL_APICALL void GL_APIENTRY glDeleteTextures(GLsizei n, const GLuint* textures)

+{

+	return es2::DeleteTextures(n, textures);

+}

+

+GL_APICALL void GL_APIENTRY glDepthFunc(GLenum func)

+{

+	return es2::DepthFunc(func);

+}

+

+GL_APICALL void GL_APIENTRY glDepthMask(GLboolean flag)

+{

+	return es2::DepthMask(flag);

+}

+

+GL_APICALL void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar)

+{

+	return es2::DepthRangef(zNear, zFar);

+}

+

+GL_APICALL void GL_APIENTRY glDetachShader(GLuint program, GLuint shader)

+{

+	return es2::DetachShader(program, shader);

+}

+

+GL_APICALL void GL_APIENTRY glDisable(GLenum cap)

+{

+	return es2::Disable(cap);

+}

+

+GL_APICALL void GL_APIENTRY glDisableVertexAttribArray(GLuint index)

+{

+	return es2::DisableVertexAttribArray(index);

+}

+

+GL_APICALL void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count)

+{

+	return es2::DrawArrays(mode, first, count);

+}

+

+GL_APICALL void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)

+{

+	return es2::DrawElements(mode, count, type, indices);

+}

+

+GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)

+{

+	return es2::DrawArraysInstancedEXT(mode, first, count, instanceCount);

+}

+

+GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)

+{

+	return es2::DrawElementsInstancedEXT(mode, count, type, indices, instanceCount);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT(GLuint index, GLuint divisor)

+{

+	return es2::VertexAttribDivisorEXT(index, divisor);

+}

+

+GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)

+{

+	return es2::DrawArraysInstancedANGLE(mode, first, count, instanceCount);

+}

+

+GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)

+{

+	return es2::DrawElementsInstancedANGLE(mode, count, type, indices, instanceCount);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE(GLuint index, GLuint divisor)

+{

+	return es2::VertexAttribDivisorANGLE(index, divisor);

+}

+

+GL_APICALL void GL_APIENTRY glEnable(GLenum cap)

+{

+	return es2::Enable(cap);

+}

+

+GL_APICALL void GL_APIENTRY glEnableVertexAttribArray(GLuint index)

+{

+	return es2::EnableVertexAttribArray(index);

+}

+

+GL_APICALL void GL_APIENTRY glEndQueryEXT(GLenum target)

+{

+	return es2::EndQueryEXT(target);

+}

+

+GL_APICALL void GL_APIENTRY glFinishFenceNV(GLuint fence)

+{

+	return es2::FinishFenceNV(fence);

+}

+

+GL_APICALL void GL_APIENTRY glFinish(void)

+{

+	return es2::Finish();

+}

+

+GL_APICALL void GL_APIENTRY glFlush(void)

+{

+	return es2::Flush();

+}

+

+GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)

+{

+	return es2::FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);

+}

+

+GL_APICALL void GL_APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)

+{

+	return es2::FramebufferTexture2D(target, attachment, textarget, texture, level);

+}

+

+GL_APICALL void GL_APIENTRY glFrontFace(GLenum mode)

+{

+	return es2::FrontFace(mode);

+}

+

+GL_APICALL void GL_APIENTRY glGenBuffers(GLsizei n, GLuint* buffers)

+{

+	return es2::GenBuffers(n, buffers);

+}

+

+GL_APICALL void GL_APIENTRY glGenerateMipmap(GLenum target)

+{

+	return es2::GenerateMipmap(target);

+}

+

+GL_APICALL void GL_APIENTRY glGenFencesNV(GLsizei n, GLuint* fences)

+{

+	return es2::GenFencesNV(n, fences);

+}

+

+GL_APICALL void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers)

+{

+	return es2::GenFramebuffers(n, framebuffers);

+}

+

+GL_APICALL void GL_APIENTRY glGenQueriesEXT(GLsizei n, GLuint* ids)

+{

+	return es2::GenQueriesEXT(n, ids);

+}

+

+GL_APICALL void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)

+{

+	return es2::GenRenderbuffers(n, renderbuffers);

+}

+

+GL_APICALL void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures)

+{

+	return es2::GenTextures(n, textures);

+}

+

+GL_APICALL void GL_APIENTRY glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)

+{

+	return es2::GetActiveAttrib(program, index, bufsize, length, size, type, name);

+}

+

+GL_APICALL void GL_APIENTRY glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)

+{

+	return es2::GetActiveUniform(program, index, bufsize, length, size, type, name);

+}

+

+GL_APICALL void GL_APIENTRY glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)

+{

+	return es2::GetAttachedShaders(program, maxcount, count, shaders);

+}

+

+GL_APICALL int GL_APIENTRY glGetAttribLocation(GLuint program, const GLchar* name)

+{

+	return es2::GetAttribLocation(program, name);

+}

+

+GL_APICALL void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean* params)

+{

+	return es2::GetBooleanv(pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)

+{

+	return es2::GetBufferParameteriv(target, pname, params);

+}

+

+GL_APICALL GLenum GL_APIENTRY glGetError(void)

+{

+	return es2::GetError();

+}

+

+GL_APICALL void GL_APIENTRY glGetFenceivNV(GLuint fence, GLenum pname, GLint *params)

+{

+	return es2::GetFenceivNV(fence, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat* params)

+{

+	return es2::GetFloatv(pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)

+{

+	return es2::GetFramebufferAttachmentParameteriv(target, attachment, pname, params);

+}

+

+GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT(void)

+{

+	return es2::GetGraphicsResetStatusEXT();

+}

+

+GL_APICALL void GL_APIENTRY glGetIntegerv(GLenum pname, GLint* params)

+{

+	return es2::GetIntegerv(pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint* params)

+{

+	return es2::GetProgramiv(program, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog)

+{

+	return es2::GetProgramInfoLog(program, bufsize, length, infolog);

+}

+

+GL_APICALL void GL_APIENTRY glGetQueryivEXT(GLenum target, GLenum pname, GLint *params)

+{

+	return es2::GetQueryivEXT(target, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *params)

+{

+	return es2::GetQueryObjectuivEXT(name, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)

+{

+	return es2::GetRenderbufferParameteriv(target, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params)

+{

+	return es2::GetShaderiv(shader, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog)

+{

+	return es2::GetShaderInfoLog(shader, bufsize, length, infolog);

+}

+

+GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)

+{

+	return es2::GetShaderPrecisionFormat(shadertype, precisiontype, range, precision);

+}

+

+GL_APICALL void GL_APIENTRY glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source)

+{

+	return es2::GetShaderSource(shader, bufsize, length, source);

+}

+

+GL_APICALL const GLubyte* GL_APIENTRY glGetString(GLenum name)

+{

+	return es2::GetString(name);

+}

+

+GL_APICALL void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)

+{

+	return es2::GetTexParameterfv(target, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)

+{

+	return es2::GetTexParameteriv(target, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, GLfloat* params)

+{

+	return es2::GetnUniformfvEXT(program, location, bufSize, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetUniformfv(GLuint program, GLint location, GLfloat* params)

+{

+	return es2::GetUniformfv(program, location, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint* params)

+{

+	return es2::GetnUniformivEXT(program, location, bufSize, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetUniformiv(GLuint program, GLint location, GLint* params)

+{

+	return es2::GetUniformiv(program, location, params);

+}

+

+GL_APICALL int GL_APIENTRY glGetUniformLocation(GLuint program, const GLchar* name)

+{

+	return es2::GetUniformLocation(program, name);

+}

+

+GL_APICALL void GL_APIENTRY glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)

+{

+	return es2::GetVertexAttribfv(index, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)

+{

+	return es2::GetVertexAttribiv(index, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer)

+{

+	return es2::GetVertexAttribPointerv(index, pname, pointer);

+}

+

+GL_APICALL void GL_APIENTRY glHint(GLenum target, GLenum mode)

+{

+	return es2::Hint(target, mode);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsBuffer(GLuint buffer)

+{

+	return es2::IsBuffer(buffer);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsEnabled(GLenum cap)

+{

+	return es2::IsEnabled(cap);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsFenceNV(GLuint fence)

+{

+	return es2::IsFenceNV(fence);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer)

+{

+	return es2::IsFramebuffer(framebuffer);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsProgram(GLuint program)

+{

+	return es2::IsProgram(program);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT(GLuint name)

+{

+	return es2::IsQueryEXT(name);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer)

+{

+	return es2::IsRenderbuffer(renderbuffer);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsShader(GLuint shader)

+{

+	return es2::IsShader(shader);

+}

+

+GL_APICALL GLboolean GL_APIENTRY glIsTexture(GLuint texture)

+{

+	return es2::IsTexture(texture);

+}

+

+GL_APICALL void GL_APIENTRY glLineWidth(GLfloat width)

+{

+	return es2::LineWidth(width);

+}

+

+GL_APICALL void GL_APIENTRY glLinkProgram(GLuint program)

+{

+	return es2::LinkProgram(program);

+}

+

+GL_APICALL void GL_APIENTRY glPixelStorei(GLenum pname, GLint param)

+{

+	return es2::PixelStorei(pname, param);

+}

+

+GL_APICALL void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units)

+{

+	return es2::PolygonOffset(factor, units);

+}

+

+GL_APICALL void GL_APIENTRY glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height,

+                                             GLenum format, GLenum type, GLsizei bufSize, GLvoid *data)

+{

+	return es2::ReadnPixelsEXT(x, y, width, height, format, type, bufSize, data);

+}

+

+GL_APICALL void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)

+{

+	return es2::ReadPixels(x, y, width, height, format, type, pixels);

+}

+

+GL_APICALL void GL_APIENTRY glReleaseShaderCompiler(void)

+{

+	return es2::ReleaseShaderCompiler();

+}

+

+GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)

+{

+	return es2::RenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);

+}

+

+GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)

+{

+	return es2::RenderbufferStorage(target, internalformat, width, height);

+}

+

+GL_APICALL void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert)

+{

+	return es2::SampleCoverage(value, invert);

+}

+

+GL_APICALL void GL_APIENTRY glSetFenceNV(GLuint fence, GLenum condition)

+{

+	return es2::SetFenceNV(fence, condition);

+}

+

+GL_APICALL void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height)

+{

+	return es2::Scissor(x, y, width, height);

+}

+

+GL_APICALL void GL_APIENTRY glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length)

+{

+	return es2::ShaderBinary(n, shaders, binaryformat, binary, length);

+}

+

+GL_APICALL void GL_APIENTRY glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length)

+{

+	return es2::ShaderSource(shader, count, string, length);

+}

+

+GL_APICALL void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, GLuint mask)

+{

+	return es2::StencilFunc(func, ref, mask);

+}

+

+GL_APICALL void GL_APIENTRY glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)

+{

+	return es2::StencilFuncSeparate(face, func, ref, mask);

+}

+

+GL_APICALL void GL_APIENTRY glStencilMask(GLuint mask)

+{

+	return es2::StencilMask(mask);

+}

+

+GL_APICALL void GL_APIENTRY glStencilMaskSeparate(GLenum face, GLuint mask)

+{

+	return es2::StencilMaskSeparate(face, mask);

+}

+

+GL_APICALL void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)

+{

+	return es2::StencilOp(fail, zfail, zpass);

+}

+

+GL_APICALL void GL_APIENTRY glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)

+{

+	return es2::StencilOpSeparate(face, fail, zfail, zpass);

+}

+

+GLboolean GL_APIENTRY glTestFenceNV(GLuint fence)

+{

+	return es2::TestFenceNV(fence);

+}

+

+GL_APICALL void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,

+                                         GLint border, GLenum format, GLenum type, const GLvoid* pixels)

+{

+	return es2::TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);

+}

+

+GL_APICALL void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param)

+{

+	return es2::TexParameterf(target, pname, param);

+}

+

+GL_APICALL void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)

+{

+	return es2::TexParameterfv(target, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param)

+{

+	return es2::TexParameteri(target, pname, param);

+}

+

+GL_APICALL void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname, const GLint* params)

+{

+	return es2::TexParameteriv(target, pname, params);

+}

+

+GL_APICALL void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,

+                                            GLenum format, GLenum type, const GLvoid* pixels)

+{

+	return es2::TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);

+}

+

+GL_APICALL void GL_APIENTRY glUniform1f(GLint location, GLfloat x)

+{

+	return es2::Uniform1f(location, x);

+}

+

+GL_APICALL void GL_APIENTRY glUniform1fv(GLint location, GLsizei count, const GLfloat* v)

+{

+	return es2::Uniform1fv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform1i(GLint location, GLint x)

+{

+	return es2::Uniform1i(location, x);

+}

+

+GL_APICALL void GL_APIENTRY glUniform1iv(GLint location, GLsizei count, const GLint* v)

+{

+	return es2::Uniform1iv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform2f(GLint location, GLfloat x, GLfloat y)

+{

+	return es2::Uniform2f(location, x, y);

+}

+

+GL_APICALL void GL_APIENTRY glUniform2fv(GLint location, GLsizei count, const GLfloat* v)

+{

+	return es2::Uniform2fv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform2i(GLint location, GLint x, GLint y)

+{

+	return es2::Uniform2i(location, x, y);

+}

+

+GL_APICALL void GL_APIENTRY glUniform2iv(GLint location, GLsizei count, const GLint* v)

+{

+	return es2::Uniform2iv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)

+{

+	return es2::Uniform3f(location, x, y, z);

+}

+

+GL_APICALL void GL_APIENTRY glUniform3fv(GLint location, GLsizei count, const GLfloat* v)

+{

+	return es2::Uniform3fv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform3i(GLint location, GLint x, GLint y, GLint z)

+{

+	return es2::Uniform3i(location, x, y, z);

+}

+

+GL_APICALL void GL_APIENTRY glUniform3iv(GLint location, GLsizei count, const GLint* v)

+{

+	return es2::Uniform3iv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)

+{

+	return es2::Uniform4f(location, x, y, z, w);

+}

+

+GL_APICALL void GL_APIENTRY glUniform4fv(GLint location, GLsizei count, const GLfloat* v)

+{

+	return es2::Uniform4fv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)

+{

+	return es2::Uniform4i(location, x, y, z, w);

+}

+

+GL_APICALL void GL_APIENTRY glUniform4iv(GLint location, GLsizei count, const GLint* v)

+{

+	return es2::Uniform4iv(location, count, v);

+}

+

+GL_APICALL void GL_APIENTRY glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

+{

+	return es2::UniformMatrix2fv(location, count, transpose, value);

+}

+

+GL_APICALL void GL_APIENTRY glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

+{

+	return es2::UniformMatrix3fv(location, count, transpose, value);

+}

+

+GL_APICALL void GL_APIENTRY glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)

+{

+	return es2::UniformMatrix4fv(location, count, transpose, value);

+}

+

+GL_APICALL void GL_APIENTRY glUseProgram(GLuint program)

+{

+	return es2::UseProgram(program);

+}

+

+GL_APICALL void GL_APIENTRY glValidateProgram(GLuint program)

+{

+	return es2::ValidateProgram(program);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib1f(GLuint index, GLfloat x)

+{

+	return es2::VertexAttrib1f(index, x);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib1fv(GLuint index, const GLfloat* values)

+{

+	return es2::VertexAttrib1fv(index, values);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)

+{

+	return es2::VertexAttrib2f(index, x, y);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib2fv(GLuint index, const GLfloat* values)

+{

+	return es2::VertexAttrib2fv(index, values);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)

+{

+	return es2::VertexAttrib3f(index, x, y, z);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib3fv(GLuint index, const GLfloat* values)

+{

+	return es2::VertexAttrib3fv(index, values);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)

+{

+	return es2::VertexAttrib4f(index, x, y, z, w);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttrib4fv(GLuint index, const GLfloat* values)

+{

+	return es2::VertexAttrib4fv(index, values);

+}

+

+GL_APICALL void GL_APIENTRY glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr)

+{

+	return es2::VertexAttribPointer(index, size, type, normalized, stride, ptr);

+}

+

+GL_APICALL void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height)

+{

+	return es2::Viewport(x, y, width, height);

+}

+

+GL_APICALL void GL_APIENTRY glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)

+{

+	return es2::BlitFramebufferNV(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);

+}

+

+GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,

+                                                   GLbitfield mask, GLenum filter)

+{

+	return es2::BlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);

+}

+

+GL_APICALL void GL_APIENTRY glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth,

+                                            GLint border, GLenum format, GLenum type, const GLvoid* pixels)

+{

+	return es2::TexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);

+}

+

+GL_APICALL void GL_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)

+{

+	return es2::TexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);

+}

+

+GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)

+{

+	return es2::CopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);

+}

+

+GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)

+{

+	return es2::CompressedTexImage3DOES(target, level,internalformat, width, height, depth, border, imageSize, data);

+}

+

+GL_APICALL void GL_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)

+{

+	return es2::CompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);

+}

+

+GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)

+{

+	return es2::FramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);

+}

+

+GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)

+{

+	return es2::EGLImageTargetTexture2DOES(target, image);

+}

+

+GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)

+{

+	return es2::EGLImageTargetRenderbufferStorageOES(target, image);

+}

+

+void GL_APIENTRY Register(const char *licenseKey)

+{

+	RegisterLicenseKey(licenseKey);

+}

+}

+

 egl::Context *es2CreateContext(const egl::Config *config, const egl::Context *shareContext, int clientVersion);

 extern "C" __eglMustCastToProperFunctionPointerType es2GetProcAddress(const char *procname);

 egl::Image *createBackBuffer(int width, int height, const egl::Config *config);

@@ -158,6 +1247,184 @@
 

 LibGLESv2exports::LibGLESv2exports()

 {

+	this->glActiveTexture = es2::ActiveTexture;

+	this->glAttachShader = es2::AttachShader;

+	this->glBeginQueryEXT = es2::BeginQueryEXT;

+	this->glBindAttribLocation = es2::BindAttribLocation;

+	this->glBindBuffer = es2::BindBuffer;

+	this->glBindFramebuffer = es2::BindFramebuffer;

+	this->glBindRenderbuffer = es2::BindRenderbuffer;

+	this->glBindTexture = es2::BindTexture;

+	this->glBlendColor = es2::BlendColor;

+	this->glBlendEquation = es2::BlendEquation;

+	this->glBlendEquationSeparate = es2::BlendEquationSeparate;

+	this->glBlendFunc = es2::BlendFunc;

+	this->glBlendFuncSeparate = es2::BlendFuncSeparate;

+	this->glBufferData = es2::BufferData;

+	this->glBufferSubData = es2::BufferSubData;

+	this->glCheckFramebufferStatus = es2::CheckFramebufferStatus;

+	this->glClear = es2::Clear;

+	this->glClearColor = es2::ClearColor;

+	this->glClearDepthf = es2::ClearDepthf;

+	this->glClearStencil = es2::ClearStencil;

+	this->glColorMask = es2::ColorMask;

+	this->glCompileShader = es2::CompileShader;

+	this->glCompressedTexImage2D = es2::CompressedTexImage2D;

+	this->glCompressedTexSubImage2D = es2::CompressedTexSubImage2D;

+	this->glCopyTexImage2D = es2::CopyTexImage2D;

+	this->glCopyTexSubImage2D = es2::CopyTexSubImage2D;

+	this->glCreateProgram = es2::CreateProgram;

+	this->glCreateShader = es2::CreateShader;

+	this->glCullFace = es2::CullFace;

+	this->glDeleteBuffers = es2::DeleteBuffers;

+	this->glDeleteFencesNV = es2::DeleteFencesNV;

+	this->glDeleteFramebuffers = es2::DeleteFramebuffers;

+	this->glDeleteProgram = es2::DeleteProgram;

+	this->glDeleteQueriesEXT = es2::DeleteQueriesEXT;

+	this->glDeleteRenderbuffers = es2::DeleteRenderbuffers;

+	this->glDeleteShader = es2::DeleteShader;

+	this->glDeleteTextures = es2::DeleteTextures;

+	this->glDepthFunc = es2::DepthFunc;

+	this->glDepthMask = es2::DepthMask;

+	this->glDepthRangef = es2::DepthRangef;

+	this->glDetachShader = es2::DetachShader;

+	this->glDisable = es2::Disable;

+	this->glDisableVertexAttribArray = es2::DisableVertexAttribArray;

+	this->glDrawArrays = es2::DrawArrays;

+	this->glDrawElements = es2::DrawElements;

+	this->glDrawArraysInstancedEXT = es2::DrawArraysInstancedEXT;

+	this->glDrawElementsInstancedEXT = es2::DrawElementsInstancedEXT;

+	this->glVertexAttribDivisorEXT = es2::VertexAttribDivisorEXT;

+	this->glDrawArraysInstancedANGLE = es2::DrawArraysInstancedANGLE;

+	this->glDrawElementsInstancedANGLE = es2::DrawElementsInstancedANGLE;

+	this->glVertexAttribDivisorANGLE = es2::VertexAttribDivisorANGLE;

+	this->glEnable = es2::Enable;

+	this->glEnableVertexAttribArray = es2::EnableVertexAttribArray;

+	this->glEndQueryEXT = es2::EndQueryEXT;

+	this->glFinishFenceNV = es2::FinishFenceNV;

+	this->glFinish = es2::Finish;

+	this->glFlush = es2::Flush;

+	this->glFramebufferRenderbuffer = es2::FramebufferRenderbuffer;

+	this->glFramebufferTexture2D = es2::FramebufferTexture2D;

+	this->glFrontFace = es2::FrontFace;

+	this->glGenBuffers = es2::GenBuffers;

+	this->glGenerateMipmap = es2::GenerateMipmap;

+	this->glGenFencesNV = es2::GenFencesNV;

+	this->glGenFramebuffers = es2::GenFramebuffers;

+	this->glGenQueriesEXT = es2::GenQueriesEXT;

+	this->glGenRenderbuffers = es2::GenRenderbuffers;

+	this->glGenTextures = es2::GenTextures;

+	this->glGetActiveAttrib = es2::GetActiveAttrib;

+	this->glGetActiveUniform = es2::GetActiveUniform;

+	this->glGetAttachedShaders = es2::GetAttachedShaders;

+	this->glGetAttribLocation = es2::GetAttribLocation;

+	this->glGetBooleanv = es2::GetBooleanv;

+	this->glGetBufferParameteriv = es2::GetBufferParameteriv;

+	this->glGetError = es2::GetError;

+	this->glGetFenceivNV = es2::GetFenceivNV;

+	this->glGetFloatv = es2::GetFloatv;

+	this->glGetFramebufferAttachmentParameteriv = es2::GetFramebufferAttachmentParameteriv;

+	this->glGetGraphicsResetStatusEXT = es2::GetGraphicsResetStatusEXT;

+	this->glGetIntegerv = es2::GetIntegerv;

+	this->glGetProgramiv = es2::GetProgramiv;

+	this->glGetProgramInfoLog = es2::GetProgramInfoLog;

+	this->glGetQueryivEXT = es2::GetQueryivEXT;

+	this->glGetQueryObjectuivEXT = es2::GetQueryObjectuivEXT;

+	this->glGetRenderbufferParameteriv = es2::GetRenderbufferParameteriv;

+	this->glGetShaderiv = es2::GetShaderiv;

+	this->glGetShaderInfoLog = es2::GetShaderInfoLog;

+	this->glGetShaderPrecisionFormat = es2::GetShaderPrecisionFormat;

+	this->glGetShaderSource = es2::GetShaderSource;

+	this->glGetString = es2::GetString;

+	this->glGetTexParameterfv = es2::GetTexParameterfv;

+	this->glGetTexParameteriv = es2::GetTexParameteriv;

+	this->glGetnUniformfvEXT = es2::GetnUniformfvEXT;

+	this->glGetUniformfv = es2::GetUniformfv;

+	this->glGetnUniformivEXT = es2::GetnUniformivEXT;

+	this->glGetUniformiv = es2::GetUniformiv;

+	this->glGetUniformLocation = es2::GetUniformLocation;

+	this->glGetVertexAttribfv = es2::GetVertexAttribfv;

+	this->glGetVertexAttribiv = es2::GetVertexAttribiv;

+	this->glGetVertexAttribPointerv = es2::GetVertexAttribPointerv;

+	this->glHint = es2::Hint;

+	this->glIsBuffer = es2::IsBuffer;

+	this->glIsEnabled = es2::IsEnabled;

+	this->glIsFenceNV = es2::IsFenceNV;

+	this->glIsFramebuffer = es2::IsFramebuffer;

+	this->glIsProgram = es2::IsProgram;

+	this->glIsQueryEXT = es2::IsQueryEXT;

+	this->glIsRenderbuffer = es2::IsRenderbuffer;

+	this->glIsShader = es2::IsShader;

+	this->glIsTexture = es2::IsTexture;

+	this->glLineWidth = es2::LineWidth;

+	this->glLinkProgram = es2::LinkProgram;

+	this->glPixelStorei = es2::PixelStorei;

+	this->glPolygonOffset = es2::PolygonOffset;

+	this->glReadnPixelsEXT = es2::ReadnPixelsEXT;

+	this->glReadPixels = es2::ReadPixels;

+	this->glReleaseShaderCompiler = es2::ReleaseShaderCompiler;

+	this->glRenderbufferStorageMultisampleANGLE = es2::RenderbufferStorageMultisampleANGLE;

+	this->glRenderbufferStorage = es2::RenderbufferStorage;

+	this->glSampleCoverage = es2::SampleCoverage;

+	this->glSetFenceNV = es2::SetFenceNV;

+	this->glScissor = es2::Scissor;

+	this->glShaderBinary = es2::ShaderBinary;

+	this->glShaderSource = es2::ShaderSource;

+	this->glStencilFunc = es2::StencilFunc;

+	this->glStencilFuncSeparate = es2::StencilFuncSeparate;

+	this->glStencilMask = es2::StencilMask;

+	this->glStencilMaskSeparate = es2::StencilMaskSeparate;

+	this->glStencilOp = es2::StencilOp;

+	this->glStencilOpSeparate = es2::StencilOpSeparate;

+	this->glTestFenceNV = es2::TestFenceNV;

+	this->glTexImage2D = es2::TexImage2D;

+	this->glTexParameterf = es2::TexParameterf;

+	this->glTexParameterfv = es2::TexParameterfv;

+	this->glTexParameteri = es2::TexParameteri;

+	this->glTexParameteriv = es2::TexParameteriv;

+	this->glTexSubImage2D = es2::TexSubImage2D;

+	this->glUniform1f = es2::Uniform1f;

+	this->glUniform1fv = es2::Uniform1fv;

+	this->glUniform1i = es2::Uniform1i;

+	this->glUniform1iv = es2::Uniform1iv;

+	this->glUniform2f = es2::Uniform2f;

+	this->glUniform2fv = es2::Uniform2fv;

+	this->glUniform2i = es2::Uniform2i;

+	this->glUniform2iv = es2::Uniform2iv;

+	this->glUniform3f = es2::Uniform3f;

+	this->glUniform3fv = es2::Uniform3fv;

+	this->glUniform3i = es2::Uniform3i;

+	this->glUniform3iv = es2::Uniform3iv;

+	this->glUniform4f = es2::Uniform4f;

+	this->glUniform4fv = es2::Uniform4fv;

+	this->glUniform4i = es2::Uniform4i;

+	this->glUniform4iv = es2::Uniform4iv;

+	this->glUniformMatrix2fv = es2::UniformMatrix2fv;

+	this->glUniformMatrix3fv = es2::UniformMatrix3fv;

+	this->glUniformMatrix4fv = es2::UniformMatrix4fv;

+	this->glUseProgram = es2::UseProgram;

+	this->glValidateProgram = es2::ValidateProgram;

+	this->glVertexAttrib1f = es2::VertexAttrib1f;

+	this->glVertexAttrib1fv = es2::VertexAttrib1fv;

+	this->glVertexAttrib2f = es2::VertexAttrib2f;

+	this->glVertexAttrib2fv = es2::VertexAttrib2fv;

+	this->glVertexAttrib3f = es2::VertexAttrib3f;

+	this->glVertexAttrib3fv = es2::VertexAttrib3fv;

+	this->glVertexAttrib4f = es2::VertexAttrib4f;

+	this->glVertexAttrib4fv = es2::VertexAttrib4fv;

+	this->glVertexAttribPointer = es2::VertexAttribPointer;

+	this->glViewport = es2::Viewport;

+	this->glBlitFramebufferNV = es2::BlitFramebufferNV;

+	this->glBlitFramebufferANGLE = es2::BlitFramebufferANGLE;

+	this->glTexImage3DOES = es2::TexImage3DOES;

+	this->glTexSubImage3DOES = es2::TexSubImage3DOES;

+	this->glCopyTexSubImage3DOES = es2::CopyTexSubImage3DOES;

+	this->glCompressedTexImage3DOES = es2::CompressedTexImage3DOES;

+	this->glCompressedTexSubImage3DOES = es2::CompressedTexSubImage3DOES;

+	this->glFramebufferTexture3DOES = es2::FramebufferTexture3DOES;

+	this->glEGLImageTargetTexture2DOES = es2::EGLImageTargetTexture2DOES;

+	this->glEGLImageTargetRenderbufferStorageOES = es2::EGLImageTargetRenderbufferStorageOES;

+

 	this->es2CreateContext = ::es2CreateContext;

 	this->es2GetProcAddress = ::es2GetProcAddress;

 	this->createBackBuffer = ::createBackBuffer;

diff --git a/src/Radiance/libRAD/Display.cpp b/src/Radiance/libRAD/Display.cpp
index 9bc0b93..9bb263d 100644
--- a/src/Radiance/libRAD/Display.cpp
+++ b/src/Radiance/libRAD/Display.cpp
@@ -404,7 +404,7 @@
 

 	mContextSet.insert(context);

 

-    return success(context);;

+    return success(context);

 }

 

 void Display::destroySurface(egl::Surface *surface)

diff --git a/src/Renderer/Renderer.cpp b/src/Renderer/Renderer.cpp
index 732c959..f5620a8 100644
--- a/src/Renderer/Renderer.cpp
+++ b/src/Renderer/Renderer.cpp
@@ -314,7 +314,7 @@
 			draw->vertexRoutine = vertexRoutine;
 			draw->setupRoutine = setupRoutine;
 			draw->pixelRoutine = pixelRoutine;
-			draw->vertexPointer = (VertexProcessor::RoutinePointer)vertexRoutine->getEntry();;
+			draw->vertexPointer = (VertexProcessor::RoutinePointer)vertexRoutine->getEntry();
 			draw->setupPointer = (SetupProcessor::RoutinePointer)setupRoutine->getEntry();
 			draw->pixelPointer = (PixelProcessor::RoutinePointer)pixelRoutine->getEntry();
 			draw->setupPrimitives = setupPrimitives;