// Generated Code - DO NOT EDIT !!
// generated by 'emugen'
#include <stdio.h>
#include <stdlib.h>
#include "gl_client_context.h"

extern "C" {
	void glAlphaFunc(GLenum func, GLclampf ref);
	void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
	void glClearDepthf(GLclampf depth);
	void glClipPlanef(GLenum plane, const GLfloat* equation);
	void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
	void glDepthRangef(GLclampf zNear, GLclampf zFar);
	void glFogf(GLenum pname, GLfloat param);
	void glFogfv(GLenum pname, const GLfloat* params);
	void glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
	void glGetClipPlanef(GLenum pname, GLfloat* eqn);
	void glGetFloatv(GLenum pname, GLfloat* params);
	void glGetLightfv(GLenum light, GLenum pname, GLfloat* params);
	void glGetMaterialfv(GLenum face, GLenum pname, GLfloat* params);
	void glGetTexEnvfv(GLenum env, GLenum pname, GLfloat* params);
	void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);
	void glLightModelf(GLenum pname, GLfloat param);
	void glLightModelfv(GLenum pname, const GLfloat* params);
	void glLightf(GLenum light, GLenum pname, GLfloat param);
	void glLightfv(GLenum light, GLenum pname, const GLfloat* params);
	void glLineWidth(GLfloat width);
	void glLoadMatrixf(const GLfloat* m);
	void glMaterialf(GLenum face, GLenum pname, GLfloat param);
	void glMaterialfv(GLenum face, GLenum pname, const GLfloat* params);
	void glMultMatrixf(const GLfloat* m);
	void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
	void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
	void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
	void glPointParameterf(GLenum pname, GLfloat param);
	void glPointParameterfv(GLenum pname, const GLfloat* params);
	void glPointSize(GLfloat size);
	void glPolygonOffset(GLfloat factor, GLfloat units);
	void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
	void glScalef(GLfloat x, GLfloat y, GLfloat z);
	void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
	void glTexEnvfv(GLenum target, GLenum pname, const GLfloat* params);
	void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
	void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params);
	void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
	void glActiveTexture(GLenum texture);
	void glAlphaFuncx(GLenum func, GLclampx ref);
	void glBindBuffer(GLenum target, GLuint buffer);
	void glBindTexture(GLenum target, GLuint texture);
	void glBlendFunc(GLenum sfactor, GLenum dfactor);
	void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
	void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
	void glClear(GLbitfield mask);
	void glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
	void glClearDepthx(GLclampx depth);
	void glClearStencil(GLint s);
	void glClientActiveTexture(GLenum texture);
	void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
	void glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
	void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
	void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
	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);
	void glCullFace(GLenum mode);
	void glDeleteBuffers(GLsizei n, const GLuint* buffers);
	void glDeleteTextures(GLsizei n, const GLuint* textures);
	void glDepthFunc(GLenum func);
	void glDepthMask(GLboolean flag);
	void glDepthRangex(GLclampx zNear, GLclampx zFar);
	void glDisable(GLenum cap);
	void glDisableClientState(GLenum array);
	void glDrawArrays(GLenum mode, GLint first, GLsizei count);
	void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
	void glEnable(GLenum cap);
	void glEnableClientState(GLenum array);
	void glFinish();
	void glFlush();
	void glFogx(GLenum pname, GLfixed param);
	void glFogxv(GLenum pname, const GLfixed* params);
	void glFrontFace(GLenum mode);
	void glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
	void glGetBooleanv(GLenum pname, GLboolean* params);
	void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
	void glClipPlanex(GLenum pname, const GLfixed* eqn);
	void glGenBuffers(GLsizei n, GLuint* buffers);
	void glGenTextures(GLsizei n, GLuint* textures);
	GLenum glGetError();
	void glGetFixedv(GLenum pname, GLfixed* params);
	void glGetIntegerv(GLenum pname, GLint* params);
	void glGetLightxv(GLenum light, GLenum pname, GLfixed* params);
	void glGetMaterialxv(GLenum face, GLenum pname, GLfixed* params);
	void glGetPointerv(GLenum pname, GLvoid** params);
	const GLubyte* glGetString(GLenum name);
	void glGetTexEnviv(GLenum env, GLenum pname, GLint* params);
	void glGetTexEnvxv(GLenum env, GLenum pname, GLfixed* params);
	void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params);
	void glGetTexParameterxv(GLenum target, GLenum pname, GLfixed* params);
	void glHint(GLenum target, GLenum mode);
	GLboolean glIsBuffer(GLuint buffer);
	GLboolean glIsEnabled(GLenum cap);
	GLboolean glIsTexture(GLuint texture);
	void glLightModelx(GLenum pname, GLfixed param);
	void glLightModelxv(GLenum pname, const GLfixed* params);
	void glLightx(GLenum light, GLenum pname, GLfixed param);
	void glLightxv(GLenum light, GLenum pname, const GLfixed* params);
	void glLineWidthx(GLfixed width);
	void glLoadIdentity();
	void glLoadMatrixx(const GLfixed* m);
	void glLogicOp(GLenum opcode);
	void glMaterialx(GLenum face, GLenum pname, GLfixed param);
	void glMaterialxv(GLenum face, GLenum pname, const GLfixed* params);
	void glMatrixMode(GLenum mode);
	void glMultMatrixx(const GLfixed* m);
	void glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
	void glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);
	void glNormalPointer(GLenum type, GLsizei stride, const GLvoid* pointer);
	void glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
	void glPixelStorei(GLenum pname, GLint param);
	void glPointParameterx(GLenum pname, GLfixed param);
	void glPointParameterxv(GLenum pname, const GLfixed* params);
	void glPointSizex(GLfixed size);
	void glPolygonOffsetx(GLfixed factor, GLfixed units);
	void glPopMatrix();
	void glPushMatrix();
	void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
	void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
	void glSampleCoverage(GLclampf value, GLboolean invert);
	void glSampleCoveragex(GLclampx value, GLboolean invert);
	void glScalex(GLfixed x, GLfixed y, GLfixed z);
	void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
	void glShadeModel(GLenum mode);
	void glStencilFunc(GLenum func, GLint ref, GLuint mask);
	void glStencilMask(GLuint mask);
	void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
	void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
	void glTexEnvi(GLenum target, GLenum pname, GLint param);
	void glTexEnvx(GLenum target, GLenum pname, GLfixed param);
	void glTexEnviv(GLenum target, GLenum pname, const GLint* params);
	void glTexEnvxv(GLenum target, GLenum pname, const GLfixed* params);
	void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
	void glTexParameteri(GLenum target, GLenum pname, GLint param);
	void glTexParameterx(GLenum target, GLenum pname, GLfixed param);
	void glTexParameteriv(GLenum target, GLenum pname, const GLint* params);
	void glTexParameterxv(GLenum target, GLenum pname, const GLfixed* params);
	void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
	void glTranslatex(GLfixed x, GLfixed y, GLfixed z);
	void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
	void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
	void glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid* pointer);
	void glVertexPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset);
	void glColorPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset);
	void glNormalPointerOffset(GLenum type, GLsizei stride, GLuint offset);
	void glPointSizePointerOffset(GLenum type, GLsizei stride, GLuint offset);
	void glTexCoordPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset);
	void glWeightPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset);
	void glMatrixIndexPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset);
	void glVertexPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glColorPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glNormalPointerData(GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glTexCoordPointerData(GLint unit, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glPointSizePointerData(GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glWeightPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glMatrixIndexPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen);
	void glDrawElementsOffset(GLenum mode, GLsizei count, GLenum type, GLuint offset);
	void glDrawElementsData(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen);
	void glGetCompressedTextureFormats(int count, GLint* formats);
	int glFinishRoundTrip();
	void glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);
	void glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
	void glBlendEquationOES(GLenum mode);
	void glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
	void glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height);
	void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
	void glDrawTexsvOES(const GLshort* coords);
	void glDrawTexivOES(const GLint* coords);
	void glDrawTexxvOES(const GLfixed* coords);
	void glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
	void glDrawTexfvOES(const GLfloat* coords);
	void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
	void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
	void glAlphaFuncxOES(GLenum func, GLclampx ref);
	void glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
	void glClearDepthxOES(GLclampx depth);
	void glClipPlanexOES(GLenum plane, const GLfixed* equation);
	void glClipPlanexIMG(GLenum plane, const GLfixed* equation);
	void glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
	void glDepthRangexOES(GLclampx zNear, GLclampx zFar);
	void glFogxOES(GLenum pname, GLfixed param);
	void glFogxvOES(GLenum pname, const GLfixed* params);
	void glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
	void glGetClipPlanexOES(GLenum pname, GLfixed* eqn);
	void glGetClipPlanex(GLenum pname, GLfixed* eqn);
	void glGetFixedvOES(GLenum pname, GLfixed* params);
	void glGetLightxvOES(GLenum light, GLenum pname, GLfixed* params);
	void glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed* params);
	void glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed* params);
	void glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed* params);
	void glLightModelxOES(GLenum pname, GLfixed param);
	void glLightModelxvOES(GLenum pname, const GLfixed* params);
	void glLightxOES(GLenum light, GLenum pname, GLfixed param);
	void glLightxvOES(GLenum light, GLenum pname, const GLfixed* params);
	void glLineWidthxOES(GLfixed width);
	void glLoadMatrixxOES(const GLfixed* m);
	void glMaterialxOES(GLenum face, GLenum pname, GLfixed param);
	void glMaterialxvOES(GLenum face, GLenum pname, const GLfixed* params);
	void glMultMatrixxOES(const GLfixed* m);
	void glMultiTexCoord4xOES(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
	void glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz);
	void glOrthoxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
	void glPointParameterxOES(GLenum pname, GLfixed param);
	void glPointParameterxvOES(GLenum pname, const GLfixed* params);
	void glPointSizexOES(GLfixed size);
	void glPolygonOffsetxOES(GLfixed factor, GLfixed units);
	void glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
	void glSampleCoveragexOES(GLclampx value, GLboolean invert);
	void glScalexOES(GLfixed x, GLfixed y, GLfixed z);
	void glTexEnvxOES(GLenum target, GLenum pname, GLfixed param);
	void glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed* params);
	void glTexParameterxOES(GLenum target, GLenum pname, GLfixed param);
	void glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed* params);
	void glTranslatexOES(GLfixed x, GLfixed y, GLfixed z);
	GLboolean glIsRenderbufferOES(GLuint renderbuffer);
	void glBindRenderbufferOES(GLenum target, GLuint renderbuffer);
	void glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers);
	void glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers);
	void glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
	void glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params);
	GLboolean glIsFramebufferOES(GLuint framebuffer);
	void glBindFramebufferOES(GLenum target, GLuint framebuffer);
	void glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers);
	void glGenFramebuffersOES(GLsizei n, GLuint* framebuffers);
	GLenum glCheckFramebufferStatusOES(GLenum target);
	void glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
	void glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
	void glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params);
	void glGenerateMipmapOES(GLenum target);
	void* glMapBufferOES(GLenum target, GLenum access);
	GLboolean glUnmapBufferOES(GLenum target);
	void glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params);
	void glCurrentPaletteMatrixOES(GLuint matrixpaletteindex);
	void glLoadPaletteFromModelViewMatrixOES();
	void glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
	void glWeightPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
	GLbitfield glQueryMatrixxOES(GLfixed* mantissa, GLint* exponent);
	void glDepthRangefOES(GLclampf zNear, GLclampf zFar);
	void glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
	void glOrthofOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
	void glClipPlanefOES(GLenum plane, const GLfloat* equation);
	void glClipPlanefIMG(GLenum plane, const GLfloat* equation);
	void glGetClipPlanefOES(GLenum pname, GLfloat* eqn);
	void glClearDepthfOES(GLclampf depth);
	void glTexGenfOES(GLenum coord, GLenum pname, GLfloat param);
	void glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat* params);
	void glTexGeniOES(GLenum coord, GLenum pname, GLint param);
	void glTexGenivOES(GLenum coord, GLenum pname, const GLint* params);
	void glTexGenxOES(GLenum coord, GLenum pname, GLfixed param);
	void glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed* params);
	void glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat* params);
	void glGetTexGenivOES(GLenum coord, GLenum pname, GLint* params);
	void glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed* params);
	void glBindVertexArrayOES(GLuint array);
	void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays);
	void glGenVertexArraysOES(GLsizei n, GLuint* arrays);
	GLboolean glIsVertexArrayOES(GLuint array);
	void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments);
	void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
	void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount);
	void glMultiDrawArraysSUN(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
	void glMultiDrawElementsSUN(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
	void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
	void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
	void glDeleteFencesNV(GLsizei n, const GLuint* fences);
	void glGenFencesNV(GLsizei n, GLuint* fences);
	GLboolean glIsFenceNV(GLuint fence);
	GLboolean glTestFenceNV(GLuint fence);
	void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params);
	void glFinishFenceNV(GLuint fence);
	void glSetFenceNV(GLuint fence, GLenum condition);
	void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls);
	void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString);
	void glEnableDriverControlQCOM(GLuint driverControl);
	void glDisableDriverControlQCOM(GLuint driverControl);
	void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures);
	void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers);
	void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers);
	void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers);
	void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params);
	void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param);
	void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels);
	void glExtGetBufferPointervQCOM(GLenum target, GLvoid** params);
	void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders);
	void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms);
	GLboolean glExtIsProgramBinaryQCOM(GLuint program);
	void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length);
	void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
	void glEndTilingQCOM(GLbitfield preserveMask);
};

#ifndef GET_CONTEXT
static gl_client_context_t::CONTEXT_ACCESSOR_TYPE *getCurrentContext = NULL;
void gl_client_context_t::setContextAccessor(CONTEXT_ACCESSOR_TYPE *f) { getCurrentContext = f; }
#define GET_CONTEXT gl_client_context_t * ctx = getCurrentContext()
#endif

void glAlphaFunc(GLenum func, GLclampf ref)
{
	GET_CONTEXT;
	ctx->glAlphaFunc(ctx, func, ref);
}

void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
{
	GET_CONTEXT;
	ctx->glClearColor(ctx, red, green, blue, alpha);
}

void glClearDepthf(GLclampf depth)
{
	GET_CONTEXT;
	ctx->glClearDepthf(ctx, depth);
}

void glClipPlanef(GLenum plane, const GLfloat* equation)
{
	GET_CONTEXT;
	ctx->glClipPlanef(ctx, plane, equation);
}

void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
{
	GET_CONTEXT;
	ctx->glColor4f(ctx, red, green, blue, alpha);
}

void glDepthRangef(GLclampf zNear, GLclampf zFar)
{
	GET_CONTEXT;
	ctx->glDepthRangef(ctx, zNear, zFar);
}

void glFogf(GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glFogf(ctx, pname, param);
}

void glFogfv(GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glFogfv(ctx, pname, params);
}

void glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
{
	GET_CONTEXT;
	ctx->glFrustumf(ctx, left, right, bottom, top, zNear, zFar);
}

void glGetClipPlanef(GLenum pname, GLfloat* eqn)
{
	GET_CONTEXT;
	ctx->glGetClipPlanef(ctx, pname, eqn);
}

void glGetFloatv(GLenum pname, GLfloat* params)
{
	GET_CONTEXT;
	ctx->glGetFloatv(ctx, pname, params);
}

void glGetLightfv(GLenum light, GLenum pname, GLfloat* params)
{
	GET_CONTEXT;
	ctx->glGetLightfv(ctx, light, pname, params);
}

void glGetMaterialfv(GLenum face, GLenum pname, GLfloat* params)
{
	GET_CONTEXT;
	ctx->glGetMaterialfv(ctx, face, pname, params);
}

void glGetTexEnvfv(GLenum env, GLenum pname, GLfloat* params)
{
	GET_CONTEXT;
	ctx->glGetTexEnvfv(ctx, env, pname, params);
}

void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
{
	GET_CONTEXT;
	ctx->glGetTexParameterfv(ctx, target, pname, params);
}

void glLightModelf(GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glLightModelf(ctx, pname, param);
}

void glLightModelfv(GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glLightModelfv(ctx, pname, params);
}

void glLightf(GLenum light, GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glLightf(ctx, light, pname, param);
}

void glLightfv(GLenum light, GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glLightfv(ctx, light, pname, params);
}

void glLineWidth(GLfloat width)
{
	GET_CONTEXT;
	ctx->glLineWidth(ctx, width);
}

void glLoadMatrixf(const GLfloat* m)
{
	GET_CONTEXT;
	ctx->glLoadMatrixf(ctx, m);
}

void glMaterialf(GLenum face, GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glMaterialf(ctx, face, pname, param);
}

void glMaterialfv(GLenum face, GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glMaterialfv(ctx, face, pname, params);
}

void glMultMatrixf(const GLfloat* m)
{
	GET_CONTEXT;
	ctx->glMultMatrixf(ctx, m);
}

void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
{
	GET_CONTEXT;
	ctx->glMultiTexCoord4f(ctx, target, s, t, r, q);
}

void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)
{
	GET_CONTEXT;
	ctx->glNormal3f(ctx, nx, ny, nz);
}

void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
{
	GET_CONTEXT;
	ctx->glOrthof(ctx, left, right, bottom, top, zNear, zFar);
}

void glPointParameterf(GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glPointParameterf(ctx, pname, param);
}

void glPointParameterfv(GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glPointParameterfv(ctx, pname, params);
}

void glPointSize(GLfloat size)
{
	GET_CONTEXT;
	ctx->glPointSize(ctx, size);
}

void glPolygonOffset(GLfloat factor, GLfloat units)
{
	GET_CONTEXT;
	ctx->glPolygonOffset(ctx, factor, units);
}

void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
{
	GET_CONTEXT;
	ctx->glRotatef(ctx, angle, x, y, z);
}

void glScalef(GLfloat x, GLfloat y, GLfloat z)
{
	GET_CONTEXT;
	ctx->glScalef(ctx, x, y, z);
}

void glTexEnvf(GLenum target, GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glTexEnvf(ctx, target, pname, param);
}

void glTexEnvfv(GLenum target, GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glTexEnvfv(ctx, target, pname, params);
}

void glTexParameterf(GLenum target, GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glTexParameterf(ctx, target, pname, param);
}

void glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glTexParameterfv(ctx, target, pname, params);
}

void glTranslatef(GLfloat x, GLfloat y, GLfloat z)
{
	GET_CONTEXT;
	ctx->glTranslatef(ctx, x, y, z);
}

void glActiveTexture(GLenum texture)
{
	GET_CONTEXT;
	ctx->glActiveTexture(ctx, texture);
}

void glAlphaFuncx(GLenum func, GLclampx ref)
{
	GET_CONTEXT;
	ctx->glAlphaFuncx(ctx, func, ref);
}

void glBindBuffer(GLenum target, GLuint buffer)
{
	GET_CONTEXT;
	ctx->glBindBuffer(ctx, target, buffer);
}

void glBindTexture(GLenum target, GLuint texture)
{
	GET_CONTEXT;
	ctx->glBindTexture(ctx, target, texture);
}

void glBlendFunc(GLenum sfactor, GLenum dfactor)
{
	GET_CONTEXT;
	ctx->glBlendFunc(ctx, sfactor, dfactor);
}

void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
{
	GET_CONTEXT;
	ctx->glBufferData(ctx, target, size, data, usage);
}

void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
{
	GET_CONTEXT;
	ctx->glBufferSubData(ctx, target, offset, size, data);
}

void glClear(GLbitfield mask)
{
	GET_CONTEXT;
	ctx->glClear(ctx, mask);
}

void glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
{
	GET_CONTEXT;
	ctx->glClearColorx(ctx, red, green, blue, alpha);
}

void glClearDepthx(GLclampx depth)
{
	GET_CONTEXT;
	ctx->glClearDepthx(ctx, depth);
}

void glClearStencil(GLint s)
{
	GET_CONTEXT;
	ctx->glClearStencil(ctx, s);
}

void glClientActiveTexture(GLenum texture)
{
	GET_CONTEXT;
	ctx->glClientActiveTexture(ctx, texture);
}

void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
{
	GET_CONTEXT;
	ctx->glColor4ub(ctx, red, green, blue, alpha);
}

void glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
{
	GET_CONTEXT;
	ctx->glColor4x(ctx, red, green, blue, alpha);
}

void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
{
	GET_CONTEXT;
	ctx->glColorMask(ctx, red, green, blue, alpha);
}

void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glColorPointer(ctx, size, type, stride, pointer);
}

void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data)
{
	GET_CONTEXT;
	ctx->glCompressedTexImage2D(ctx, target, level, internalformat, width, height, border, imageSize, data);
}

void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data)
{
	GET_CONTEXT;
	ctx->glCompressedTexSubImage2D(ctx, target, level, xoffset, yoffset, width, height, format, imageSize, data);
}

void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
{
	GET_CONTEXT;
	ctx->glCopyTexImage2D(ctx, target, level, internalformat, x, y, width, height, border);
}

void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
{
	GET_CONTEXT;
	ctx->glCopyTexSubImage2D(ctx, target, level, xoffset, yoffset, x, y, width, height);
}

void glCullFace(GLenum mode)
{
	GET_CONTEXT;
	ctx->glCullFace(ctx, mode);
}

void glDeleteBuffers(GLsizei n, const GLuint* buffers)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glDeleteBuffers(ctx, n, buffers);
}

void glDeleteTextures(GLsizei n, const GLuint* textures)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glDeleteTextures(ctx, n, textures);
}

void glDepthFunc(GLenum func)
{
	GET_CONTEXT;
	ctx->glDepthFunc(ctx, func);
}

void glDepthMask(GLboolean flag)
{
	GET_CONTEXT;
	ctx->glDepthMask(ctx, flag);
}

void glDepthRangex(GLclampx zNear, GLclampx zFar)
{
	GET_CONTEXT;
	ctx->glDepthRangex(ctx, zNear, zFar);
}

void glDisable(GLenum cap)
{
	GET_CONTEXT;
	ctx->glDisable(ctx, cap);
}

void glDisableClientState(GLenum array)
{
	GET_CONTEXT;
	ctx->glDisableClientState(ctx, array);
}

void glDrawArrays(GLenum mode, GLint first, GLsizei count)
{
	GET_CONTEXT;
	ctx->glDrawArrays(ctx, mode, first, count);
}

void glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)
{
	GET_CONTEXT;
	ctx->glDrawElements(ctx, mode, count, type, indices);
}

void glEnable(GLenum cap)
{
	GET_CONTEXT;
	ctx->glEnable(ctx, cap);
}

void glEnableClientState(GLenum array)
{
	GET_CONTEXT;
	ctx->glEnableClientState(ctx, array);
}

void glFinish()
{
	GET_CONTEXT;
	ctx->glFinish(ctx);
}

void glFlush()
{
	GET_CONTEXT;
	ctx->glFlush(ctx);
}

void glFogx(GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glFogx(ctx, pname, param);
}

void glFogxv(GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glFogxv(ctx, pname, params);
}

void glFrontFace(GLenum mode)
{
	GET_CONTEXT;
	ctx->glFrontFace(ctx, mode);
}

void glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
{
	GET_CONTEXT;
	ctx->glFrustumx(ctx, left, right, bottom, top, zNear, zFar);
}

void glGetBooleanv(GLenum pname, GLboolean* params)
{
	GET_CONTEXT;
	ctx->glGetBooleanv(ctx, pname, params);
}

void glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetBufferParameteriv(ctx, target, pname, params);
}

void glClipPlanex(GLenum pname, const GLfixed* eqn)
{
	GET_CONTEXT;
	ctx->glClipPlanex(ctx, pname, eqn);
}

void glGenBuffers(GLsizei n, GLuint* buffers)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glGenBuffers(ctx, n, buffers);
}

void glGenTextures(GLsizei n, GLuint* textures)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glGenTextures(ctx, n, textures);
}

GLenum glGetError()
{
	GET_CONTEXT;
	return ctx->glGetError(ctx);
}

void glGetFixedv(GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetFixedv(ctx, pname, params);
}

void glGetIntegerv(GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetIntegerv(ctx, pname, params);
}

void glGetLightxv(GLenum light, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetLightxv(ctx, light, pname, params);
}

void glGetMaterialxv(GLenum face, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetMaterialxv(ctx, face, pname, params);
}

void glGetPointerv(GLenum pname, GLvoid** params)
{
	GET_CONTEXT;
	ctx->glGetPointerv(ctx, pname, params);
}

const GLubyte* glGetString(GLenum name)
{
	GET_CONTEXT;
	return ctx->glGetString(ctx, name);
}

void glGetTexEnviv(GLenum env, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetTexEnviv(ctx, env, pname, params);
}

void glGetTexEnvxv(GLenum env, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetTexEnvxv(ctx, env, pname, params);
}

void glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetTexParameteriv(ctx, target, pname, params);
}

void glGetTexParameterxv(GLenum target, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetTexParameterxv(ctx, target, pname, params);
}

void glHint(GLenum target, GLenum mode)
{
	GET_CONTEXT;
	ctx->glHint(ctx, target, mode);
}

GLboolean glIsBuffer(GLuint buffer)
{
	GET_CONTEXT;
	return ctx->glIsBuffer(ctx, buffer);
}

GLboolean glIsEnabled(GLenum cap)
{
	GET_CONTEXT;
	return ctx->glIsEnabled(ctx, cap);
}

GLboolean glIsTexture(GLuint texture)
{
	GET_CONTEXT;
	return ctx->glIsTexture(ctx, texture);
}

void glLightModelx(GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glLightModelx(ctx, pname, param);
}

void glLightModelxv(GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glLightModelxv(ctx, pname, params);
}

void glLightx(GLenum light, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glLightx(ctx, light, pname, param);
}

void glLightxv(GLenum light, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glLightxv(ctx, light, pname, params);
}

void glLineWidthx(GLfixed width)
{
	GET_CONTEXT;
	ctx->glLineWidthx(ctx, width);
}

void glLoadIdentity()
{
	GET_CONTEXT;
	ctx->glLoadIdentity(ctx);
}

void glLoadMatrixx(const GLfixed* m)
{
	GET_CONTEXT;
	ctx->glLoadMatrixx(ctx, m);
}

void glLogicOp(GLenum opcode)
{
	GET_CONTEXT;
	ctx->glLogicOp(ctx, opcode);
}

void glMaterialx(GLenum face, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glMaterialx(ctx, face, pname, param);
}

void glMaterialxv(GLenum face, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glMaterialxv(ctx, face, pname, params);
}

void glMatrixMode(GLenum mode)
{
	GET_CONTEXT;
	ctx->glMatrixMode(ctx, mode);
}

void glMultMatrixx(const GLfixed* m)
{
	GET_CONTEXT;
	ctx->glMultMatrixx(ctx, m);
}

void glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
{
	GET_CONTEXT;
	ctx->glMultiTexCoord4x(ctx, target, s, t, r, q);
}

void glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz)
{
	GET_CONTEXT;
	ctx->glNormal3x(ctx, nx, ny, nz);
}

void glNormalPointer(GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glNormalPointer(ctx, type, stride, pointer);
}

void glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
{
	GET_CONTEXT;
	ctx->glOrthox(ctx, left, right, bottom, top, zNear, zFar);
}

void glPixelStorei(GLenum pname, GLint param)
{
	GET_CONTEXT;
	ctx->glPixelStorei(ctx, pname, param);
}

void glPointParameterx(GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glPointParameterx(ctx, pname, param);
}

void glPointParameterxv(GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glPointParameterxv(ctx, pname, params);
}

void glPointSizex(GLfixed size)
{
	GET_CONTEXT;
	ctx->glPointSizex(ctx, size);
}

void glPolygonOffsetx(GLfixed factor, GLfixed units)
{
	GET_CONTEXT;
	ctx->glPolygonOffsetx(ctx, factor, units);
}

void glPopMatrix()
{
	GET_CONTEXT;
	ctx->glPopMatrix(ctx);
}

void glPushMatrix()
{
	GET_CONTEXT;
	ctx->glPushMatrix(ctx);
}

void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)
{
	GET_CONTEXT;
	ctx->glReadPixels(ctx, x, y, width, height, format, type, pixels);
}

void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
{
	GET_CONTEXT;
	ctx->glRotatex(ctx, angle, x, y, z);
}

void glSampleCoverage(GLclampf value, GLboolean invert)
{
	GET_CONTEXT;
	ctx->glSampleCoverage(ctx, value, invert);
}

void glSampleCoveragex(GLclampx value, GLboolean invert)
{
	GET_CONTEXT;
	ctx->glSampleCoveragex(ctx, value, invert);
}

void glScalex(GLfixed x, GLfixed y, GLfixed z)
{
	GET_CONTEXT;
	ctx->glScalex(ctx, x, y, z);
}

void glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
{
	GET_CONTEXT;
	ctx->glScissor(ctx, x, y, width, height);
}

void glShadeModel(GLenum mode)
{
	GET_CONTEXT;
	ctx->glShadeModel(ctx, mode);
}

void glStencilFunc(GLenum func, GLint ref, GLuint mask)
{
	GET_CONTEXT;
	ctx->glStencilFunc(ctx, func, ref, mask);
}

void glStencilMask(GLuint mask)
{
	GET_CONTEXT;
	ctx->glStencilMask(ctx, mask);
}

void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
{
	GET_CONTEXT;
	ctx->glStencilOp(ctx, fail, zfail, zpass);
}

void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glTexCoordPointer(ctx, size, type, stride, pointer);
}

void glTexEnvi(GLenum target, GLenum pname, GLint param)
{
	GET_CONTEXT;
	ctx->glTexEnvi(ctx, target, pname, param);
}

void glTexEnvx(GLenum target, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glTexEnvx(ctx, target, pname, param);
}

void glTexEnviv(GLenum target, GLenum pname, const GLint* params)
{
	GET_CONTEXT;
	ctx->glTexEnviv(ctx, target, pname, params);
}

void glTexEnvxv(GLenum target, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glTexEnvxv(ctx, target, pname, params);
}

void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
{
	GET_CONTEXT;
	ctx->glTexImage2D(ctx, target, level, internalformat, width, height, border, format, type, pixels);
}

void glTexParameteri(GLenum target, GLenum pname, GLint param)
{
	GET_CONTEXT;
	ctx->glTexParameteri(ctx, target, pname, param);
}

void glTexParameterx(GLenum target, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glTexParameterx(ctx, target, pname, param);
}

void glTexParameteriv(GLenum target, GLenum pname, const GLint* params)
{
	GET_CONTEXT;
	ctx->glTexParameteriv(ctx, target, pname, params);
}

void glTexParameterxv(GLenum target, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glTexParameterxv(ctx, target, pname, params);
}

void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)
{
	GET_CONTEXT;
	ctx->glTexSubImage2D(ctx, target, level, xoffset, yoffset, width, height, format, type, pixels);
}

void glTranslatex(GLfixed x, GLfixed y, GLfixed z)
{
	GET_CONTEXT;
	ctx->glTranslatex(ctx, x, y, z);
}

void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glVertexPointer(ctx, size, type, stride, pointer);
}

void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
{
	GET_CONTEXT;
	ctx->glViewport(ctx, x, y, width, height);
}

void glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glPointSizePointerOES(ctx, type, stride, pointer);
}

void glVertexPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glVertexPointerOffset(ctx, size, type, stride, offset);
}

void glColorPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glColorPointerOffset(ctx, size, type, stride, offset);
}

void glNormalPointerOffset(GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glNormalPointerOffset(ctx, type, stride, offset);
}

void glPointSizePointerOffset(GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glPointSizePointerOffset(ctx, type, stride, offset);
}

void glTexCoordPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glTexCoordPointerOffset(ctx, size, type, stride, offset);
}

void glWeightPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glWeightPointerOffset(ctx, size, type, stride, offset);
}

void glMatrixIndexPointerOffset(GLint size, GLenum type, GLsizei stride, GLuint offset)
{
	GET_CONTEXT;
	ctx->glMatrixIndexPointerOffset(ctx, size, type, stride, offset);
}

void glVertexPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glVertexPointerData(ctx, size, type, stride, data, datalen);
}

void glColorPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glColorPointerData(ctx, size, type, stride, data, datalen);
}

void glNormalPointerData(GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glNormalPointerData(ctx, type, stride, data, datalen);
}

void glTexCoordPointerData(GLint unit, GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glTexCoordPointerData(ctx, unit, size, type, stride, data, datalen);
}

void glPointSizePointerData(GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glPointSizePointerData(ctx, type, stride, data, datalen);
}

void glWeightPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glWeightPointerData(ctx, size, type, stride, data, datalen);
}

void glMatrixIndexPointerData(GLint size, GLenum type, GLsizei stride, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glMatrixIndexPointerData(ctx, size, type, stride, data, datalen);
}

void glDrawElementsOffset(GLenum mode, GLsizei count, GLenum type, GLuint offset)
{
	GET_CONTEXT;
	ctx->glDrawElementsOffset(ctx, mode, count, type, offset);
}

void glDrawElementsData(GLenum mode, GLsizei count, GLenum type, void* data, GLuint datalen)
{
	GET_CONTEXT;
	ctx->glDrawElementsData(ctx, mode, count, type, data, datalen);
}

void glGetCompressedTextureFormats(int count, GLint* formats)
{
	GET_CONTEXT;
	ctx->glGetCompressedTextureFormats(ctx, count, formats);
}

int glFinishRoundTrip()
{
	GET_CONTEXT;
	return ctx->glFinishRoundTrip(ctx);
}

void glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha)
{
	GET_CONTEXT;
	ctx->glBlendEquationSeparateOES(ctx, modeRGB, modeAlpha);
}

void glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
{
	GET_CONTEXT;
	ctx->glBlendFuncSeparateOES(ctx, srcRGB, dstRGB, srcAlpha, dstAlpha);
}

void glBlendEquationOES(GLenum mode)
{
	GET_CONTEXT;
	ctx->glBlendEquationOES(ctx, mode);
}

void glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
{
	GET_CONTEXT;
	ctx->glDrawTexsOES(ctx, x, y, z, width, height);
}

void glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height)
{
	GET_CONTEXT;
	ctx->glDrawTexiOES(ctx, x, y, z, width, height);
}

void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height)
{
	GET_CONTEXT;
	ctx->glDrawTexxOES(ctx, x, y, z, width, height);
}

void glDrawTexsvOES(const GLshort* coords)
{
	GET_CONTEXT;
	ctx->glDrawTexsvOES(ctx, coords);
}

void glDrawTexivOES(const GLint* coords)
{
	GET_CONTEXT;
	ctx->glDrawTexivOES(ctx, coords);
}

void glDrawTexxvOES(const GLfixed* coords)
{
	GET_CONTEXT;
	ctx->glDrawTexxvOES(ctx, coords);
}

void glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
{
	GET_CONTEXT;
	ctx->glDrawTexfOES(ctx, x, y, z, width, height);
}

void glDrawTexfvOES(const GLfloat* coords)
{
	GET_CONTEXT;
	ctx->glDrawTexfvOES(ctx, coords);
}

void glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
{
	GET_CONTEXT;
	ctx->glEGLImageTargetTexture2DOES(ctx, target, image);
}

void glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
{
	GET_CONTEXT;
	ctx->glEGLImageTargetRenderbufferStorageOES(ctx, target, image);
}

void glAlphaFuncxOES(GLenum func, GLclampx ref)
{
	GET_CONTEXT;
	ctx->glAlphaFuncxOES(ctx, func, ref);
}

void glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
{
	GET_CONTEXT;
	ctx->glClearColorxOES(ctx, red, green, blue, alpha);
}

void glClearDepthxOES(GLclampx depth)
{
	GET_CONTEXT;
	ctx->glClearDepthxOES(ctx, depth);
}

void glClipPlanexOES(GLenum plane, const GLfixed* equation)
{
	GET_CONTEXT;
	ctx->glClipPlanexOES(ctx, plane, equation);
}

void glClipPlanexIMG(GLenum plane, const GLfixed* equation)
{
	GET_CONTEXT;
	ctx->glClipPlanexIMG(ctx, plane, equation);
}

void glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
{
	GET_CONTEXT;
	ctx->glColor4xOES(ctx, red, green, blue, alpha);
}

void glDepthRangexOES(GLclampx zNear, GLclampx zFar)
{
	GET_CONTEXT;
	ctx->glDepthRangexOES(ctx, zNear, zFar);
}

void glFogxOES(GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glFogxOES(ctx, pname, param);
}

void glFogxvOES(GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glFogxvOES(ctx, pname, params);
}

void glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
{
	GET_CONTEXT;
	ctx->glFrustumxOES(ctx, left, right, bottom, top, zNear, zFar);
}

void glGetClipPlanexOES(GLenum pname, GLfixed* eqn)
{
	GET_CONTEXT;
	ctx->glGetClipPlanexOES(ctx, pname, eqn);
}

void glGetClipPlanex(GLenum pname, GLfixed* eqn)
{
	GET_CONTEXT;
	ctx->glGetClipPlanex(ctx, pname, eqn);
}

void glGetFixedvOES(GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetFixedvOES(ctx, pname, params);
}

void glGetLightxvOES(GLenum light, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetLightxvOES(ctx, light, pname, params);
}

void glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetMaterialxvOES(ctx, face, pname, params);
}

void glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetTexEnvxvOES(ctx, env, pname, params);
}

void glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetTexParameterxvOES(ctx, target, pname, params);
}

void glLightModelxOES(GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glLightModelxOES(ctx, pname, param);
}

void glLightModelxvOES(GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glLightModelxvOES(ctx, pname, params);
}

void glLightxOES(GLenum light, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glLightxOES(ctx, light, pname, param);
}

void glLightxvOES(GLenum light, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glLightxvOES(ctx, light, pname, params);
}

void glLineWidthxOES(GLfixed width)
{
	GET_CONTEXT;
	ctx->glLineWidthxOES(ctx, width);
}

void glLoadMatrixxOES(const GLfixed* m)
{
	GET_CONTEXT;
	ctx->glLoadMatrixxOES(ctx, m);
}

void glMaterialxOES(GLenum face, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glMaterialxOES(ctx, face, pname, param);
}

void glMaterialxvOES(GLenum face, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glMaterialxvOES(ctx, face, pname, params);
}

void glMultMatrixxOES(const GLfixed* m)
{
	GET_CONTEXT;
	ctx->glMultMatrixxOES(ctx, m);
}

void glMultiTexCoord4xOES(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
{
	GET_CONTEXT;
	ctx->glMultiTexCoord4xOES(ctx, target, s, t, r, q);
}

void glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz)
{
	GET_CONTEXT;
	ctx->glNormal3xOES(ctx, nx, ny, nz);
}

void glOrthoxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
{
	GET_CONTEXT;
	ctx->glOrthoxOES(ctx, left, right, bottom, top, zNear, zFar);
}

void glPointParameterxOES(GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glPointParameterxOES(ctx, pname, param);
}

void glPointParameterxvOES(GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glPointParameterxvOES(ctx, pname, params);
}

void glPointSizexOES(GLfixed size)
{
	GET_CONTEXT;
	ctx->glPointSizexOES(ctx, size);
}

void glPolygonOffsetxOES(GLfixed factor, GLfixed units)
{
	GET_CONTEXT;
	ctx->glPolygonOffsetxOES(ctx, factor, units);
}

void glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
{
	GET_CONTEXT;
	ctx->glRotatexOES(ctx, angle, x, y, z);
}

void glSampleCoveragexOES(GLclampx value, GLboolean invert)
{
	GET_CONTEXT;
	ctx->glSampleCoveragexOES(ctx, value, invert);
}

void glScalexOES(GLfixed x, GLfixed y, GLfixed z)
{
	GET_CONTEXT;
	ctx->glScalexOES(ctx, x, y, z);
}

void glTexEnvxOES(GLenum target, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glTexEnvxOES(ctx, target, pname, param);
}

void glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glTexEnvxvOES(ctx, target, pname, params);
}

void glTexParameterxOES(GLenum target, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glTexParameterxOES(ctx, target, pname, param);
}

void glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glTexParameterxvOES(ctx, target, pname, params);
}

void glTranslatexOES(GLfixed x, GLfixed y, GLfixed z)
{
	GET_CONTEXT;
	ctx->glTranslatexOES(ctx, x, y, z);
}

GLboolean glIsRenderbufferOES(GLuint renderbuffer)
{
	GET_CONTEXT;
	return ctx->glIsRenderbufferOES(ctx, renderbuffer);
}

void glBindRenderbufferOES(GLenum target, GLuint renderbuffer)
{
	GET_CONTEXT;
	ctx->glBindRenderbufferOES(ctx, target, renderbuffer);
}

void glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glDeleteRenderbuffersOES(ctx, n, renderbuffers);
}

void glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glGenRenderbuffersOES(ctx, n, renderbuffers);
}

void glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
	GET_CONTEXT;
	ctx->glRenderbufferStorageOES(ctx, target, internalformat, width, height);
}

void glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetRenderbufferParameterivOES(ctx, target, pname, params);
}

GLboolean glIsFramebufferOES(GLuint framebuffer)
{
	GET_CONTEXT;
	return ctx->glIsFramebufferOES(ctx, framebuffer);
}

void glBindFramebufferOES(GLenum target, GLuint framebuffer)
{
	GET_CONTEXT;
	ctx->glBindFramebufferOES(ctx, target, framebuffer);
}

void glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glDeleteFramebuffersOES(ctx, n, framebuffers);
}

void glGenFramebuffersOES(GLsizei n, GLuint* framebuffers)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glGenFramebuffersOES(ctx, n, framebuffers);
}

GLenum glCheckFramebufferStatusOES(GLenum target)
{
	GET_CONTEXT;
	return ctx->glCheckFramebufferStatusOES(ctx, target);
}

void glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
	GET_CONTEXT;
	ctx->glFramebufferRenderbufferOES(ctx, target, attachment, renderbuffertarget, renderbuffer);
}

void glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
	GET_CONTEXT;
	ctx->glFramebufferTexture2DOES(ctx, target, attachment, textarget, texture, level);
}

void glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetFramebufferAttachmentParameterivOES(ctx, target, attachment, pname, params);
}

void glGenerateMipmapOES(GLenum target)
{
	GET_CONTEXT;
	ctx->glGenerateMipmapOES(ctx, target);
}

void* glMapBufferOES(GLenum target, GLenum access)
{
	GET_CONTEXT;
	return ctx->glMapBufferOES(ctx, target, access);
}

GLboolean glUnmapBufferOES(GLenum target)
{
	GET_CONTEXT;
	return ctx->glUnmapBufferOES(ctx, target);
}

void glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params)
{
	GET_CONTEXT;
	ctx->glGetBufferPointervOES(ctx, target, pname, params);
}

void glCurrentPaletteMatrixOES(GLuint matrixpaletteindex)
{
	GET_CONTEXT;
	ctx->glCurrentPaletteMatrixOES(ctx, matrixpaletteindex);
}

void glLoadPaletteFromModelViewMatrixOES()
{
	GET_CONTEXT;
	ctx->glLoadPaletteFromModelViewMatrixOES(ctx);
}

void glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glMatrixIndexPointerOES(ctx, size, type, stride, pointer);
}

void glWeightPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
{
	GET_CONTEXT;
	ctx->glWeightPointerOES(ctx, size, type, stride, pointer);
}

GLbitfield glQueryMatrixxOES(GLfixed* mantissa, GLint* exponent)
{
	GET_CONTEXT;
	return ctx->glQueryMatrixxOES(ctx, mantissa, exponent);
}

void glDepthRangefOES(GLclampf zNear, GLclampf zFar)
{
	GET_CONTEXT;
	ctx->glDepthRangefOES(ctx, zNear, zFar);
}

void glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
{
	GET_CONTEXT;
	ctx->glFrustumfOES(ctx, left, right, bottom, top, zNear, zFar);
}

void glOrthofOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
{
	GET_CONTEXT;
	ctx->glOrthofOES(ctx, left, right, bottom, top, zNear, zFar);
}

void glClipPlanefOES(GLenum plane, const GLfloat* equation)
{
	GET_CONTEXT;
	ctx->glClipPlanefOES(ctx, plane, equation);
}

void glClipPlanefIMG(GLenum plane, const GLfloat* equation)
{
	GET_CONTEXT;
	ctx->glClipPlanefIMG(ctx, plane, equation);
}

void glGetClipPlanefOES(GLenum pname, GLfloat* eqn)
{
	GET_CONTEXT;
	ctx->glGetClipPlanefOES(ctx, pname, eqn);
}

void glClearDepthfOES(GLclampf depth)
{
	GET_CONTEXT;
	ctx->glClearDepthfOES(ctx, depth);
}

void glTexGenfOES(GLenum coord, GLenum pname, GLfloat param)
{
	GET_CONTEXT;
	ctx->glTexGenfOES(ctx, coord, pname, param);
}

void glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat* params)
{
	GET_CONTEXT;
	ctx->glTexGenfvOES(ctx, coord, pname, params);
}

void glTexGeniOES(GLenum coord, GLenum pname, GLint param)
{
	GET_CONTEXT;
	ctx->glTexGeniOES(ctx, coord, pname, param);
}

void glTexGenivOES(GLenum coord, GLenum pname, const GLint* params)
{
	GET_CONTEXT;
	ctx->glTexGenivOES(ctx, coord, pname, params);
}

void glTexGenxOES(GLenum coord, GLenum pname, GLfixed param)
{
	GET_CONTEXT;
	ctx->glTexGenxOES(ctx, coord, pname, param);
}

void glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed* params)
{
	GET_CONTEXT;
	ctx->glTexGenxvOES(ctx, coord, pname, params);
}

void glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat* params)
{
	GET_CONTEXT;
	ctx->glGetTexGenfvOES(ctx, coord, pname, params);
}

void glGetTexGenivOES(GLenum coord, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetTexGenivOES(ctx, coord, pname, params);
}

void glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed* params)
{
	GET_CONTEXT;
	ctx->glGetTexGenxvOES(ctx, coord, pname, params);
}

void glBindVertexArrayOES(GLuint array)
{
	GET_CONTEXT;
	ctx->glBindVertexArrayOES(ctx, array);
}

void glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glDeleteVertexArraysOES(ctx, n, arrays);
}

void glGenVertexArraysOES(GLsizei n, GLuint* arrays)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glGenVertexArraysOES(ctx, n, arrays);
}

GLboolean glIsVertexArrayOES(GLuint array)
{
	GET_CONTEXT;
	return ctx->glIsVertexArrayOES(ctx, array);
}

void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments)
{
	GET_CONTEXT;
	ctx->glDiscardFramebufferEXT(ctx, target, numAttachments, attachments);
}

void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount)
{
	GET_CONTEXT;
	ctx->glMultiDrawArraysEXT(ctx, mode, first, count, primcount);
}

void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount)
{
	GET_CONTEXT;
	ctx->glMultiDrawElementsEXT(ctx, mode, count, type, indices, primcount);
}

void glMultiDrawArraysSUN(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount)
{
	GET_CONTEXT;
	ctx->glMultiDrawArraysSUN(ctx, mode, first, count, primcount);
}

void glMultiDrawElementsSUN(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount)
{
	GET_CONTEXT;
	ctx->glMultiDrawElementsSUN(ctx, mode, count, type, indices, primcount);
}

void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
{
	GET_CONTEXT;
	ctx->glRenderbufferStorageMultisampleIMG(ctx, target, samples, internalformat, width, height);
}

void glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
{
	GET_CONTEXT;
	ctx->glFramebufferTexture2DMultisampleIMG(ctx, target, attachment, textarget, texture, level, samples);
}

void glDeleteFencesNV(GLsizei n, const GLuint* fences)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glDeleteFencesNV(ctx, n, fences);
}

void glGenFencesNV(GLsizei n, GLuint* fences)
{
	GET_CONTEXT;
	 if(n<0){ ctx->setError(GL_INVALID_VALUE); return; }
	ctx->glGenFencesNV(ctx, n, fences);
}

GLboolean glIsFenceNV(GLuint fence)
{
	GET_CONTEXT;
	return ctx->glIsFenceNV(ctx, fence);
}

GLboolean glTestFenceNV(GLuint fence)
{
	GET_CONTEXT;
	return ctx->glTestFenceNV(ctx, fence);
}

void glGetFenceivNV(GLuint fence, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glGetFenceivNV(ctx, fence, pname, params);
}

void glFinishFenceNV(GLuint fence)
{
	GET_CONTEXT;
	ctx->glFinishFenceNV(ctx, fence);
}

void glSetFenceNV(GLuint fence, GLenum condition)
{
	GET_CONTEXT;
	ctx->glSetFenceNV(ctx, fence, condition);
}

void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls)
{
	GET_CONTEXT;
	ctx->glGetDriverControlsQCOM(ctx, num, size, driverControls);
}

void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString)
{
	GET_CONTEXT;
	ctx->glGetDriverControlStringQCOM(ctx, driverControl, bufSize, length, driverControlString);
}

void glEnableDriverControlQCOM(GLuint driverControl)
{
	GET_CONTEXT;
	ctx->glEnableDriverControlQCOM(ctx, driverControl);
}

void glDisableDriverControlQCOM(GLuint driverControl)
{
	GET_CONTEXT;
	ctx->glDisableDriverControlQCOM(ctx, driverControl);
}

void glExtGetTexturesQCOM(GLuint* textures, GLint maxTextures, GLint* numTextures)
{
	GET_CONTEXT;
	ctx->glExtGetTexturesQCOM(ctx, textures, maxTextures, numTextures);
}

void glExtGetBuffersQCOM(GLuint* buffers, GLint maxBuffers, GLint* numBuffers)
{
	GET_CONTEXT;
	ctx->glExtGetBuffersQCOM(ctx, buffers, maxBuffers, numBuffers);
}

void glExtGetRenderbuffersQCOM(GLuint* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers)
{
	GET_CONTEXT;
	ctx->glExtGetRenderbuffersQCOM(ctx, renderbuffers, maxRenderbuffers, numRenderbuffers);
}

void glExtGetFramebuffersQCOM(GLuint* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers)
{
	GET_CONTEXT;
	ctx->glExtGetFramebuffersQCOM(ctx, framebuffers, maxFramebuffers, numFramebuffers);
}

void glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint* params)
{
	GET_CONTEXT;
	ctx->glExtGetTexLevelParameterivQCOM(ctx, texture, face, level, pname, params);
}

void glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param)
{
	GET_CONTEXT;
	ctx->glExtTexObjectStateOverrideiQCOM(ctx, target, pname, param);
}

void glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid* texels)
{
	GET_CONTEXT;
	ctx->glExtGetTexSubImageQCOM(ctx, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
}

void glExtGetBufferPointervQCOM(GLenum target, GLvoid** params)
{
	GET_CONTEXT;
	ctx->glExtGetBufferPointervQCOM(ctx, target, params);
}

void glExtGetShadersQCOM(GLuint* shaders, GLint maxShaders, GLint* numShaders)
{
	GET_CONTEXT;
	ctx->glExtGetShadersQCOM(ctx, shaders, maxShaders, numShaders);
}

void glExtGetProgramsQCOM(GLuint* programs, GLint maxPrograms, GLint* numPrograms)
{
	GET_CONTEXT;
	ctx->glExtGetProgramsQCOM(ctx, programs, maxPrograms, numPrograms);
}

GLboolean glExtIsProgramBinaryQCOM(GLuint program)
{
	GET_CONTEXT;
	return ctx->glExtIsProgramBinaryQCOM(ctx, program);
}

void glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar* source, GLint* length)
{
	GET_CONTEXT;
	ctx->glExtGetProgramBinarySourceQCOM(ctx, program, shadertype, source, length);
}

void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
{
	GET_CONTEXT;
	ctx->glStartTilingQCOM(ctx, x, y, width, height, preserveMask);
}

void glEndTilingQCOM(GLbitfield preserveMask)
{
	GET_CONTEXT;
	ctx->glEndTilingQCOM(ctx, preserveMask);
}