_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glBindFramebuffer, (GLenum target, GLuint framebuffer), (target, framebuffer))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glClearDepthf, (GLclampf depth), (depth))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glDepthRangef, (GLclampf zNear, GLclampf zFar), (zNear, zFar))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetShaderPrecisionFormat, (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision), (shadertype, precisiontype, range, precision))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glShaderBinary, (GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length), (n, shaders, binaryformat, binary, length))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glReleaseShaderCompiler, (void), ())
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha), (red, green, blue, alpha))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glClear, (GLbitfield mask), (mask))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glEnable, (GLenum cap), (cap))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glDisable, (GLenum cap), (cap))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetIntegerv, (GLenum pname, GLint* params), (pname, params))
_EVASGL_FUNCTION_PRIVATE_BEGIN(const GLubyte *, glGetString, (GLenum name), (name))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels), (x, y, width, height, format, type, pixels))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glScissor, (GLint x, GLint y, GLsizei width, GLsizei height), (x, y, width, height))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glViewport, (GLint x, GLint y, GLsizei width, GLsizei height), (x, y, width, height))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glDeleteFramebuffers, (GLsizei n, const GLuint* framebuffers), (n, framebuffers))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glFramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), (target, attachment, renderbuffertarget, renderbuffer))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glFramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), (target, attachment, textarget, texture, level))
_EVASGL_FUNCTION_PRIVATE_BEGIN(GLenum, glGetError, (void), ())
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetFloatv, (GLenum pname, GLfloat* params), (pname, params))
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint* params), (target, attachment, pname, params))

_EVASGL_FUNCTION_BEGIN_VOID( glActiveTexture, (GLenum texture), (texture))
_EVASGL_FUNCTION_BEGIN_VOID( glAttachShader, (GLuint program, GLuint shader), (program, shader))
_EVASGL_FUNCTION_BEGIN_VOID( glBindAttribLocation, (GLuint program, GLuint index, const char* name), (program, index, name))
_EVASGL_FUNCTION_BEGIN_VOID( glBindBuffer, (GLenum target, GLuint buffer), (target, buffer))
_EVASGL_FUNCTION_BEGIN_VOID( glBindRenderbuffer, (GLenum target, GLuint renderbuffer), (target, renderbuffer))
_EVASGL_FUNCTION_BEGIN_VOID( glBindTexture, (GLenum target, GLuint texture), (target, texture))
_EVASGL_FUNCTION_BEGIN_VOID( glBlendColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha), (red, green, blue, alpha))
_EVASGL_FUNCTION_BEGIN_VOID( glBlendEquation, ( GLenum mode ), (mode))
_EVASGL_FUNCTION_BEGIN_VOID( glBlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha), (modeRGB, modeAlpha))
_EVASGL_FUNCTION_BEGIN_VOID( glBlendFunc, (GLenum sfactor, GLenum dfactor), (sfactor, dfactor))
_EVASGL_FUNCTION_BEGIN_VOID( glBlendFuncSeparate, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), (srcRGB, dstRGB, srcAlpha, dstAlpha))
_EVASGL_FUNCTION_BEGIN_VOID( glBufferData, (GLenum target, GLsizeiptr size, const void* data, GLenum usage), (target, size, data, usage))
_EVASGL_FUNCTION_BEGIN_VOID( glBufferSubData, (GLenum target, GLintptr offset, GLsizeiptr size, const void* data), (target, offset, size, data))
_EVASGL_FUNCTION_BEGIN(GLenum, glCheckFramebufferStatus, (GLenum target), (target))
_EVASGL_FUNCTION_BEGIN_VOID( glClearStencil, (GLint s), (s))
_EVASGL_FUNCTION_BEGIN_VOID( glColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha), (red, green, blue, alpha))
_EVASGL_FUNCTION_BEGIN_VOID( glCompileShader, (GLuint shader), (shader))
_EVASGL_FUNCTION_BEGIN_VOID( glCompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data), (target, level, internalformat, width, height, border, imageSize, data))
_EVASGL_FUNCTION_BEGIN_VOID( glCompressedTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data), (target, level, xoffset, yoffset, width, height, format, imageSize, data))
_EVASGL_FUNCTION_BEGIN_VOID( glCopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), (target, level, internalformat, x, y, width, height, border))
_EVASGL_FUNCTION_BEGIN_VOID( glCopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target, level, xoffset, yoffset, x, y, width, height))
_EVASGL_FUNCTION_BEGIN(GLuint, glCreateProgram, (void), ())
_EVASGL_FUNCTION_BEGIN(GLuint, glCreateShader, (GLenum type), (type))
_EVASGL_FUNCTION_BEGIN_VOID( glCullFace, (GLenum mode), (mode))
_EVASGL_FUNCTION_BEGIN_VOID( glDeleteBuffers, (GLsizei n, const GLuint* buffers), (n, buffers))
_EVASGL_FUNCTION_BEGIN_VOID( glDeleteProgram, (GLuint program), (program))
_EVASGL_FUNCTION_BEGIN_VOID( glDeleteRenderbuffers, (GLsizei n, const GLuint* renderbuffers), (n, renderbuffers))
_EVASGL_FUNCTION_BEGIN_VOID( glDeleteShader, (GLuint shader), (shader))
_EVASGL_FUNCTION_BEGIN_VOID( glDeleteTextures, (GLsizei n, const GLuint* textures), (n, textures))
_EVASGL_FUNCTION_BEGIN_VOID( glDepthFunc, (GLenum func), (func))
_EVASGL_FUNCTION_BEGIN_VOID( glDepthMask, (GLboolean flag), (flag))
_EVASGL_FUNCTION_BEGIN_VOID( glDetachShader, (GLuint program, GLuint shader), (program, shader))
_EVASGL_FUNCTION_BEGIN_VOID( glDisableVertexAttribArray, (GLuint index), (index))
_EVASGL_FUNCTION_BEGIN_VOID( glDrawArrays, (GLenum mode, GLint first, GLsizei count), (mode, first, count))
_EVASGL_FUNCTION_BEGIN_VOID( glDrawElements, (GLenum mode, GLsizei count, GLenum type, const void* indices), (mode, count, type, indices))
_EVASGL_FUNCTION_BEGIN_VOID( glEnableVertexAttribArray, (GLuint index), (index))
_EVASGL_FUNCTION_BEGIN_VOID( glFinish, (void), ())
_EVASGL_FUNCTION_BEGIN_VOID( glFlush, (void), ())
_EVASGL_FUNCTION_BEGIN_VOID( glFrontFace, (GLenum mode), (mode))
_EVASGL_FUNCTION_BEGIN_VOID( glGenBuffers, (GLsizei n, GLuint* buffers), (n, buffers))
_EVASGL_FUNCTION_BEGIN_VOID( glGenerateMipmap, (GLenum target), (target))
_EVASGL_FUNCTION_BEGIN_VOID( glGenFramebuffers, (GLsizei n, GLuint* framebuffers), (n, framebuffers))
_EVASGL_FUNCTION_BEGIN_VOID( glGenRenderbuffers, (GLsizei n, GLuint* renderbuffers), (n, renderbuffers))
_EVASGL_FUNCTION_BEGIN_VOID( glGenTextures, (GLsizei n, GLuint* textures), (n, textures))
_EVASGL_FUNCTION_BEGIN_VOID( glGetActiveAttrib, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name), (program, index, bufsize, length, size, type, name))
_EVASGL_FUNCTION_BEGIN_VOID( glGetActiveUniform, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name), (program, index, bufsize, length, size, type, name))
_EVASGL_FUNCTION_BEGIN_VOID( glGetAttachedShaders, (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders), (program, maxcount, count, shaders))
_EVASGL_FUNCTION_BEGIN(int, glGetAttribLocation, (GLuint program, const char* name), (program, name))
_EVASGL_FUNCTION_BEGIN_VOID( glGetBooleanv, (GLenum pname, GLboolean* params), (pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetBufferParameteriv, (GLenum target, GLenum pname, GLint* params), (target, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramiv, (GLuint program, GLenum pname, GLint* params), (program, pname,  params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramInfoLog, (GLuint program, GLsizei bufsize, GLsizei* length, char* infolog), (program, bufsize, length, infolog))
_EVASGL_FUNCTION_BEGIN_VOID( glGetRenderbufferParameteriv, (GLenum target, GLenum pname, GLint* params), (target, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetShaderiv, (GLuint shader, GLenum pname, GLint* params), (shader, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetShaderInfoLog, (GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog), (shader, bufsize, length, infolog))
_EVASGL_FUNCTION_BEGIN_VOID( glGetShaderSource, (GLuint shader, GLsizei bufsize, GLsizei* length, char* source), (shader, bufsize, length, source))
_EVASGL_FUNCTION_BEGIN_VOID( glGetTexParameterfv, (GLenum target, GLenum pname, GLfloat* params), (target, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetTexParameteriv, (GLenum target, GLenum pname, GLint* params), (target, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetUniformfv, (GLuint program, GLint location, GLfloat* params), (program, location, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetUniformiv, (GLuint program, GLint location, GLint* params), (program, location, params))
_EVASGL_FUNCTION_BEGIN(int, glGetUniformLocation, (GLuint program, const char* name), (program, name))
_EVASGL_FUNCTION_BEGIN_VOID( glGetVertexAttribfv, (GLuint index, GLenum pname, GLfloat* params), (index, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetVertexAttribiv, (GLuint index, GLenum pname, GLint* params), (index, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glGetVertexAttribPointerv, (GLuint index, GLenum pname, void** pointer), (index, pname, pointer))
_EVASGL_FUNCTION_BEGIN_VOID( glHint, (GLenum target, GLenum mode), (target, mode))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsBuffer, (GLuint buffer), (buffer))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsEnabled, (GLenum cap), (cap))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsFramebuffer, (GLuint framebuffer), (framebuffer))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsProgram, (GLuint program), (program))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsRenderbuffer, (GLuint renderbuffer), (renderbuffer))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsShader, (GLuint shader), (shader))
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsTexture, (GLuint texture), (texture))
_EVASGL_FUNCTION_BEGIN_VOID( glLineWidth, (GLfloat width), (width))
_EVASGL_FUNCTION_BEGIN_VOID( glLinkProgram, (GLuint program), (program))
_EVASGL_FUNCTION_BEGIN_VOID( glPixelStorei, (GLenum pname, GLint param), (pname, param))
_EVASGL_FUNCTION_BEGIN_VOID( glPolygonOffset, (GLfloat factor, GLfloat units), (factor, units))
_EVASGL_FUNCTION_BEGIN_VOID( glRenderbufferStorage, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height), (target, internalformat, width, height))
_EVASGL_FUNCTION_BEGIN_VOID( glSampleCoverage, (GLclampf value, GLboolean invert), (value, invert))
_EVASGL_FUNCTION_BEGIN_VOID( glShaderSource, (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length), (shader, count, string, length))
_EVASGL_FUNCTION_BEGIN_VOID( glStencilFunc, (GLenum func, GLint ref, GLuint mask), (func, ref, mask))
_EVASGL_FUNCTION_BEGIN_VOID( glStencilFuncSeparate, (GLenum face, GLenum func, GLint ref, GLuint mask), (face, func, ref, mask))
_EVASGL_FUNCTION_BEGIN_VOID( glStencilMask, (GLuint mask), (mask))
_EVASGL_FUNCTION_BEGIN_VOID( glStencilMaskSeparate, (GLenum face, GLuint mask), (face, mask))
_EVASGL_FUNCTION_BEGIN_VOID( glStencilOp, (GLenum fail, GLenum zfail, GLenum zpass), (fail, zfail, zpass))
_EVASGL_FUNCTION_BEGIN_VOID( glStencilOpSeparate, (GLenum face, GLenum fail, GLenum zfail, GLenum zpass), (face, fail, zfail, zpass))
_EVASGL_FUNCTION_BEGIN_VOID( glTexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels), (target, level, internalformat, width, height, border, format, type, pixels))
_EVASGL_FUNCTION_BEGIN_VOID( glTexParameterf, (GLenum target, GLenum pname, GLfloat param), (target, pname, param))
_EVASGL_FUNCTION_BEGIN_VOID( glTexParameterfv, (GLenum target, GLenum pname, const GLfloat* params), (target, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glTexParameteri, (GLenum target, GLenum pname, GLint param), (target, pname, param))
_EVASGL_FUNCTION_BEGIN_VOID( glTexParameteriv, (GLenum target, GLenum pname, const GLint* params), (target, pname, params))
_EVASGL_FUNCTION_BEGIN_VOID( glTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels), (target, level, xoffset, yoffset, width, height, format, type, pixels))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform1f, (GLint location, GLfloat x), (location, x))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform1fv, (GLint location, GLsizei count, const GLfloat* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform1i, (GLint location, GLint x), (location, x))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform1iv, (GLint location, GLsizei count, const GLint* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform2f, (GLint location, GLfloat x, GLfloat y), (location, x, y))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform2fv, (GLint location, GLsizei count, const GLfloat* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform2i, (GLint location, GLint x, GLint y), (location, x, y))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform2iv, (GLint location, GLsizei count, const GLint* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform3f, (GLint location, GLfloat x, GLfloat y, GLfloat z), (location, x, y, z))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform3fv, (GLint location, GLsizei count, const GLfloat* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform3i, (GLint location, GLint x, GLint y, GLint z), (location, x, y, z))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform3iv, (GLint location, GLsizei count, const GLint* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform4f, (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w), (location, x, y, z, w))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform4fv, (GLint location, GLsizei count, const GLfloat* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform4i, (GLint location, GLint x, GLint y, GLint z, GLint w), (location, x, y, z, w))
_EVASGL_FUNCTION_BEGIN_VOID( glUniform4iv, (GLint location, GLsizei count, const GLint* v), (location, count, v))
_EVASGL_FUNCTION_BEGIN_VOID( glUniformMatrix2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value), (location, count, transpose, value))
_EVASGL_FUNCTION_BEGIN_VOID( glUniformMatrix3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value), (location, count, transpose, value))
_EVASGL_FUNCTION_BEGIN_VOID( glUniformMatrix4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value), (location, count, transpose, value))
_EVASGL_FUNCTION_BEGIN_VOID( glUseProgram, (GLuint program), (program))
_EVASGL_FUNCTION_BEGIN_VOID( glValidateProgram, (GLuint program), (program))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib1f, (GLuint indx, GLfloat x), (indx, x))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib1fv, (GLuint indx, const GLfloat* values), (indx, values))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib2f, (GLuint indx, GLfloat x, GLfloat y), (indx, x, y))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib2fv, (GLuint indx, const GLfloat* values), (indx, values))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib3f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z), (indx, x, y, z))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib3fv, (GLuint indx, const GLfloat* values), (indx, values))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib4f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w), (indx, x, y, z, w))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttrib4fv, (GLuint indx, const GLfloat* values), (indx, values))
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribPointer, (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr), (indx, size, type, normalized, stride, ptr))
