Added support for OpenGL.

diff --git a/dlls/opengl32/opengl_norm.c b/dlls/opengl32/opengl_norm.c
new file mode 100644
index 0000000..64d3b33
--- /dev/null
+++ b/dlls/opengl32/opengl_norm.c
@@ -0,0 +1,2471 @@
+
+/* Auto-generated file... Do not edit ! */
+
+#include "config.h"
+#include "wine_gl.h"
+
+
+void WINAPI wine_glClearIndex(GLfloat c ) {
+  ENTER_GL();
+  glClearIndex(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) {
+  ENTER_GL();
+  glClearColor(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClear(GLbitfield mask ) {
+  ENTER_GL();
+  glClear(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexMask(GLuint mask ) {
+  ENTER_GL();
+  glIndexMask(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) {
+  ENTER_GL();
+  glColorMask(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glAlphaFunc(GLenum func, GLclampf ref ) {
+  ENTER_GL();
+  glAlphaFunc(func, ref);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBlendFunc(GLenum sfactor, GLenum dfactor ) {
+  ENTER_GL();
+  glBlendFunc(sfactor, dfactor);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLogicOp(GLenum opcode ) {
+  ENTER_GL();
+  glLogicOp(opcode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCullFace(GLenum mode ) {
+  ENTER_GL();
+  glCullFace(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFrontFace(GLenum mode ) {
+  ENTER_GL();
+  glFrontFace(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPointSize(GLfloat size ) {
+  ENTER_GL();
+  glPointSize(size);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLineWidth(GLfloat width ) {
+  ENTER_GL();
+  glLineWidth(width);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLineStipple(GLint factor, GLushort pattern ) {
+  ENTER_GL();
+  glLineStipple(factor, pattern);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPolygonMode(GLenum face, GLenum mode ) {
+  ENTER_GL();
+  glPolygonMode(face, mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPolygonOffset(GLfloat factor, GLfloat units ) {
+  ENTER_GL();
+  glPolygonOffset(factor, units);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPolygonStipple(const GLubyte *mask ) {
+  ENTER_GL();
+  glPolygonStipple(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPolygonStipple(GLubyte *mask ) {
+  ENTER_GL();
+  glGetPolygonStipple(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEdgeFlag(GLboolean flag ) {
+  ENTER_GL();
+  glEdgeFlag(flag);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEdgeFlagv(const GLboolean *flag ) {
+  ENTER_GL();
+  glEdgeFlagv(flag);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) {
+  ENTER_GL();
+  glScissor(x, y, width, height);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClipPlane(GLenum plane, const GLdouble *equation ) {
+  ENTER_GL();
+  glClipPlane(plane, equation);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetClipPlane(GLenum plane, GLdouble *equation ) {
+  ENTER_GL();
+  glGetClipPlane(plane, equation);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawBuffer(GLenum mode ) {
+  ENTER_GL();
+  glDrawBuffer(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReadBuffer(GLenum mode ) {
+  ENTER_GL();
+  glReadBuffer(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEnable(GLenum cap ) {
+  ENTER_GL();
+  glEnable(cap);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDisable(GLenum cap ) {
+  ENTER_GL();
+  glDisable(cap);
+  LEAVE_GL();
+}
+
+GLboolean WINAPI wine_glIsEnabled(GLenum cap ) {
+  GLboolean ret;
+  ENTER_GL();
+  ret = glIsEnabled(cap);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glEnableClientState(GLenum cap ) {
+  ENTER_GL();
+  glEnableClientState(cap);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDisableClientState(GLenum cap ) {
+  ENTER_GL();
+  glDisableClientState(cap);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetBooleanv(GLenum pname, GLboolean *params ) {
+  ENTER_GL();
+  glGetBooleanv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetDoublev(GLenum pname, GLdouble *params ) {
+  ENTER_GL();
+  glGetDoublev(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFloatv(GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetFloatv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetIntegerv(GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetIntegerv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPushAttrib(GLbitfield mask ) {
+  ENTER_GL();
+  glPushAttrib(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPopAttrib(void ) {
+  ENTER_GL();
+  glPopAttrib();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPushClientAttrib(GLbitfield mask ) {
+  ENTER_GL();
+  glPushClientAttrib(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPopClientAttrib(void ) {
+  ENTER_GL();
+  glPopClientAttrib();
+  LEAVE_GL();
+}
+
+GLint WINAPI wine_glRenderMode(GLenum mode ) {
+  GLint ret;
+  ENTER_GL();
+  ret = glRenderMode(mode);
+  LEAVE_GL();
+  return ret;
+}
+
+GLenum WINAPI wine_glGetError(void ) {
+  GLenum ret;
+  ENTER_GL();
+  ret = glGetError();
+  LEAVE_GL();
+  return ret;
+}
+
+const GLubyte* WINAPI wine_glGetString(GLenum name ) {
+  const GLubyte* ret;
+  ENTER_GL();
+  ret = glGetString(name);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glFinish(void ) {
+  ENTER_GL();
+  glFinish();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFlush(void ) {
+  ENTER_GL();
+  glFlush();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glHint(GLenum target, GLenum mode ) {
+  ENTER_GL();
+  glHint(target, mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClearDepth(GLclampd depth ) {
+  ENTER_GL();
+  glClearDepth(depth);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDepthFunc(GLenum func ) {
+  ENTER_GL();
+  glDepthFunc(func);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDepthMask(GLboolean flag ) {
+  ENTER_GL();
+  glDepthMask(flag);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDepthRange(GLclampd near_val, GLclampd far_val ) {
+  ENTER_GL();
+  glDepthRange(near_val, far_val);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) {
+  ENTER_GL();
+  glClearAccum(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glAccum(GLenum op, GLfloat value ) {
+  ENTER_GL();
+  glAccum(op, value);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMatrixMode(GLenum mode ) {
+  ENTER_GL();
+  glMatrixMode(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val ) {
+  ENTER_GL();
+  glOrtho(left, right, bottom, top, near_val, far_val);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val ) {
+  ENTER_GL();
+  glFrustum(left, right, bottom, top, near_val, far_val);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glViewport(GLint x, GLint y, GLsizei width, GLsizei height ) {
+  ENTER_GL();
+  glViewport(x, y, width, height);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPushMatrix(void ) {
+  ENTER_GL();
+  glPushMatrix();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPopMatrix(void ) {
+  ENTER_GL();
+  glPopMatrix();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLoadIdentity(void ) {
+  ENTER_GL();
+  glLoadIdentity();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLoadMatrixd(const GLdouble *m ) {
+  ENTER_GL();
+  glLoadMatrixd(m);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLoadMatrixf(const GLfloat *m ) {
+  ENTER_GL();
+  glLoadMatrixf(m);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultMatrixd(const GLdouble *m ) {
+  ENTER_GL();
+  glMultMatrixd(m);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultMatrixf(const GLfloat *m ) {
+  ENTER_GL();
+  glMultMatrixf(m);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z ) {
+  ENTER_GL();
+  glRotated(angle, x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) {
+  ENTER_GL();
+  glRotatef(angle, x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glScaled(GLdouble x, GLdouble y, GLdouble z ) {
+  ENTER_GL();
+  glScaled(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glScalef(GLfloat x, GLfloat y, GLfloat z ) {
+  ENTER_GL();
+  glScalef(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTranslated(GLdouble x, GLdouble y, GLdouble z ) {
+  ENTER_GL();
+  glTranslated(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTranslatef(GLfloat x, GLfloat y, GLfloat z ) {
+  ENTER_GL();
+  glTranslatef(x, y, z);
+  LEAVE_GL();
+}
+
+GLboolean WINAPI wine_glIsList(GLuint list ) {
+  GLboolean ret;
+  ENTER_GL();
+  ret = glIsList(list);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glDeleteLists(GLuint list, GLsizei range ) {
+  ENTER_GL();
+  glDeleteLists(list, range);
+  LEAVE_GL();
+}
+
+GLuint WINAPI wine_glGenLists(GLsizei range ) {
+  GLuint ret;
+  ENTER_GL();
+  ret = glGenLists(range);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glNewList(GLuint list, GLenum mode ) {
+  ENTER_GL();
+  glNewList(list, mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEndList(void ) {
+  ENTER_GL();
+  glEndList();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCallList(GLuint list ) {
+  ENTER_GL();
+  glCallList(list);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCallLists(GLsizei n, GLenum type, const GLvoid *lists ) {
+  ENTER_GL();
+  glCallLists(n, type, lists);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glListBase(GLuint base ) {
+  ENTER_GL();
+  glListBase(base);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBegin(GLenum mode ) {
+  ENTER_GL();
+  glBegin(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEnd(void ) {
+  ENTER_GL();
+  glEnd();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2d(GLdouble x, GLdouble y ) {
+  ENTER_GL();
+  glVertex2d(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2f(GLfloat x, GLfloat y ) {
+  ENTER_GL();
+  glVertex2f(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2i(GLint x, GLint y ) {
+  ENTER_GL();
+  glVertex2i(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2s(GLshort x, GLshort y ) {
+  ENTER_GL();
+  glVertex2s(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3d(GLdouble x, GLdouble y, GLdouble z ) {
+  ENTER_GL();
+  glVertex3d(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3f(GLfloat x, GLfloat y, GLfloat z ) {
+  ENTER_GL();
+  glVertex3f(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3i(GLint x, GLint y, GLint z ) {
+  ENTER_GL();
+  glVertex3i(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3s(GLshort x, GLshort y, GLshort z ) {
+  ENTER_GL();
+  glVertex3s(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
+  ENTER_GL();
+  glVertex4d(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
+  ENTER_GL();
+  glVertex4f(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4i(GLint x, GLint y, GLint z, GLint w ) {
+  ENTER_GL();
+  glVertex4i(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w ) {
+  ENTER_GL();
+  glVertex4s(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2dv(const GLdouble *v ) {
+  ENTER_GL();
+  glVertex2dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2fv(const GLfloat *v ) {
+  ENTER_GL();
+  glVertex2fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2iv(const GLint *v ) {
+  ENTER_GL();
+  glVertex2iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex2sv(const GLshort *v ) {
+  ENTER_GL();
+  glVertex2sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3dv(const GLdouble *v ) {
+  ENTER_GL();
+  glVertex3dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3fv(const GLfloat *v ) {
+  ENTER_GL();
+  glVertex3fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3iv(const GLint *v ) {
+  ENTER_GL();
+  glVertex3iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex3sv(const GLshort *v ) {
+  ENTER_GL();
+  glVertex3sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4dv(const GLdouble *v ) {
+  ENTER_GL();
+  glVertex4dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4fv(const GLfloat *v ) {
+  ENTER_GL();
+  glVertex4fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4iv(const GLint *v ) {
+  ENTER_GL();
+  glVertex4iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertex4sv(const GLshort *v ) {
+  ENTER_GL();
+  glVertex4sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz ) {
+  ENTER_GL();
+  glNormal3b(nx, ny, nz);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz ) {
+  ENTER_GL();
+  glNormal3d(nx, ny, nz);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz ) {
+  ENTER_GL();
+  glNormal3f(nx, ny, nz);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3i(GLint nx, GLint ny, GLint nz ) {
+  ENTER_GL();
+  glNormal3i(nx, ny, nz);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3s(GLshort nx, GLshort ny, GLshort nz ) {
+  ENTER_GL();
+  glNormal3s(nx, ny, nz);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3bv(const GLbyte *v ) {
+  ENTER_GL();
+  glNormal3bv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3dv(const GLdouble *v ) {
+  ENTER_GL();
+  glNormal3dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3fv(const GLfloat *v ) {
+  ENTER_GL();
+  glNormal3fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3iv(const GLint *v ) {
+  ENTER_GL();
+  glNormal3iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3sv(const GLshort *v ) {
+  ENTER_GL();
+  glNormal3sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexd(GLdouble c ) {
+  ENTER_GL();
+  glIndexd(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexf(GLfloat c ) {
+  ENTER_GL();
+  glIndexf(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexi(GLint c ) {
+  ENTER_GL();
+  glIndexi(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexs(GLshort c ) {
+  ENTER_GL();
+  glIndexs(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexub(GLubyte c ) {
+  ENTER_GL();
+  glIndexub(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexdv(const GLdouble *c ) {
+  ENTER_GL();
+  glIndexdv(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexfv(const GLfloat *c ) {
+  ENTER_GL();
+  glIndexfv(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexiv(const GLint *c ) {
+  ENTER_GL();
+  glIndexiv(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexsv(const GLshort *c ) {
+  ENTER_GL();
+  glIndexsv(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexubv(const GLubyte *c ) {
+  ENTER_GL();
+  glIndexubv(c);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3b(GLbyte red, GLbyte green, GLbyte blue ) {
+  ENTER_GL();
+  glColor3b(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3d(GLdouble red, GLdouble green, GLdouble blue ) {
+  ENTER_GL();
+  glColor3d(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3f(GLfloat red, GLfloat green, GLfloat blue ) {
+  ENTER_GL();
+  glColor3f(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3i(GLint red, GLint green, GLint blue ) {
+  ENTER_GL();
+  glColor3i(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3s(GLshort red, GLshort green, GLshort blue ) {
+  ENTER_GL();
+  glColor3s(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3ub(GLubyte red, GLubyte green, GLubyte blue ) {
+  ENTER_GL();
+  glColor3ub(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3ui(GLuint red, GLuint green, GLuint blue ) {
+  ENTER_GL();
+  glColor3ui(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3us(GLushort red, GLushort green, GLushort blue ) {
+  ENTER_GL();
+  glColor3us(red, green, blue);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha ) {
+  ENTER_GL();
+  glColor4b(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha ) {
+  ENTER_GL();
+  glColor4d(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) {
+  ENTER_GL();
+  glColor4f(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4i(GLint red, GLint green, GLint blue, GLint alpha ) {
+  ENTER_GL();
+  glColor4i(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha ) {
+  ENTER_GL();
+  glColor4s(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) {
+  ENTER_GL();
+  glColor4ub(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha ) {
+  ENTER_GL();
+  glColor4ui(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha ) {
+  ENTER_GL();
+  glColor4us(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3bv(const GLbyte *v ) {
+  ENTER_GL();
+  glColor3bv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3dv(const GLdouble *v ) {
+  ENTER_GL();
+  glColor3dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3fv(const GLfloat *v ) {
+  ENTER_GL();
+  glColor3fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3iv(const GLint *v ) {
+  ENTER_GL();
+  glColor3iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3sv(const GLshort *v ) {
+  ENTER_GL();
+  glColor3sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3ubv(const GLubyte *v ) {
+  ENTER_GL();
+  glColor3ubv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3uiv(const GLuint *v ) {
+  ENTER_GL();
+  glColor3uiv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3usv(const GLushort *v ) {
+  ENTER_GL();
+  glColor3usv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4bv(const GLbyte *v ) {
+  ENTER_GL();
+  glColor4bv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4dv(const GLdouble *v ) {
+  ENTER_GL();
+  glColor4dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4fv(const GLfloat *v ) {
+  ENTER_GL();
+  glColor4fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4iv(const GLint *v ) {
+  ENTER_GL();
+  glColor4iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4sv(const GLshort *v ) {
+  ENTER_GL();
+  glColor4sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ubv(const GLubyte *v ) {
+  ENTER_GL();
+  glColor4ubv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4uiv(const GLuint *v ) {
+  ENTER_GL();
+  glColor4uiv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4usv(const GLushort *v ) {
+  ENTER_GL();
+  glColor4usv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1d(GLdouble s ) {
+  ENTER_GL();
+  glTexCoord1d(s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1f(GLfloat s ) {
+  ENTER_GL();
+  glTexCoord1f(s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1i(GLint s ) {
+  ENTER_GL();
+  glTexCoord1i(s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1s(GLshort s ) {
+  ENTER_GL();
+  glTexCoord1s(s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2d(GLdouble s, GLdouble t ) {
+  ENTER_GL();
+  glTexCoord2d(s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2f(GLfloat s, GLfloat t ) {
+  ENTER_GL();
+  glTexCoord2f(s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2i(GLint s, GLint t ) {
+  ENTER_GL();
+  glTexCoord2i(s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2s(GLshort s, GLshort t ) {
+  ENTER_GL();
+  glTexCoord2s(s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3d(GLdouble s, GLdouble t, GLdouble r ) {
+  ENTER_GL();
+  glTexCoord3d(s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3f(GLfloat s, GLfloat t, GLfloat r ) {
+  ENTER_GL();
+  glTexCoord3f(s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3i(GLint s, GLint t, GLint r ) {
+  ENTER_GL();
+  glTexCoord3i(s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3s(GLshort s, GLshort t, GLshort r ) {
+  ENTER_GL();
+  glTexCoord3s(s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q ) {
+  ENTER_GL();
+  glTexCoord4d(s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q ) {
+  ENTER_GL();
+  glTexCoord4f(s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4i(GLint s, GLint t, GLint r, GLint q ) {
+  ENTER_GL();
+  glTexCoord4i(s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q ) {
+  ENTER_GL();
+  glTexCoord4s(s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1dv(const GLdouble *v ) {
+  ENTER_GL();
+  glTexCoord1dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1fv(const GLfloat *v ) {
+  ENTER_GL();
+  glTexCoord1fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1iv(const GLint *v ) {
+  ENTER_GL();
+  glTexCoord1iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord1sv(const GLshort *v ) {
+  ENTER_GL();
+  glTexCoord1sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2dv(const GLdouble *v ) {
+  ENTER_GL();
+  glTexCoord2dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fv(const GLfloat *v ) {
+  ENTER_GL();
+  glTexCoord2fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2iv(const GLint *v ) {
+  ENTER_GL();
+  glTexCoord2iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2sv(const GLshort *v ) {
+  ENTER_GL();
+  glTexCoord2sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3dv(const GLdouble *v ) {
+  ENTER_GL();
+  glTexCoord3dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3fv(const GLfloat *v ) {
+  ENTER_GL();
+  glTexCoord3fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3iv(const GLint *v ) {
+  ENTER_GL();
+  glTexCoord3iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord3sv(const GLshort *v ) {
+  ENTER_GL();
+  glTexCoord3sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4dv(const GLdouble *v ) {
+  ENTER_GL();
+  glTexCoord4dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4fv(const GLfloat *v ) {
+  ENTER_GL();
+  glTexCoord4fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4iv(const GLint *v ) {
+  ENTER_GL();
+  glTexCoord4iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4sv(const GLshort *v ) {
+  ENTER_GL();
+  glTexCoord4sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2d(GLdouble x, GLdouble y ) {
+  ENTER_GL();
+  glRasterPos2d(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2f(GLfloat x, GLfloat y ) {
+  ENTER_GL();
+  glRasterPos2f(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2i(GLint x, GLint y ) {
+  ENTER_GL();
+  glRasterPos2i(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2s(GLshort x, GLshort y ) {
+  ENTER_GL();
+  glRasterPos2s(x, y);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3d(GLdouble x, GLdouble y, GLdouble z ) {
+  ENTER_GL();
+  glRasterPos3d(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3f(GLfloat x, GLfloat y, GLfloat z ) {
+  ENTER_GL();
+  glRasterPos3f(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3i(GLint x, GLint y, GLint z ) {
+  ENTER_GL();
+  glRasterPos3i(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3s(GLshort x, GLshort y, GLshort z ) {
+  ENTER_GL();
+  glRasterPos3s(x, y, z);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w ) {
+  ENTER_GL();
+  glRasterPos4d(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w ) {
+  ENTER_GL();
+  glRasterPos4f(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4i(GLint x, GLint y, GLint z, GLint w ) {
+  ENTER_GL();
+  glRasterPos4i(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w ) {
+  ENTER_GL();
+  glRasterPos4s(x, y, z, w);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2dv(const GLdouble *v ) {
+  ENTER_GL();
+  glRasterPos2dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2fv(const GLfloat *v ) {
+  ENTER_GL();
+  glRasterPos2fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2iv(const GLint *v ) {
+  ENTER_GL();
+  glRasterPos2iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos2sv(const GLshort *v ) {
+  ENTER_GL();
+  glRasterPos2sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3dv(const GLdouble *v ) {
+  ENTER_GL();
+  glRasterPos3dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3fv(const GLfloat *v ) {
+  ENTER_GL();
+  glRasterPos3fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3iv(const GLint *v ) {
+  ENTER_GL();
+  glRasterPos3iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos3sv(const GLshort *v ) {
+  ENTER_GL();
+  glRasterPos3sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4dv(const GLdouble *v ) {
+  ENTER_GL();
+  glRasterPos4dv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4fv(const GLfloat *v ) {
+  ENTER_GL();
+  glRasterPos4fv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4iv(const GLint *v ) {
+  ENTER_GL();
+  glRasterPos4iv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRasterPos4sv(const GLshort *v ) {
+  ENTER_GL();
+  glRasterPos4sv(v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 ) {
+  ENTER_GL();
+  glRectd(x1, y1, x2, y2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 ) {
+  ENTER_GL();
+  glRectf(x1, y1, x2, y2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRecti(GLint x1, GLint y1, GLint x2, GLint y2 ) {
+  ENTER_GL();
+  glRecti(x1, y1, x2, y2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2 ) {
+  ENTER_GL();
+  glRects(x1, y1, x2, y2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRectdv(const GLdouble *v1, const GLdouble *v2 ) {
+  ENTER_GL();
+  glRectdv(v1, v2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRectfv(const GLfloat *v1, const GLfloat *v2 ) {
+  ENTER_GL();
+  glRectfv(v1, v2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRectiv(const GLint *v1, const GLint *v2 ) {
+  ENTER_GL();
+  glRectiv(v1, v2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glRectsv(const GLshort *v1, const GLshort *v2 ) {
+  ENTER_GL();
+  glRectsv(v1, v2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ) {
+  ENTER_GL();
+  glVertexPointer(size, type, stride, ptr);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr ) {
+  ENTER_GL();
+  glNormalPointer(type, stride, ptr);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ) {
+  ENTER_GL();
+  glColorPointer(size, type, stride, ptr);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr ) {
+  ENTER_GL();
+  glIndexPointer(type, stride, ptr);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr ) {
+  ENTER_GL();
+  glTexCoordPointer(size, type, stride, ptr);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEdgeFlagPointer(GLsizei stride, const GLvoid *ptr ) {
+  ENTER_GL();
+  glEdgeFlagPointer(stride, ptr);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPointerv(GLenum pname, void **params ) {
+  ENTER_GL();
+  glGetPointerv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glArrayElement(GLint i ) {
+  ENTER_GL();
+  glArrayElement(i);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawArrays(GLenum mode, GLint first, GLsizei count ) {
+  ENTER_GL();
+  glDrawArrays(mode, first, count);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) {
+  ENTER_GL();
+  glDrawElements(mode, count, type, indices);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer ) {
+  ENTER_GL();
+  glInterleavedArrays(format, stride, pointer);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glShadeModel(GLenum mode ) {
+  ENTER_GL();
+  glShadeModel(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightf(GLenum light, GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glLightf(light, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLighti(GLenum light, GLenum pname, GLint param ) {
+  ENTER_GL();
+  glLighti(light, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightfv(GLenum light, GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glLightfv(light, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightiv(GLenum light, GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glLightiv(light, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetLightfv(GLenum light, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetLightfv(light, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetLightiv(GLenum light, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetLightiv(light, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightModelf(GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glLightModelf(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightModeli(GLenum pname, GLint param ) {
+  ENTER_GL();
+  glLightModeli(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightModelfv(GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glLightModelfv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLightModeliv(GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glLightModeliv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMaterialf(GLenum face, GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glMaterialf(face, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMateriali(GLenum face, GLenum pname, GLint param ) {
+  ENTER_GL();
+  glMateriali(face, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glMaterialfv(face, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMaterialiv(GLenum face, GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glMaterialiv(face, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetMaterialfv(face, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMaterialiv(GLenum face, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetMaterialiv(face, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorMaterial(GLenum face, GLenum mode ) {
+  ENTER_GL();
+  glColorMaterial(face, mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelZoom(GLfloat xfactor, GLfloat yfactor ) {
+  ENTER_GL();
+  glPixelZoom(xfactor, yfactor);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelStoref(GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glPixelStoref(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelStorei(GLenum pname, GLint param ) {
+  ENTER_GL();
+  glPixelStorei(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTransferf(GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glPixelTransferf(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTransferi(GLenum pname, GLint param ) {
+  ENTER_GL();
+  glPixelTransferi(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values ) {
+  ENTER_GL();
+  glPixelMapfv(map, mapsize, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values ) {
+  ENTER_GL();
+  glPixelMapuiv(map, mapsize, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values ) {
+  ENTER_GL();
+  glPixelMapusv(map, mapsize, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPixelMapfv(GLenum map, GLfloat *values ) {
+  ENTER_GL();
+  glGetPixelMapfv(map, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPixelMapuiv(GLenum map, GLuint *values ) {
+  ENTER_GL();
+  glGetPixelMapuiv(map, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPixelMapusv(GLenum map, GLushort *values ) {
+  ENTER_GL();
+  glGetPixelMapusv(map, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap ) {
+  ENTER_GL();
+  glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) {
+  ENTER_GL();
+  glReadPixels(x, y, width, height, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) {
+  ENTER_GL();
+  glDrawPixels(width, height, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type ) {
+  ENTER_GL();
+  glCopyPixels(x, y, width, height, type);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glStencilFunc(GLenum func, GLint ref, GLuint mask ) {
+  ENTER_GL();
+  glStencilFunc(func, ref, mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glStencilMask(GLuint mask ) {
+  ENTER_GL();
+  glStencilMask(mask);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass ) {
+  ENTER_GL();
+  glStencilOp(fail, zfail, zpass);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClearStencil(GLint s ) {
+  ENTER_GL();
+  glClearStencil(s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexGend(GLenum coord, GLenum pname, GLdouble param ) {
+  ENTER_GL();
+  glTexGend(coord, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexGenf(GLenum coord, GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glTexGenf(coord, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexGeni(GLenum coord, GLenum pname, GLint param ) {
+  ENTER_GL();
+  glTexGeni(coord, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexGendv(GLenum coord, GLenum pname, const GLdouble *params ) {
+  ENTER_GL();
+  glTexGendv(coord, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glTexGenfv(coord, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexGeniv(GLenum coord, GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glTexGeniv(coord, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params ) {
+  ENTER_GL();
+  glGetTexGendv(coord, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetTexGenfv(coord, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetTexGeniv(coord, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexEnvf(GLenum target, GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glTexEnvf(target, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexEnvi(GLenum target, GLenum pname, GLint param ) {
+  ENTER_GL();
+  glTexEnvi(target, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glTexEnvfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexEnviv(GLenum target, GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glTexEnviv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetTexEnvfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexEnviv(GLenum target, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetTexEnviv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexParameterf(GLenum target, GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glTexParameterf(target, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexParameteri(GLenum target, GLenum pname, GLint param ) {
+  ENTER_GL();
+  glTexParameteri(target, pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glTexParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexParameteriv(GLenum target, GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glTexParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) {
+  ENTER_GL();
+  glGetTexParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetTexParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetTexLevelParameterfv(target, level, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetTexLevelParameteriv(target, level, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexImage1D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) {
+  ENTER_GL();
+  glTexImage1D(target, level, internalFormat, width, border, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexImage2D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) {
+  ENTER_GL();
+  glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels ) {
+  ENTER_GL();
+  glGetTexImage(target, level, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGenTextures(GLsizei n, GLuint *textures ) {
+  ENTER_GL();
+  glGenTextures(n, textures);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDeleteTextures(GLsizei n, const GLuint *textures) {
+  ENTER_GL();
+  glDeleteTextures(n, textures);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBindTexture(GLenum target, GLuint texture ) {
+  ENTER_GL();
+  glBindTexture(target, texture);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities ) {
+  ENTER_GL();
+  glPrioritizeTextures(n, textures, priorities);
+  LEAVE_GL();
+}
+
+GLboolean WINAPI wine_glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences ) {
+  GLboolean ret;
+  ENTER_GL();
+  ret = glAreTexturesResident(n, textures, residences);
+  LEAVE_GL();
+  return ret;
+}
+
+GLboolean WINAPI wine_glIsTexture(GLuint texture ) {
+  GLboolean ret;
+  ENTER_GL();
+  ret = glIsTexture(texture);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels ) {
+  ENTER_GL();
+  glTexSubImage1D(target, level, xoffset, width, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) {
+  ENTER_GL();
+  glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border ) {
+  ENTER_GL();
+  glCopyTexImage1D(target, level, internalformat, x, y, width, border);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) {
+  ENTER_GL();
+  glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width ) {
+  ENTER_GL();
+  glCopyTexSubImage1D(target, level, xoffset, x, y, width);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
+  ENTER_GL();
+  glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points ) {
+  ENTER_GL();
+  glMap1d(target, u1, u2, stride, order, points);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points ) {
+  ENTER_GL();
+  glMap1f(target, u1, u2, stride, order, points);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points ) {
+  ENTER_GL();
+  glMap2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points ) {
+  ENTER_GL();
+  glMap2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMapdv(GLenum target, GLenum query, GLdouble *v ) {
+  ENTER_GL();
+  glGetMapdv(target, query, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMapfv(GLenum target, GLenum query, GLfloat *v ) {
+  ENTER_GL();
+  glGetMapfv(target, query, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMapiv(GLenum target, GLenum query, GLint *v ) {
+  ENTER_GL();
+  glGetMapiv(target, query, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord1d(GLdouble u ) {
+  ENTER_GL();
+  glEvalCoord1d(u);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord1f(GLfloat u ) {
+  ENTER_GL();
+  glEvalCoord1f(u);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord1dv(const GLdouble *u ) {
+  ENTER_GL();
+  glEvalCoord1dv(u);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord1fv(const GLfloat *u ) {
+  ENTER_GL();
+  glEvalCoord1fv(u);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord2d(GLdouble u, GLdouble v ) {
+  ENTER_GL();
+  glEvalCoord2d(u, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord2f(GLfloat u, GLfloat v ) {
+  ENTER_GL();
+  glEvalCoord2f(u, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord2dv(const GLdouble *u ) {
+  ENTER_GL();
+  glEvalCoord2dv(u);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalCoord2fv(const GLfloat *u ) {
+  ENTER_GL();
+  glEvalCoord2fv(u);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMapGrid1d(GLint un, GLdouble u1, GLdouble u2 ) {
+  ENTER_GL();
+  glMapGrid1d(un, u1, u2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMapGrid1f(GLint un, GLfloat u1, GLfloat u2 ) {
+  ENTER_GL();
+  glMapGrid1f(un, u1, u2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 ) {
+  ENTER_GL();
+  glMapGrid2d(un, u1, u2, vn, v1, v2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 ) {
+  ENTER_GL();
+  glMapGrid2f(un, u1, u2, vn, v1, v2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalPoint1(GLint i ) {
+  ENTER_GL();
+  glEvalPoint1(i);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalPoint2(GLint i, GLint j ) {
+  ENTER_GL();
+  glEvalPoint2(i, j);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalMesh1(GLenum mode, GLint i1, GLint i2 ) {
+  ENTER_GL();
+  glEvalMesh1(mode, i1, i2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 ) {
+  ENTER_GL();
+  glEvalMesh2(mode, i1, i2, j1, j2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogf(GLenum pname, GLfloat param ) {
+  ENTER_GL();
+  glFogf(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogi(GLenum pname, GLint param ) {
+  ENTER_GL();
+  glFogi(pname, param);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogfv(GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glFogfv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogiv(GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glFogiv(pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer ) {
+  ENTER_GL();
+  glFeedbackBuffer(size, type, buffer);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPassThrough(GLfloat token ) {
+  ENTER_GL();
+  glPassThrough(token);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSelectBuffer(GLsizei size, GLuint *buffer ) {
+  ENTER_GL();
+  glSelectBuffer(size, buffer);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glInitNames(void ) {
+  ENTER_GL();
+  glInitNames();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLoadName(GLuint name ) {
+  ENTER_GL();
+  glLoadName(name);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPushName(GLuint name ) {
+  ENTER_GL();
+  glPushName(name);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPopName(void ) {
+  ENTER_GL();
+  glPopName();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices ) {
+  ENTER_GL();
+  glDrawRangeElements(mode, start, end, count, type, indices);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexImage3D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) {
+  ENTER_GL();
+  glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) {
+  ENTER_GL();
+  glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ) {
+  ENTER_GL();
+  glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table ) {
+  ENTER_GL();
+  glColorTable(target, internalformat, width, format, type, table);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data ) {
+  ENTER_GL();
+  glColorSubTable(target, start, count, format, type, data);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) {
+  ENTER_GL();
+  glColorTableParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) {
+  ENTER_GL();
+  glColorTableParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ) {
+  ENTER_GL();
+  glCopyColorSubTable(target, start, x, y, width);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) {
+  ENTER_GL();
+  glCopyColorTable(target, internalformat, x, y, width);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table ) {
+  ENTER_GL();
+  glGetColorTable(target, format, type, table);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetColorTableParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetColorTableParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBlendEquation(GLenum mode ) {
+  ENTER_GL();
+  glBlendEquation(mode);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) {
+  ENTER_GL();
+  glBlendColor(red, green, blue, alpha);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ) {
+  ENTER_GL();
+  glHistogram(target, width, internalformat, sink);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glResetHistogram(GLenum target ) {
+  ENTER_GL();
+  glResetHistogram(target);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values ) {
+  ENTER_GL();
+  glGetHistogram(target, reset, format, type, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetHistogramParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetHistogramParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMinmax(GLenum target, GLenum internalformat, GLboolean sink ) {
+  ENTER_GL();
+  glMinmax(target, internalformat, sink);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glResetMinmax(GLenum target ) {
+  ENTER_GL();
+  glResetMinmax(target);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values ) {
+  ENTER_GL();
+  glGetMinmax(target, reset, format, types, values);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetMinmaxParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetMinmaxParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image ) {
+  ENTER_GL();
+  glConvolutionFilter1D(target, internalformat, width, format, type, image);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image ) {
+  ENTER_GL();
+  glConvolutionFilter2D(target, internalformat, width, height, format, type, image);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params ) {
+  ENTER_GL();
+  glConvolutionParameterf(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params ) {
+  ENTER_GL();
+  glConvolutionParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameteri(GLenum target, GLenum pname, GLint params ) {
+  ENTER_GL();
+  glConvolutionParameteri(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params ) {
+  ENTER_GL();
+  glConvolutionParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ) {
+  ENTER_GL();
+  glCopyConvolutionFilter1D(target, internalformat, x, y, width);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) {
+  ENTER_GL();
+  glCopyConvolutionFilter2D(target, internalformat, x, y, width, height);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image ) {
+  ENTER_GL();
+  glGetConvolutionFilter(target, format, type, image);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params ) {
+  ENTER_GL();
+  glGetConvolutionParameterfv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params ) {
+  ENTER_GL();
+  glGetConvolutionParameteriv(target, pname, params);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column ) {
+  ENTER_GL();
+  glSeparableFilter2D(target, internalformat, width, height, format, type, row, column);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span ) {
+  ENTER_GL();
+  glGetSeparableFilter(target, format, type, row, column, span);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glActiveTextureARB(GLenum texture) {
+  ENTER_GL();
+  glActiveTextureARB(texture);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glClientActiveTextureARB(GLenum texture) {
+  ENTER_GL();
+  glClientActiveTextureARB(texture);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1dARB(GLenum target, GLdouble s) {
+  ENTER_GL();
+  glMultiTexCoord1dARB(target, s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1dvARB(GLenum target, const GLdouble *v) {
+  ENTER_GL();
+  glMultiTexCoord1dvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1fARB(GLenum target, GLfloat s) {
+  ENTER_GL();
+  glMultiTexCoord1fARB(target, s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1fvARB(GLenum target, const GLfloat *v) {
+  ENTER_GL();
+  glMultiTexCoord1fvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1iARB(GLenum target, GLint s) {
+  ENTER_GL();
+  glMultiTexCoord1iARB(target, s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1ivARB(GLenum target, const GLint *v) {
+  ENTER_GL();
+  glMultiTexCoord1ivARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1sARB(GLenum target, GLshort s) {
+  ENTER_GL();
+  glMultiTexCoord1sARB(target, s);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord1svARB(GLenum target, const GLshort *v) {
+  ENTER_GL();
+  glMultiTexCoord1svARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) {
+  ENTER_GL();
+  glMultiTexCoord2dARB(target, s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2dvARB(GLenum target, const GLdouble *v) {
+  ENTER_GL();
+  glMultiTexCoord2dvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t) {
+  ENTER_GL();
+  glMultiTexCoord2fARB(target, s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2fvARB(GLenum target, const GLfloat *v) {
+  ENTER_GL();
+  glMultiTexCoord2fvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2iARB(GLenum target, GLint s, GLint t) {
+  ENTER_GL();
+  glMultiTexCoord2iARB(target, s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2ivARB(GLenum target, const GLint *v) {
+  ENTER_GL();
+  glMultiTexCoord2ivARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) {
+  ENTER_GL();
+  glMultiTexCoord2sARB(target, s, t);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord2svARB(GLenum target, const GLshort *v) {
+  ENTER_GL();
+  glMultiTexCoord2svARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) {
+  ENTER_GL();
+  glMultiTexCoord3dARB(target, s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3dvARB(GLenum target, const GLdouble *v) {
+  ENTER_GL();
+  glMultiTexCoord3dvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r) {
+  ENTER_GL();
+  glMultiTexCoord3fARB(target, s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3fvARB(GLenum target, const GLfloat *v) {
+  ENTER_GL();
+  glMultiTexCoord3fvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) {
+  ENTER_GL();
+  glMultiTexCoord3iARB(target, s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3ivARB(GLenum target, const GLint *v) {
+  ENTER_GL();
+  glMultiTexCoord3ivARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) {
+  ENTER_GL();
+  glMultiTexCoord3sARB(target, s, t, r);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord3svARB(GLenum target, const GLshort *v) {
+  ENTER_GL();
+  glMultiTexCoord3svARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) {
+  ENTER_GL();
+  glMultiTexCoord4dARB(target, s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4dvARB(GLenum target, const GLdouble *v) {
+  ENTER_GL();
+  glMultiTexCoord4dvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) {
+  ENTER_GL();
+  glMultiTexCoord4fARB(target, s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4fvARB(GLenum target, const GLfloat *v) {
+  ENTER_GL();
+  glMultiTexCoord4fvARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) {
+  ENTER_GL();
+  glMultiTexCoord4iARB(target, s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4ivARB(GLenum target, const GLint *v) {
+  ENTER_GL();
+  glMultiTexCoord4ivARB(target, v);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) {
+  ENTER_GL();
+  glMultiTexCoord4sARB(target, s, t, r, q);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiTexCoord4svARB(GLenum target, const GLshort *v) {
+  ENTER_GL();
+  glMultiTexCoord4svARB(target, v);
+  LEAVE_GL();
+}
+