
// ** file automatically generated by glgen -- do not edit manually **

#include <QOpenGLContext>
#include <QtGui/qopenglfunctions.h>

#include "funcs.h"

void *gles2_funcs() {
	QOpenGLFunctions* funcs = QOpenGLContext::currentContext()->functions();
	if (!funcs) {
		return 0;
	}
	return funcs;
}


void gles2_glActiveTexture(void *_glfuncs, GLenum texture)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glActiveTexture(texture);
}

void gles2_glAttachShader(void *_glfuncs, GLuint program, GLuint shader)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glAttachShader(program, shader);
}

void gles2_glBindAttribLocation(void *_glfuncs, GLuint program, GLuint index, const GLchar* name)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBindAttribLocation(program, index, name);
}

void gles2_glBindBuffer(void *_glfuncs, GLenum target, GLuint buffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBindBuffer(target, buffer);
}

void gles2_glBindFramebuffer(void *_glfuncs, GLenum target, GLuint framebuffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBindFramebuffer(target, framebuffer);
}

void gles2_glBindRenderbuffer(void *_glfuncs, GLenum target, GLuint renderbuffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBindRenderbuffer(target, renderbuffer);
}

void gles2_glBlendColor(void *_glfuncs, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBlendColor(red, green, blue, alpha);
}

void gles2_glBlendEquation(void *_glfuncs, GLenum mode)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBlendEquation(mode);
}

void gles2_glBlendEquationSeparate(void *_glfuncs, GLenum modeRGB, GLenum modeAlpha)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBlendEquationSeparate(modeRGB, modeAlpha);
}

void gles2_glBlendFuncSeparate(void *_glfuncs, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
}

void gles2_glBufferData(void *_glfuncs, GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBufferData(target, size, data, usage);
}

void gles2_glBufferSubData(void *_glfuncs, GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glBufferSubData(target, offset, size, data);
}

GLenum gles2_glCheckFramebufferStatus(void *_glfuncs, GLenum target)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glCheckFramebufferStatus(target);
}

void gles2_glClearDepthf(void *_glfuncs, GLclampf depth)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glClearDepthf(depth);
}

void gles2_glCompileShader(void *_glfuncs, GLuint shader)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glCompileShader(shader);
}

void gles2_glCompressedTexImage2D(void *_glfuncs, GLenum target, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data);
}

void gles2_glCompressedTexSubImage2D(void *_glfuncs, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
}

GLuint gles2_glCreateProgram(void *_glfuncs)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glCreateProgram();
}

GLuint gles2_glCreateShader(void *_glfuncs, GLenum gltype)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glCreateShader(gltype);
}

void gles2_glDeleteBuffers(void *_glfuncs, GLsizei n, const GLuint* buffers)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDeleteBuffers(n, buffers);
}

void gles2_glDeleteFramebuffers(void *_glfuncs, GLsizei n, const GLuint* framebuffers)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDeleteFramebuffers(n, framebuffers);
}

void gles2_glDeleteProgram(void *_glfuncs, GLuint program)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDeleteProgram(program);
}

void gles2_glDeleteRenderbuffers(void *_glfuncs, GLsizei n, const GLuint* renderbuffers)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDeleteRenderbuffers(n, renderbuffers);
}

void gles2_glDeleteShader(void *_glfuncs, GLuint shader)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDeleteShader(shader);
}

void gles2_glDepthRangef(void *_glfuncs, GLclampf zNear, GLclampf zFar)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDepthRangef(zNear, zFar);
}

void gles2_glDetachShader(void *_glfuncs, GLuint program, GLuint shader)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDetachShader(program, shader);
}

void gles2_glDisableVertexAttribArray(void *_glfuncs, GLuint index)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glDisableVertexAttribArray(index);
}

void gles2_glEnableVertexAttribArray(void *_glfuncs, GLuint index)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glEnableVertexAttribArray(index);
}

void gles2_glFramebufferRenderbuffer(void *_glfuncs, GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
}

void gles2_glFramebufferTexture2D(void *_glfuncs, GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glFramebufferTexture2D(target, attachment, textarget, texture, level);
}

void gles2_glGenBuffers(void *_glfuncs, GLsizei n, GLuint* buffers)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGenBuffers(n, buffers);
}

void gles2_glGenerateMipmap(void *_glfuncs, GLenum target)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGenerateMipmap(target);
}

void gles2_glGenFramebuffers(void *_glfuncs, GLsizei n, GLuint* framebuffers)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGenFramebuffers(n, framebuffers);
}

void gles2_glGenRenderbuffers(void *_glfuncs, GLsizei n, GLuint* renderbuffers)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGenRenderbuffers(n, renderbuffers);
}

void gles2_glGetActiveAttrib(void *_glfuncs, GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* gltype, GLchar* name)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetActiveAttrib(program, index, bufSize, length, size, gltype, name);
}

void gles2_glGetActiveUniform(void *_glfuncs, GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* gltype, GLchar* name)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetActiveUniform(program, index, bufSize, length, size, gltype, name);
}

void gles2_glGetAttachedShaders(void *_glfuncs, GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetAttachedShaders(program, maxcount, count, shaders);
}

GLint gles2_glGetAttribLocation(void *_glfuncs, GLuint program, const GLchar* name)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glGetAttribLocation(program, name);
}

void gles2_glGetBufferParameteriv(void *_glfuncs, GLenum target, GLenum pname, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetBufferParameteriv(target, pname, params);
}

void gles2_glGetFramebufferAttachmentParameteriv(void *_glfuncs, GLenum target, GLenum attachment, GLenum pname, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
}

void gles2_glGetProgramiv(void *_glfuncs, GLuint program, GLenum pname, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetProgramiv(program, pname, params);
}

void gles2_glGetProgramInfoLog(void *_glfuncs, GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetProgramInfoLog(program, bufSize, length, infoLog);
}

void gles2_glGetRenderbufferParameteriv(void *_glfuncs, GLenum target, GLenum pname, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetRenderbufferParameteriv(target, pname, params);
}

void gles2_glGetShaderiv(void *_glfuncs, GLuint shader, GLenum pname, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetShaderiv(shader, pname, params);
}

void gles2_glGetShaderInfoLog(void *_glfuncs, GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetShaderInfoLog(shader, bufSize, length, infoLog);
}

void gles2_glGetShaderPrecisionFormat(void *_glfuncs, GLenum shadertype, GLenum precisionType, GLint* range_, GLint* precision)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetShaderPrecisionFormat(shadertype, precisionType, range_, precision);
}

void gles2_glGetShaderSource(void *_glfuncs, GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetShaderSource(shader, bufSize, length, source);
}

void gles2_glGetUniformfv(void *_glfuncs, GLuint program, GLint location, GLfloat* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetUniformfv(program, location, params);
}

void gles2_glGetUniformiv(void *_glfuncs, GLuint program, GLint location, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetUniformiv(program, location, params);
}

GLint gles2_glGetUniformLocation(void *_glfuncs, GLuint program, const GLchar* name)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glGetUniformLocation(program, name);
}

void gles2_glGetVertexAttribfv(void *_glfuncs, GLuint index, GLenum pname, GLfloat* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetVertexAttribfv(index, pname, params);
}

void gles2_glGetVertexAttribiv(void *_glfuncs, GLuint index, GLenum pname, GLint* params)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glGetVertexAttribiv(index, pname, params);
}

GLboolean gles2_glIsBuffer(void *_glfuncs, GLuint buffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glIsBuffer(buffer);
}

GLboolean gles2_glIsFramebuffer(void *_glfuncs, GLuint framebuffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glIsFramebuffer(framebuffer);
}

GLboolean gles2_glIsProgram(void *_glfuncs, GLuint program)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glIsProgram(program);
}

GLboolean gles2_glIsRenderbuffer(void *_glfuncs, GLuint renderbuffer)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glIsRenderbuffer(renderbuffer);
}

GLboolean gles2_glIsShader(void *_glfuncs, GLuint shader)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	return _qglfuncs->glIsShader(shader);
}

void gles2_glLinkProgram(void *_glfuncs, GLuint program)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glLinkProgram(program);
}

void gles2_glReleaseShaderCompiler(void *_glfuncs)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glReleaseShaderCompiler();
}

void gles2_glRenderbufferStorage(void *_glfuncs, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glRenderbufferStorage(target, internalFormat, width, height);
}

void gles2_glSampleCoverage(void *_glfuncs, GLclampf value, GLboolean invert)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glSampleCoverage(value, invert);
}

void gles2_glShaderBinary(void *_glfuncs, GLint n, const GLuint* shaders, GLenum binaryFormat, const GLvoid* binary, GLint length)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glShaderBinary(n, shaders, binaryFormat, binary, length);
}

void gles2_glShaderSource(void *_glfuncs, GLuint shader, GLsizei count, const GLchar** source, const GLint* length)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glShaderSource(shader, count, source, length);
}

void gles2_glStencilFuncSeparate(void *_glfuncs, GLenum face, GLenum glfunc, GLint ref, GLuint mask)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glStencilFuncSeparate(face, glfunc, ref, mask);
}

void gles2_glStencilMaskSeparate(void *_glfuncs, GLenum face, GLuint mask)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glStencilMaskSeparate(face, mask);
}

void gles2_glStencilOpSeparate(void *_glfuncs, GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glStencilOpSeparate(face, fail, zfail, zpass);
}

void gles2_glUniform1f(void *_glfuncs, GLint location, GLfloat v0)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform1f(location, v0);
}

void gles2_glUniform1fv(void *_glfuncs, GLint location, GLsizei count, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform1fv(location, count, value);
}

void gles2_glUniform1i(void *_glfuncs, GLint location, GLint v0)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform1i(location, v0);
}

void gles2_glUniform1iv(void *_glfuncs, GLint location, GLsizei count, const GLint* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform1iv(location, count, value);
}

void gles2_glUniform2f(void *_glfuncs, GLint location, GLfloat v0, GLfloat v1)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform2f(location, v0, v1);
}

void gles2_glUniform2fv(void *_glfuncs, GLint location, GLsizei count, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform2fv(location, count, value);
}

void gles2_glUniform2i(void *_glfuncs, GLint location, GLint v0, GLint v1)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform2i(location, v0, v1);
}

void gles2_glUniform2iv(void *_glfuncs, GLint location, GLsizei count, const GLint* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform2iv(location, count, value);
}

void gles2_glUniform3f(void *_glfuncs, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform3f(location, v0, v1, v2);
}

void gles2_glUniform3fv(void *_glfuncs, GLint location, GLsizei count, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform3fv(location, count, value);
}

void gles2_glUniform3i(void *_glfuncs, GLint location, GLint v0, GLint v1, GLint v2)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform3i(location, v0, v1, v2);
}

void gles2_glUniform3iv(void *_glfuncs, GLint location, GLsizei count, const GLint* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform3iv(location, count, value);
}

void gles2_glUniform4f(void *_glfuncs, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform4f(location, v0, v1, v2, v3);
}

void gles2_glUniform4fv(void *_glfuncs, GLint location, GLsizei count, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform4fv(location, count, value);
}

void gles2_glUniform4i(void *_glfuncs, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform4i(location, v0, v1, v2, v3);
}

void gles2_glUniform4iv(void *_glfuncs, GLint location, GLsizei count, const GLint* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniform4iv(location, count, value);
}

void gles2_glUniformMatrix2fv(void *_glfuncs, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniformMatrix2fv(location, count, transpose, value);
}

void gles2_glUniformMatrix3fv(void *_glfuncs, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniformMatrix3fv(location, count, transpose, value);
}

void gles2_glUniformMatrix4fv(void *_glfuncs, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUniformMatrix4fv(location, count, transpose, value);
}

void gles2_glUseProgram(void *_glfuncs, GLuint program)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glUseProgram(program);
}

void gles2_glValidateProgram(void *_glfuncs, GLuint program)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glValidateProgram(program);
}

void gles2_glVertexAttrib1f(void *_glfuncs, GLuint index, GLfloat x)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib1f(index, x);
}

void gles2_glVertexAttrib1fv(void *_glfuncs, GLuint index, const GLfloat* values)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib1fv(index, values);
}

void gles2_glVertexAttrib2f(void *_glfuncs, GLuint index, GLfloat x, GLfloat y)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib2f(index, x, y);
}

void gles2_glVertexAttrib2fv(void *_glfuncs, GLuint index, const GLfloat* values)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib2fv(index, values);
}

void gles2_glVertexAttrib3f(void *_glfuncs, GLuint index, GLfloat x, GLfloat y, GLfloat z)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib3f(index, x, y, z);
}

void gles2_glVertexAttrib3fv(void *_glfuncs, GLuint index, const GLfloat* values)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib3fv(index, values);
}

void gles2_glVertexAttrib4f(void *_glfuncs, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib4f(index, x, y, z, w);
}

void gles2_glVertexAttrib4fv(void *_glfuncs, GLuint index, const GLfloat* values)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttrib4fv(index, values);
}

void gles2_glVertexAttribPointer(void *_glfuncs, GLuint index, GLint size, GLenum gltype, GLboolean normalized, GLsizei stride, const GLvoid* offset)
{
	QOpenGLFunctions* _qglfuncs = reinterpret_cast<QOpenGLFunctions*>(_glfuncs);
	_qglfuncs->glVertexAttribPointer(index, size, gltype, normalized, stride, offset);
}

void gles2_glBindTexture(void *_glfuncs, GLenum target, GLuint texture)
{
	glBindTexture(target, texture);
}

void gles2_glBlendFunc(void *_glfuncs, GLenum sfactor, GLenum dfactor)
{
	glBlendFunc(sfactor, dfactor);
}

void gles2_glClear(void *_glfuncs, GLbitfield mask)
{
	glClear(mask);
}

void gles2_glClearColor(void *_glfuncs, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
{
	glClearColor(red, green, blue, alpha);
}

void gles2_glClearStencil(void *_glfuncs, GLint s)
{
	glClearStencil(s);
}

void gles2_glColorMask(void *_glfuncs, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
{
	glColorMask(red, green, blue, alpha);
}

void gles2_glCopyTexImage2D(void *_glfuncs, GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
{
	glCopyTexImage2D(target, level, internalFormat, x, y, width, height, border);
}

void gles2_glCopyTexSubImage2D(void *_glfuncs, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
	glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
}

void gles2_glCullFace(void *_glfuncs, GLenum mode)
{
	glCullFace(mode);
}

void gles2_glDeleteTextures(void *_glfuncs, GLsizei n, const GLuint* textures)
{
	glDeleteTextures(n, textures);
}

void gles2_glDepthFunc(void *_glfuncs, GLenum glfunc)
{
	glDepthFunc(glfunc);
}

void gles2_glDepthMask(void *_glfuncs, GLboolean flag)
{
	glDepthMask(flag);
}

void gles2_glDisable(void *_glfuncs, GLenum cap)
{
	glDisable(cap);
}

void gles2_glDrawArrays(void *_glfuncs, GLenum mode, GLint first, GLsizei count)
{
	glDrawArrays(mode, first, count);
}

void gles2_glDrawElements(void *_glfuncs, GLenum mode, GLsizei count, GLenum gltype, const GLvoid* indices)
{
	glDrawElements(mode, count, gltype, indices);
}

void gles2_glEnable(void *_glfuncs, GLenum cap)
{
	glEnable(cap);
}

void gles2_glFinish(void *_glfuncs)
{
	glFinish();
}

void gles2_glFlush(void *_glfuncs)
{
	glFlush();
}

void gles2_glFrontFace(void *_glfuncs, GLenum mode)
{
	glFrontFace(mode);
}

void gles2_glGenTextures(void *_glfuncs, GLsizei n, GLuint* textures)
{
	glGenTextures(n, textures);
}

void gles2_glGetBooleanv(void *_glfuncs, GLenum pname, GLboolean* params)
{
	glGetBooleanv(pname, params);
}

GLenum gles2_glGetError(void *_glfuncs)
{
	return glGetError();
}

void gles2_glGetFloatv(void *_glfuncs, GLenum pname, GLfloat* params)
{
	glGetFloatv(pname, params);
}

void gles2_glGetIntegerv(void *_glfuncs, GLenum pname, GLint* params)
{
	glGetIntegerv(pname, params);
}

void gles2_glGetTexParameterfv(void *_glfuncs, GLenum target, GLenum pname, GLfloat* params)
{
	glGetTexParameterfv(target, pname, params);
}

void gles2_glGetTexParameteriv(void *_glfuncs, GLenum target, GLenum pname, GLint* params)
{
	glGetTexParameteriv(target, pname, params);
}

void gles2_glHint(void *_glfuncs, GLenum target, GLenum mode)
{
	glHint(target, mode);
}

GLboolean gles2_glIsEnabled(void *_glfuncs, GLenum cap)
{
	return glIsEnabled(cap);
}

GLboolean gles2_glIsTexture(void *_glfuncs, GLuint texture)
{
	return glIsTexture(texture);
}

void gles2_glLineWidth(void *_glfuncs, GLfloat width)
{
	glLineWidth(width);
}

void gles2_glPixelStorei(void *_glfuncs, GLenum pname, GLint param)
{
	glPixelStorei(pname, param);
}

void gles2_glPolygonOffset(void *_glfuncs, GLfloat factor, GLfloat units)
{
	glPolygonOffset(factor, units);
}

void gles2_glReadPixels(void *_glfuncs, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum gltype, GLvoid* pixels)
{
	glReadPixels(x, y, width, height, format, gltype, pixels);
}

void gles2_glScissor(void *_glfuncs, GLint x, GLint y, GLsizei width, GLsizei height)
{
	glScissor(x, y, width, height);
}

void gles2_glStencilFunc(void *_glfuncs, GLenum glfunc, GLint ref, GLuint mask)
{
	glStencilFunc(glfunc, ref, mask);
}

void gles2_glStencilMask(void *_glfuncs, GLuint mask)
{
	glStencilMask(mask);
}

void gles2_glStencilOp(void *_glfuncs, GLenum fail, GLenum zfail, GLenum zpass)
{
	glStencilOp(fail, zfail, zpass);
}

void gles2_glTexImage2D(void *_glfuncs, GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum gltype, const GLvoid* pixels)
{
	glTexImage2D(target, level, internalFormat, width, height, border, format, gltype, pixels);
}

void gles2_glTexParameterf(void *_glfuncs, GLenum target, GLenum pname, GLfloat param)
{
	glTexParameterf(target, pname, param);
}

void gles2_glTexParameterfv(void *_glfuncs, GLenum target, GLenum pname, const GLfloat* params)
{
	glTexParameterfv(target, pname, params);
}

void gles2_glTexParameteri(void *_glfuncs, GLenum target, GLenum pname, GLint param)
{
	glTexParameteri(target, pname, param);
}

void gles2_glTexParameteriv(void *_glfuncs, GLenum target, GLenum pname, const GLint* params)
{
	glTexParameteriv(target, pname, params);
}

void gles2_glTexSubImage2D(void *_glfuncs, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum gltype, const GLvoid* pixels)
{
	glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, gltype, pixels);
}

void gles2_glViewport(void *_glfuncs, GLint x, GLint y, GLsizei width, GLsizei height)
{
	glViewport(x, y, width, height);
}

