Added support for OpenGL.

diff --git a/dlls/opengl32/.cvsignore b/dlls/opengl32/.cvsignore
new file mode 100644
index 0000000..bb5bba0
--- /dev/null
+++ b/dlls/opengl32/.cvsignore
@@ -0,0 +1,3 @@
+*.spec.c
+Makefile
+libopengl32.so.1.0
diff --git a/dlls/opengl32/Makefile.in b/dlls/opengl32/Makefile.in
new file mode 100644
index 0000000..9c22e9c
--- /dev/null
+++ b/dlls/opengl32/Makefile.in
@@ -0,0 +1,20 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = opengl32
+SOVERSION = 1.0
+IMPORTS   = \
+	x11drv \
+	gdi32
+
+SPEC_SRCS = opengl32.spec
+
+C_SRCS = \
+	wgl.c \
+	opengl_norm.c \
+	opengl_ext.c
+
+@MAKE_DLL_RULES@
+
+### Dependencies:
diff --git a/dlls/opengl32/make_opengl_ext b/dlls/opengl32/make_opengl_ext
new file mode 100755
index 0000000..16a9548
--- /dev/null
+++ b/dlls/opengl32/make_opengl_ext
@@ -0,0 +1,145 @@
+#!/usr/bin/perl -w
+
+print "
+/* Auto-generated file... Do not edit ! */
+
+#include \"config.h\"
+#include \"wine_gl.h\"
+
+#include \"opengl_ext.h\"
+
+";
+
+#
+# First, create a hash-table with all function defined in opengl32.spec
+#
+%opengl_std = ();
+open(SPEC, "dlls/opengl32/opengl32.spec") || die "Could not open spec file";
+foreach (<SPEC>) {
+    if (($_ =~ /@/) && ($_ !~ /wgl/)) {
+	($name) = ($_ =~ /stdcall (\w*)\(/);
+	$opengl_std{$name} = 1;
+    }
+}
+close(SPEC);
+
+#
+# Now, the functions from the include file
+#
+%opengl_ext = ();
+open(INC, "/home/ulmer/OpenGL/glext_proto.h") || die "Could not open GL/glext.h";
+while ($line = <INC>) {
+    if ($line =~ /extern.*APIENTRY/) {
+	# Start of a function declaration
+	($ret, $name, $args) = ($line =~ /extern (\w*) APIENTRY *(\w*) *\((.*)\)/);
+	
+	# Now, remove all function already defined in opengl32.spec
+	if ($opengl_std{$name}) {
+	    # Do nothing as we already have these functions
+	} else {
+	    # Now, get the typedef name (the line after)
+	    ($typedef_name) = (<INC> =~ /\(APIENTRY *\* *(\w*) *\)/);
+
+	    # After that, parse the arguments
+	    @args = split /,/, $args;
+	    $args_ref = [];
+	    foreach (@args) {
+		push @$args_ref, $_;
+	    }
+	    $opengl_ext{$name} = [ $ret, $typedef_name, $args_ref ];
+	}
+    }
+}
+close(INC);
+
+#
+# After that, generate the file itself....
+#
+print "/* These will be filled during a wglGetProcAddress call */\n";
+$num = 0;
+foreach $name (sort keys(%opengl_ext)) {
+    $ref = $opengl_ext{$name};
+    $arg_ref = $$ref[2];
+    @larg = @$arg_ref;
+
+    print "$$ref[0] (*func_$name)(";
+    $farg = shift @larg;
+    print "$farg";
+    foreach (@larg) {
+	print ", $_";
+    }    
+    print ") = (void *) 0xdeadbeef;\n";
+    $num++;
+}
+print "\n";
+
+print "/* The function prototypes */\n";
+foreach $name (sort keys(%opengl_ext)) {
+    $ref = $opengl_ext{$name};
+    $arg_ref = $$ref[2];
+    @larg = @$arg_ref;
+    print "$$ref[0] WINAPI wine_$name(";
+
+    $farg = shift @larg;
+    print "$farg";
+    foreach (@larg) {
+	print ", $_";
+    }
+    print ") ;\n";
+}
+print "\n";
+
+
+print "/* The table giving the correspondance between names and functions */\n";
+print "int extension_registry_size = $num;\n";
+print "OpenGL_extension extension_registry[] = {\n";
+foreach $name (sort keys(%opengl_ext)) {
+    $num--;
+    print "  { \"$name\", (void *) wine_$name, (void **) (&func_$name) }";
+    if ($num) {
+	print ",";
+    }
+    print "\n";
+}
+print "};\n";
+print "\n";
+
+print "/* Now, the function declarations */\n";
+foreach $name (sort keys(%opengl_ext)) {
+    $ref = $opengl_ext{$name};
+    $arg_ref = $$ref[2];
+    print "$$ref[0] WINAPI wine_$name(";
+
+    $farg = shift @$arg_ref;
+    $num = 0;
+    if ($farg !~ /void/) {
+	print "$farg arg_0";
+	$num++;
+	foreach (@$arg_ref) {
+	    print ", $_ arg_$num";
+	    $num++;
+	}
+    }
+    print ") {\n";
+    if ($$ref[0] !~ /void/) {
+	print "  $$ref[0] ret;\n"
+    }
+    print "  ENTER_GL();\n";
+    print "  ";
+    if ($$ref[0] !~ /void/) {
+	print "  ret = ";
+    }
+    print "func_$name(";
+    if ($num > 0) {
+	print "arg_0";
+	for ($i = 1; $i < $num; $i++) {
+	    print ", arg_$i";
+	}
+    }
+    print ");\n";
+    print "  LEAVE_GL();\n";
+    if ($$ref[0] !~ /void/) {
+	print "  return ret;\n"
+    }
+    print "}\n\n";
+}
diff --git a/dlls/opengl32/make_opengl_norm b/dlls/opengl32/make_opengl_norm
new file mode 100755
index 0000000..322e5c2
--- /dev/null
+++ b/dlls/opengl32/make_opengl_norm
@@ -0,0 +1,91 @@
+#!/usr/bin/perl -w
+
+print "
+/* Auto-generated file... Do not edit ! */
+
+#include \"config.h\"
+#include \"wine_gl.h\"
+
+
+";
+
+#
+# Now, the functions from the include file
+#
+open(INC, "/usr/X11R6/include/GL/gl.h") || die "Could not open GL/gl.h";
+while ($line = <INC>) {
+    if ($line =~ /GLAPI.*GLAPIENTRY/) {
+	# Start of a function declaration
+	($ret, $name, $args) = ($line =~ /GLAPI (.*) GLAPIENTRY *(.*)\((.*)/);
+	
+	# Remove all extensions except the multitexture one (see OpenGL ABI)
+	if (($name !~ /(MESA|PGI|ARB|EXT)/) ||
+	    ($name =~ /MultiTexCoord/) ||
+	    ($name =~ /ActiveTextureARB/)) {
+	    print "$ret WINAPI wine_$name(";
+	    @rargs = ();
+	    @names = ();
+
+	    # Now, get the parameters
+	    while (1) {
+		@args = split /,|\)/, $args;
+
+		foreach (@args) {
+		    if ($_ =~ /[a-z,A-Z]/) {
+			($a) = ($_ =~ /^\s*(.*)\s*$/);
+			if ($a =~ /\*\*/) {
+			    ($var) = ($a =~ /\*\*(\w*)/);
+			} elsif ($a =~ /\*/) {
+			    ($var) = ($a =~ /\*(\w*)/);
+			} else {
+			    ($var) = ($a =~ /\s(\w*)/);
+			}
+			@rargs = (@rargs, $a);
+			if ($var !~ /void/) {
+			    @names = (@names, $var);
+			}
+		    }
+		}
+
+		if ($args !~ /\)/) {
+		    $args = <INC>;
+		} else {
+		    last;
+		}
+	    }
+
+	    print shift @rargs;
+	    foreach (@rargs) {
+		print ", $_";
+	    }
+	    print ") {\n";
+	    if ($ret !~ /void/) {
+		print "  $ret ret;\n";
+	    }
+	    print "  ENTER_GL();\n";
+	    if ($ret !~ /void/) {
+		print "  ret = ";
+	    } else {
+		print "  ";
+	    }
+	    print "$name(";
+
+	    $farg = shift @names;
+	    if ($farg) {
+		print "$farg";
+
+		foreach (@names) {
+		    print ", $_";
+		}
+	    }
+	    print ");\n";
+	    print "  LEAVE_GL();\n";
+	    if ($ret !~ /void/) {
+		print "  return ret;\n";
+	    }
+	    print "}\n\n";
+	}
+    }
+}
+
+close(INC);
diff --git a/dlls/opengl32/make_opengl_spec b/dlls/opengl32/make_opengl_spec
new file mode 100755
index 0000000..5858a99
--- /dev/null
+++ b/dlls/opengl32/make_opengl_spec
@@ -0,0 +1,86 @@
+#!/usr/bin/perl -w
+
+#
+# First, the basics and the wgl functions
+#
+print "
+name opengl32
+type win32
+
+@  stdcall wglCreateContext(long) wglCreateContext
+@  stdcall wglCreateLayerContext(long long) wglCreateLayerContext
+@  stdcall wglCopyContext(long long long) wglCopyContext
+@  stdcall wglDeleteContext(long) wglDeleteContext
+@  stdcall wglDescribeLayerPlane(long long long long ptr) wglDescribeLayerPlane
+@  stdcall wglGetCurrentContext() wglGetCurrentContext
+@  stdcall wglGetCurrentDC() wglGetCurrentDC
+@  stdcall wglGetLayerPaletteEntries(long long long long ptr) wglGetLayerPaletteEntries
+@  stdcall wglGetProcAddress(str) wglGetProcAddress
+@  stdcall wglMakeCurrent(long long) wglMakeCurrent
+@  stdcall wglRealizeLayerPalette(long long long) wglRealizeLayerPalette
+@  stdcall wglSetLayerPaletteEntries(long long long long ptr) wglSetLayerPaletteEntries
+@  stdcall wglShareLists(long long) wglShareLists
+@  stdcall wglSwapLayerBuffers(long long) wglSwapLayerBuffers
+@  stdcall wglUseFontBitmaps(long long long long) wglUseFontBitmaps
+@  stdcall wglUseFontOutlines(long long long long long long long) wglUseFontOutlines
+@  stub    glGetLevelParameterfv
+@  stub    glGetLevelParameteriv
+@  stub    wglUseFontBitmapsA
+@  stub    wglUseFontOutlinesA
+@  forward wglChoosePixelFormat GDI32.ChoosePixelFormat
+@  forward wglDescribePixelFormat GDI32.DescribePixelFormat
+@  forward wglGetPixelFormat GDI32.GetPixelFormat
+@  forward wglSetPixelFormat GDI32.SetPixelFormat
+@  forward wglSwapBuffers GDI32.SwapBuffers
+";
+
+#
+# Now, the functions from the include file
+#
+open(INC, "/usr/X11R6/include/GL/gl.h") || die "Could not open GL/gl.h";
+
+while ($line = <INC>) {
+    if ($line =~ /GLAPI.*GLAPIENTRY/) {
+	# Start of a function declaration
+	($name, $args) = ($line =~ /GLAPIENTRY *(.*)\((.*)/);
+	
+	# Remove all extensions except the multitexture one (see OpenGL ABI)
+	if (($name !~ /(MESA|PGI|ARB|EXT)/) ||
+	    ($name =~ /MultiTexCoord/) ||
+	    ($name =~ /ActiveTextureARB/)) {
+	    print "@  stdcall $name(";
+
+	    # Now, get the parameters
+	    while (1) {
+		@args = split /,/, $args;
+
+		foreach (@args) {
+		    if ($_ =~ /\)/) {
+			($_) = ($_ =~ /(.*)\)/);
+		    }
+
+		    if ($_ =~ /\*/) {
+			print "ptr ";
+		    } elsif ($_ =~ /[a-zA-Z]/) {
+			($type) = ($_ =~ /^ *(.*) +.*/);
+			if ($type =~ /double/) {
+			    print "double ";
+			} elsif ($type !~ /void/) {
+			    print "long ";
+			}
+		    }
+		}
+
+		if ($args !~ /\)/) {
+		    $args = <INC>;
+		} else {
+		    last;
+		}
+	    }
+	    
+	    print ") wine_$name\n";
+	}
+    }
+}
+
+close(INC);
diff --git a/dlls/opengl32/opengl32.spec b/dlls/opengl32/opengl32.spec
new file mode 100644
index 0000000..f28f7bc
--- /dev/null
+++ b/dlls/opengl32/opengl32.spec
@@ -0,0 +1,437 @@
+
+name opengl32
+type win32
+
+@  stdcall wglCreateContext(long) wglCreateContext
+@  stdcall wglCreateLayerContext(long long) wglCreateLayerContext
+@  stdcall wglCopyContext(long long long) wglCopyContext
+@  stdcall wglDeleteContext(long) wglDeleteContext
+@  stdcall wglDescribeLayerPlane(long long long long ptr) wglDescribeLayerPlane
+@  stdcall wglGetCurrentContext() wglGetCurrentContext
+@  stdcall wglGetCurrentDC() wglGetCurrentDC
+@  stdcall wglGetLayerPaletteEntries(long long long long ptr) wglGetLayerPaletteEntries
+@  stdcall wglGetProcAddress(str) wglGetProcAddress
+@  stdcall wglMakeCurrent(long long) wglMakeCurrent
+@  stdcall wglRealizeLayerPalette(long long long) wglRealizeLayerPalette
+@  stdcall wglSetLayerPaletteEntries(long long long long ptr) wglSetLayerPaletteEntries
+@  stdcall wglShareLists(long long) wglShareLists
+@  stdcall wglSwapLayerBuffers(long long) wglSwapLayerBuffers
+@  stdcall wglUseFontBitmaps(long long long long) wglUseFontBitmaps
+@  stdcall wglUseFontOutlines(long long long long long long long) wglUseFontOutlines
+@  stub    glGetLevelParameterfv
+@  stub    glGetLevelParameteriv
+@  stub    wglUseFontBitmapsA
+@  stub    wglUseFontOutlinesA
+@  forward wglChoosePixelFormat GDI32.ChoosePixelFormat
+@  forward wglDescribePixelFormat GDI32.DescribePixelFormat
+@  forward wglGetPixelFormat GDI32.GetPixelFormat
+@  forward wglSetPixelFormat GDI32.SetPixelFormat
+@  forward wglSwapBuffers GDI32.SwapBuffers
+@  stdcall glClearIndex(long ) wine_glClearIndex
+@  stdcall glClearColor(long long long long ) wine_glClearColor
+@  stdcall glClear(long ) wine_glClear
+@  stdcall glIndexMask(long ) wine_glIndexMask
+@  stdcall glColorMask(long long long long ) wine_glColorMask
+@  stdcall glAlphaFunc(long long ) wine_glAlphaFunc
+@  stdcall glBlendFunc(long long ) wine_glBlendFunc
+@  stdcall glLogicOp(long ) wine_glLogicOp
+@  stdcall glCullFace(long ) wine_glCullFace
+@  stdcall glFrontFace(long ) wine_glFrontFace
+@  stdcall glPointSize(long ) wine_glPointSize
+@  stdcall glLineWidth(long ) wine_glLineWidth
+@  stdcall glLineStipple(long long ) wine_glLineStipple
+@  stdcall glPolygonMode(long long ) wine_glPolygonMode
+@  stdcall glPolygonOffset(long long ) wine_glPolygonOffset
+@  stdcall glPolygonStipple(ptr ) wine_glPolygonStipple
+@  stdcall glGetPolygonStipple(ptr ) wine_glGetPolygonStipple
+@  stdcall glEdgeFlag(long ) wine_glEdgeFlag
+@  stdcall glEdgeFlagv(ptr ) wine_glEdgeFlagv
+@  stdcall glScissor(long long long long ) wine_glScissor
+@  stdcall glClipPlane(long ptr ) wine_glClipPlane
+@  stdcall glGetClipPlane(long ptr ) wine_glGetClipPlane
+@  stdcall glDrawBuffer(long ) wine_glDrawBuffer
+@  stdcall glReadBuffer(long ) wine_glReadBuffer
+@  stdcall glEnable(long ) wine_glEnable
+@  stdcall glDisable(long ) wine_glDisable
+@  stdcall glIsEnabled(long ) wine_glIsEnabled
+@  stdcall glEnableClientState(long ) wine_glEnableClientState
+@  stdcall glDisableClientState(long ) wine_glDisableClientState
+@  stdcall glGetBooleanv(long ptr ) wine_glGetBooleanv
+@  stdcall glGetDoublev(long ptr ) wine_glGetDoublev
+@  stdcall glGetFloatv(long ptr ) wine_glGetFloatv
+@  stdcall glGetIntegerv(long ptr ) wine_glGetIntegerv
+@  stdcall glPushAttrib(long ) wine_glPushAttrib
+@  stdcall glPopAttrib() wine_glPopAttrib
+@  stdcall glPushClientAttrib(long ) wine_glPushClientAttrib
+@  stdcall glPopClientAttrib() wine_glPopClientAttrib
+@  stdcall glRenderMode(long ) wine_glRenderMode
+@  stdcall glGetError() wine_glGetError
+@  stdcall glGetString(long ) wine_glGetString
+@  stdcall glFinish() wine_glFinish
+@  stdcall glFlush() wine_glFlush
+@  stdcall glHint(long long ) wine_glHint
+@  stdcall glClearDepth(long ) wine_glClearDepth
+@  stdcall glDepthFunc(long ) wine_glDepthFunc
+@  stdcall glDepthMask(long ) wine_glDepthMask
+@  stdcall glDepthRange(long long ) wine_glDepthRange
+@  stdcall glClearAccum(long long long long ) wine_glClearAccum
+@  stdcall glAccum(long long ) wine_glAccum
+@  stdcall glMatrixMode(long ) wine_glMatrixMode
+@  stdcall glOrtho(double double double double double double ) wine_glOrtho
+@  stdcall glFrustum(double double double double double double ) wine_glFrustum
+@  stdcall glViewport(long long long long ) wine_glViewport
+@  stdcall glPushMatrix() wine_glPushMatrix
+@  stdcall glPopMatrix() wine_glPopMatrix
+@  stdcall glLoadIdentity() wine_glLoadIdentity
+@  stdcall glLoadMatrixd(ptr ) wine_glLoadMatrixd
+@  stdcall glLoadMatrixf(ptr ) wine_glLoadMatrixf
+@  stdcall glMultMatrixd(ptr ) wine_glMultMatrixd
+@  stdcall glMultMatrixf(ptr ) wine_glMultMatrixf
+@  stdcall glRotated(double double double double ) wine_glRotated
+@  stdcall glRotatef(long long long long ) wine_glRotatef
+@  stdcall glScaled(double double double ) wine_glScaled
+@  stdcall glScalef(long long long ) wine_glScalef
+@  stdcall glTranslated(double double double ) wine_glTranslated
+@  stdcall glTranslatef(long long long ) wine_glTranslatef
+@  stdcall glIsList(long ) wine_glIsList
+@  stdcall glDeleteLists(long long ) wine_glDeleteLists
+@  stdcall glGenLists(long ) wine_glGenLists
+@  stdcall glNewList(long long ) wine_glNewList
+@  stdcall glEndList() wine_glEndList
+@  stdcall glCallList(long ) wine_glCallList
+@  stdcall glCallLists(long long ptr ) wine_glCallLists
+@  stdcall glListBase(long ) wine_glListBase
+@  stdcall glBegin(long ) wine_glBegin
+@  stdcall glEnd() wine_glEnd
+@  stdcall glVertex2d(double double ) wine_glVertex2d
+@  stdcall glVertex2f(long long ) wine_glVertex2f
+@  stdcall glVertex2i(long long ) wine_glVertex2i
+@  stdcall glVertex2s(long long ) wine_glVertex2s
+@  stdcall glVertex3d(double double double ) wine_glVertex3d
+@  stdcall glVertex3f(long long long ) wine_glVertex3f
+@  stdcall glVertex3i(long long long ) wine_glVertex3i
+@  stdcall glVertex3s(long long long ) wine_glVertex3s
+@  stdcall glVertex4d(double double double double ) wine_glVertex4d
+@  stdcall glVertex4f(long long long long ) wine_glVertex4f
+@  stdcall glVertex4i(long long long long ) wine_glVertex4i
+@  stdcall glVertex4s(long long long long ) wine_glVertex4s
+@  stdcall glVertex2dv(ptr ) wine_glVertex2dv
+@  stdcall glVertex2fv(ptr ) wine_glVertex2fv
+@  stdcall glVertex2iv(ptr ) wine_glVertex2iv
+@  stdcall glVertex2sv(ptr ) wine_glVertex2sv
+@  stdcall glVertex3dv(ptr ) wine_glVertex3dv
+@  stdcall glVertex3fv(ptr ) wine_glVertex3fv
+@  stdcall glVertex3iv(ptr ) wine_glVertex3iv
+@  stdcall glVertex3sv(ptr ) wine_glVertex3sv
+@  stdcall glVertex4dv(ptr ) wine_glVertex4dv
+@  stdcall glVertex4fv(ptr ) wine_glVertex4fv
+@  stdcall glVertex4iv(ptr ) wine_glVertex4iv
+@  stdcall glVertex4sv(ptr ) wine_glVertex4sv
+@  stdcall glNormal3b(long long long ) wine_glNormal3b
+@  stdcall glNormal3d(double double double ) wine_glNormal3d
+@  stdcall glNormal3f(long long long ) wine_glNormal3f
+@  stdcall glNormal3i(long long long ) wine_glNormal3i
+@  stdcall glNormal3s(long long long ) wine_glNormal3s
+@  stdcall glNormal3bv(ptr ) wine_glNormal3bv
+@  stdcall glNormal3dv(ptr ) wine_glNormal3dv
+@  stdcall glNormal3fv(ptr ) wine_glNormal3fv
+@  stdcall glNormal3iv(ptr ) wine_glNormal3iv
+@  stdcall glNormal3sv(ptr ) wine_glNormal3sv
+@  stdcall glIndexd(double ) wine_glIndexd
+@  stdcall glIndexf(long ) wine_glIndexf
+@  stdcall glIndexi(long ) wine_glIndexi
+@  stdcall glIndexs(long ) wine_glIndexs
+@  stdcall glIndexub(long ) wine_glIndexub
+@  stdcall glIndexdv(ptr ) wine_glIndexdv
+@  stdcall glIndexfv(ptr ) wine_glIndexfv
+@  stdcall glIndexiv(ptr ) wine_glIndexiv
+@  stdcall glIndexsv(ptr ) wine_glIndexsv
+@  stdcall glIndexubv(ptr ) wine_glIndexubv
+@  stdcall glColor3b(long long long ) wine_glColor3b
+@  stdcall glColor3d(double double double ) wine_glColor3d
+@  stdcall glColor3f(long long long ) wine_glColor3f
+@  stdcall glColor3i(long long long ) wine_glColor3i
+@  stdcall glColor3s(long long long ) wine_glColor3s
+@  stdcall glColor3ub(long long long ) wine_glColor3ub
+@  stdcall glColor3ui(long long long ) wine_glColor3ui
+@  stdcall glColor3us(long long long ) wine_glColor3us
+@  stdcall glColor4b(long long long long ) wine_glColor4b
+@  stdcall glColor4d(double double double double ) wine_glColor4d
+@  stdcall glColor4f(long long long long ) wine_glColor4f
+@  stdcall glColor4i(long long long long ) wine_glColor4i
+@  stdcall glColor4s(long long long long ) wine_glColor4s
+@  stdcall glColor4ub(long long long long ) wine_glColor4ub
+@  stdcall glColor4ui(long long long long ) wine_glColor4ui
+@  stdcall glColor4us(long long long long ) wine_glColor4us
+@  stdcall glColor3bv(ptr ) wine_glColor3bv
+@  stdcall glColor3dv(ptr ) wine_glColor3dv
+@  stdcall glColor3fv(ptr ) wine_glColor3fv
+@  stdcall glColor3iv(ptr ) wine_glColor3iv
+@  stdcall glColor3sv(ptr ) wine_glColor3sv
+@  stdcall glColor3ubv(ptr ) wine_glColor3ubv
+@  stdcall glColor3uiv(ptr ) wine_glColor3uiv
+@  stdcall glColor3usv(ptr ) wine_glColor3usv
+@  stdcall glColor4bv(ptr ) wine_glColor4bv
+@  stdcall glColor4dv(ptr ) wine_glColor4dv
+@  stdcall glColor4fv(ptr ) wine_glColor4fv
+@  stdcall glColor4iv(ptr ) wine_glColor4iv
+@  stdcall glColor4sv(ptr ) wine_glColor4sv
+@  stdcall glColor4ubv(ptr ) wine_glColor4ubv
+@  stdcall glColor4uiv(ptr ) wine_glColor4uiv
+@  stdcall glColor4usv(ptr ) wine_glColor4usv
+@  stdcall glTexCoord1d(double ) wine_glTexCoord1d
+@  stdcall glTexCoord1f(long ) wine_glTexCoord1f
+@  stdcall glTexCoord1i(long ) wine_glTexCoord1i
+@  stdcall glTexCoord1s(long ) wine_glTexCoord1s
+@  stdcall glTexCoord2d(double double ) wine_glTexCoord2d
+@  stdcall glTexCoord2f(long long ) wine_glTexCoord2f
+@  stdcall glTexCoord2i(long long ) wine_glTexCoord2i
+@  stdcall glTexCoord2s(long long ) wine_glTexCoord2s
+@  stdcall glTexCoord3d(double double double ) wine_glTexCoord3d
+@  stdcall glTexCoord3f(long long long ) wine_glTexCoord3f
+@  stdcall glTexCoord3i(long long long ) wine_glTexCoord3i
+@  stdcall glTexCoord3s(long long long ) wine_glTexCoord3s
+@  stdcall glTexCoord4d(double double double double ) wine_glTexCoord4d
+@  stdcall glTexCoord4f(long long long long ) wine_glTexCoord4f
+@  stdcall glTexCoord4i(long long long long ) wine_glTexCoord4i
+@  stdcall glTexCoord4s(long long long long ) wine_glTexCoord4s
+@  stdcall glTexCoord1dv(ptr ) wine_glTexCoord1dv
+@  stdcall glTexCoord1fv(ptr ) wine_glTexCoord1fv
+@  stdcall glTexCoord1iv(ptr ) wine_glTexCoord1iv
+@  stdcall glTexCoord1sv(ptr ) wine_glTexCoord1sv
+@  stdcall glTexCoord2dv(ptr ) wine_glTexCoord2dv
+@  stdcall glTexCoord2fv(ptr ) wine_glTexCoord2fv
+@  stdcall glTexCoord2iv(ptr ) wine_glTexCoord2iv
+@  stdcall glTexCoord2sv(ptr ) wine_glTexCoord2sv
+@  stdcall glTexCoord3dv(ptr ) wine_glTexCoord3dv
+@  stdcall glTexCoord3fv(ptr ) wine_glTexCoord3fv
+@  stdcall glTexCoord3iv(ptr ) wine_glTexCoord3iv
+@  stdcall glTexCoord3sv(ptr ) wine_glTexCoord3sv
+@  stdcall glTexCoord4dv(ptr ) wine_glTexCoord4dv
+@  stdcall glTexCoord4fv(ptr ) wine_glTexCoord4fv
+@  stdcall glTexCoord4iv(ptr ) wine_glTexCoord4iv
+@  stdcall glTexCoord4sv(ptr ) wine_glTexCoord4sv
+@  stdcall glRasterPos2d(double double ) wine_glRasterPos2d
+@  stdcall glRasterPos2f(long long ) wine_glRasterPos2f
+@  stdcall glRasterPos2i(long long ) wine_glRasterPos2i
+@  stdcall glRasterPos2s(long long ) wine_glRasterPos2s
+@  stdcall glRasterPos3d(double double double ) wine_glRasterPos3d
+@  stdcall glRasterPos3f(long long long ) wine_glRasterPos3f
+@  stdcall glRasterPos3i(long long long ) wine_glRasterPos3i
+@  stdcall glRasterPos3s(long long long ) wine_glRasterPos3s
+@  stdcall glRasterPos4d(double double double double ) wine_glRasterPos4d
+@  stdcall glRasterPos4f(long long long long ) wine_glRasterPos4f
+@  stdcall glRasterPos4i(long long long long ) wine_glRasterPos4i
+@  stdcall glRasterPos4s(long long long long ) wine_glRasterPos4s
+@  stdcall glRasterPos2dv(ptr ) wine_glRasterPos2dv
+@  stdcall glRasterPos2fv(ptr ) wine_glRasterPos2fv
+@  stdcall glRasterPos2iv(ptr ) wine_glRasterPos2iv
+@  stdcall glRasterPos2sv(ptr ) wine_glRasterPos2sv
+@  stdcall glRasterPos3dv(ptr ) wine_glRasterPos3dv
+@  stdcall glRasterPos3fv(ptr ) wine_glRasterPos3fv
+@  stdcall glRasterPos3iv(ptr ) wine_glRasterPos3iv
+@  stdcall glRasterPos3sv(ptr ) wine_glRasterPos3sv
+@  stdcall glRasterPos4dv(ptr ) wine_glRasterPos4dv
+@  stdcall glRasterPos4fv(ptr ) wine_glRasterPos4fv
+@  stdcall glRasterPos4iv(ptr ) wine_glRasterPos4iv
+@  stdcall glRasterPos4sv(ptr ) wine_glRasterPos4sv
+@  stdcall glRectd(double double double double ) wine_glRectd
+@  stdcall glRectf(long long long long ) wine_glRectf
+@  stdcall glRecti(long long long long ) wine_glRecti
+@  stdcall glRects(long long long long ) wine_glRects
+@  stdcall glRectdv(ptr ptr ) wine_glRectdv
+@  stdcall glRectfv(ptr ptr ) wine_glRectfv
+@  stdcall glRectiv(ptr ptr ) wine_glRectiv
+@  stdcall glRectsv(ptr ptr ) wine_glRectsv
+@  stdcall glVertexPointer(long long long ptr ) wine_glVertexPointer
+@  stdcall glNormalPointer(long long ptr ) wine_glNormalPointer
+@  stdcall glColorPointer(long long long ptr ) wine_glColorPointer
+@  stdcall glIndexPointer(long long ptr ) wine_glIndexPointer
+@  stdcall glTexCoordPointer(long long long ptr ) wine_glTexCoordPointer
+@  stdcall glEdgeFlagPointer(long ptr ) wine_glEdgeFlagPointer
+@  stdcall glGetPointerv(long ptr ) wine_glGetPointerv
+@  stdcall glArrayElement(long ) wine_glArrayElement
+@  stdcall glDrawArrays(long long long ) wine_glDrawArrays
+@  stdcall glDrawElements(long long long ptr ) wine_glDrawElements
+@  stdcall glInterleavedArrays(long long ptr ) wine_glInterleavedArrays
+@  stdcall glShadeModel(long ) wine_glShadeModel
+@  stdcall glLightf(long long long ) wine_glLightf
+@  stdcall glLighti(long long long ) wine_glLighti
+@  stdcall glLightfv(long long ptr ) wine_glLightfv
+@  stdcall glLightiv(long long ptr ) wine_glLightiv
+@  stdcall glGetLightfv(long long ptr ) wine_glGetLightfv
+@  stdcall glGetLightiv(long long ptr ) wine_glGetLightiv
+@  stdcall glLightModelf(long long ) wine_glLightModelf
+@  stdcall glLightModeli(long long ) wine_glLightModeli
+@  stdcall glLightModelfv(long ptr ) wine_glLightModelfv
+@  stdcall glLightModeliv(long ptr ) wine_glLightModeliv
+@  stdcall glMaterialf(long long long ) wine_glMaterialf
+@  stdcall glMateriali(long long long ) wine_glMateriali
+@  stdcall glMaterialfv(long long ptr ) wine_glMaterialfv
+@  stdcall glMaterialiv(long long ptr ) wine_glMaterialiv
+@  stdcall glGetMaterialfv(long long ptr ) wine_glGetMaterialfv
+@  stdcall glGetMaterialiv(long long ptr ) wine_glGetMaterialiv
+@  stdcall glColorMaterial(long long ) wine_glColorMaterial
+@  stdcall glPixelZoom(long long ) wine_glPixelZoom
+@  stdcall glPixelStoref(long long ) wine_glPixelStoref
+@  stdcall glPixelStorei(long long ) wine_glPixelStorei
+@  stdcall glPixelTransferf(long long ) wine_glPixelTransferf
+@  stdcall glPixelTransferi(long long ) wine_glPixelTransferi
+@  stdcall glPixelMapfv(long long ptr ) wine_glPixelMapfv
+@  stdcall glPixelMapuiv(long long ptr ) wine_glPixelMapuiv
+@  stdcall glPixelMapusv(long long ptr ) wine_glPixelMapusv
+@  stdcall glGetPixelMapfv(long ptr ) wine_glGetPixelMapfv
+@  stdcall glGetPixelMapuiv(long ptr ) wine_glGetPixelMapuiv
+@  stdcall glGetPixelMapusv(long ptr ) wine_glGetPixelMapusv
+@  stdcall glBitmap(long long long long long long ptr ) wine_glBitmap
+@  stdcall glReadPixels(long long long long long long ptr ) wine_glReadPixels
+@  stdcall glDrawPixels(long long long long ptr ) wine_glDrawPixels
+@  stdcall glCopyPixels(long long long long long ) wine_glCopyPixels
+@  stdcall glStencilFunc(long long long ) wine_glStencilFunc
+@  stdcall glStencilMask(long ) wine_glStencilMask
+@  stdcall glStencilOp(long long long ) wine_glStencilOp
+@  stdcall glClearStencil(long ) wine_glClearStencil
+@  stdcall glTexGend(long long double ) wine_glTexGend
+@  stdcall glTexGenf(long long long ) wine_glTexGenf
+@  stdcall glTexGeni(long long long ) wine_glTexGeni
+@  stdcall glTexGendv(long long ptr ) wine_glTexGendv
+@  stdcall glTexGenfv(long long ptr ) wine_glTexGenfv
+@  stdcall glTexGeniv(long long ptr ) wine_glTexGeniv
+@  stdcall glGetTexGendv(long long ptr ) wine_glGetTexGendv
+@  stdcall glGetTexGenfv(long long ptr ) wine_glGetTexGenfv
+@  stdcall glGetTexGeniv(long long ptr ) wine_glGetTexGeniv
+@  stdcall glTexEnvf(long long long ) wine_glTexEnvf
+@  stdcall glTexEnvi(long long long ) wine_glTexEnvi
+@  stdcall glTexEnvfv(long long ptr ) wine_glTexEnvfv
+@  stdcall glTexEnviv(long long ptr ) wine_glTexEnviv
+@  stdcall glGetTexEnvfv(long long ptr ) wine_glGetTexEnvfv
+@  stdcall glGetTexEnviv(long long ptr ) wine_glGetTexEnviv
+@  stdcall glTexParameterf(long long long ) wine_glTexParameterf
+@  stdcall glTexParameteri(long long long ) wine_glTexParameteri
+@  stdcall glTexParameterfv(long long ptr ) wine_glTexParameterfv
+@  stdcall glTexParameteriv(long long ptr ) wine_glTexParameteriv
+@  stdcall glGetTexParameterfv(long long ptr ) wine_glGetTexParameterfv
+@  stdcall glGetTexParameteriv(long long ptr ) wine_glGetTexParameteriv
+@  stdcall glGetTexLevelParameterfv(long long long ptr ) wine_glGetTexLevelParameterfv
+@  stdcall glGetTexLevelParameteriv(long long long ptr ) wine_glGetTexLevelParameteriv
+@  stdcall glTexImage1D(long long long long long long long ptr ) wine_glTexImage1D
+@  stdcall glTexImage2D(long long long long long long long long ptr ) wine_glTexImage2D
+@  stdcall glGetTexImage(long long long long ptr ) wine_glGetTexImage
+@  stdcall glGenTextures(long ptr ) wine_glGenTextures
+@  stdcall glDeleteTextures(long ptr ) wine_glDeleteTextures
+@  stdcall glBindTexture(long long ) wine_glBindTexture
+@  stdcall glPrioritizeTextures(long ptr ptr ) wine_glPrioritizeTextures
+@  stdcall glAreTexturesResident(long ptr ptr ) wine_glAreTexturesResident
+@  stdcall glIsTexture(long ) wine_glIsTexture
+@  stdcall glTexSubImage1D(long long long long long long ptr ) wine_glTexSubImage1D
+@  stdcall glTexSubImage2D(long long long long long long long long ptr ) wine_glTexSubImage2D
+@  stdcall glCopyTexImage1D(long long long long long long long ) wine_glCopyTexImage1D
+@  stdcall glCopyTexImage2D(long long long long long long long long ) wine_glCopyTexImage2D
+@  stdcall glCopyTexSubImage1D(long long long long long long ) wine_glCopyTexSubImage1D
+@  stdcall glCopyTexSubImage2D(long long long long long long long long ) wine_glCopyTexSubImage2D
+@  stdcall glMap1d(long double double long long ptr ) wine_glMap1d
+@  stdcall glMap1f(long long long long long ptr ) wine_glMap1f
+@  stdcall glMap2d(long double double long long double double long long ptr ) wine_glMap2d
+@  stdcall glMap2f(long long long long long long long long long ptr ) wine_glMap2f
+@  stdcall glGetMapdv(long long ptr ) wine_glGetMapdv
+@  stdcall glGetMapfv(long long ptr ) wine_glGetMapfv
+@  stdcall glGetMapiv(long long ptr ) wine_glGetMapiv
+@  stdcall glEvalCoord1d(double ) wine_glEvalCoord1d
+@  stdcall glEvalCoord1f(long ) wine_glEvalCoord1f
+@  stdcall glEvalCoord1dv(ptr ) wine_glEvalCoord1dv
+@  stdcall glEvalCoord1fv(ptr ) wine_glEvalCoord1fv
+@  stdcall glEvalCoord2d(double double ) wine_glEvalCoord2d
+@  stdcall glEvalCoord2f(long long ) wine_glEvalCoord2f
+@  stdcall glEvalCoord2dv(ptr ) wine_glEvalCoord2dv
+@  stdcall glEvalCoord2fv(ptr ) wine_glEvalCoord2fv
+@  stdcall glMapGrid1d(long double double ) wine_glMapGrid1d
+@  stdcall glMapGrid1f(long long long ) wine_glMapGrid1f
+@  stdcall glMapGrid2d(long double double long double double ) wine_glMapGrid2d
+@  stdcall glMapGrid2f(long long long long long long ) wine_glMapGrid2f
+@  stdcall glEvalPoint1(long ) wine_glEvalPoint1
+@  stdcall glEvalPoint2(long long ) wine_glEvalPoint2
+@  stdcall glEvalMesh1(long long long ) wine_glEvalMesh1
+@  stdcall glEvalMesh2(long long long long long ) wine_glEvalMesh2
+@  stdcall glFogf(long long ) wine_glFogf
+@  stdcall glFogi(long long ) wine_glFogi
+@  stdcall glFogfv(long ptr ) wine_glFogfv
+@  stdcall glFogiv(long ptr ) wine_glFogiv
+@  stdcall glFeedbackBuffer(long long ptr ) wine_glFeedbackBuffer
+@  stdcall glPassThrough(long ) wine_glPassThrough
+@  stdcall glSelectBuffer(long ptr ) wine_glSelectBuffer
+@  stdcall glInitNames() wine_glInitNames
+@  stdcall glLoadName(long ) wine_glLoadName
+@  stdcall glPushName(long ) wine_glPushName
+@  stdcall glPopName() wine_glPopName
+@  stdcall glDrawRangeElements(long long long long long ptr ) wine_glDrawRangeElements
+@  stdcall glTexImage3D(long long long long long long long long long ptr ) wine_glTexImage3D
+@  stdcall glTexSubImage3D(long long long long long long long long long long ptr ) wine_glTexSubImage3D
+@  stdcall glCopyTexSubImage3D(long long long long long long long long long ) wine_glCopyTexSubImage3D
+@  stdcall glColorTable(long long long long long ptr ) wine_glColorTable
+@  stdcall glColorSubTable(long long long long long ptr ) wine_glColorSubTable
+@  stdcall glColorTableParameteriv(long long ptr ) wine_glColorTableParameteriv
+@  stdcall glColorTableParameterfv(long long ptr ) wine_glColorTableParameterfv
+@  stdcall glCopyColorSubTable(long long long long long ) wine_glCopyColorSubTable
+@  stdcall glCopyColorTable(long long long long long ) wine_glCopyColorTable
+@  stdcall glGetColorTable(long long long ptr ) wine_glGetColorTable
+@  stdcall glGetColorTableParameterfv(long long ptr ) wine_glGetColorTableParameterfv
+@  stdcall glGetColorTableParameteriv(long long ptr ) wine_glGetColorTableParameteriv
+@  stdcall glBlendEquation(long ) wine_glBlendEquation
+@  stdcall glBlendColor(long long long long ) wine_glBlendColor
+@  stdcall glHistogram(long long long long ) wine_glHistogram
+@  stdcall glResetHistogram(long ) wine_glResetHistogram
+@  stdcall glGetHistogram(long long long long ptr ) wine_glGetHistogram
+@  stdcall glGetHistogramParameterfv(long long ptr ) wine_glGetHistogramParameterfv
+@  stdcall glGetHistogramParameteriv(long long ptr ) wine_glGetHistogramParameteriv
+@  stdcall glMinmax(long long long ) wine_glMinmax
+@  stdcall glResetMinmax(long ) wine_glResetMinmax
+@  stdcall glGetMinmax(long long long long ptr ) wine_glGetMinmax
+@  stdcall glGetMinmaxParameterfv(long long ptr ) wine_glGetMinmaxParameterfv
+@  stdcall glGetMinmaxParameteriv(long long ptr ) wine_glGetMinmaxParameteriv
+@  stdcall glConvolutionFilter1D(long long long long long ptr ) wine_glConvolutionFilter1D
+@  stdcall glConvolutionFilter2D(long long long long long long ptr ) wine_glConvolutionFilter2D
+@  stdcall glConvolutionParameterf(long long long ) wine_glConvolutionParameterf
+@  stdcall glConvolutionParameterfv(long long ptr ) wine_glConvolutionParameterfv
+@  stdcall glConvolutionParameteri(long long long ) wine_glConvolutionParameteri
+@  stdcall glConvolutionParameteriv(long long ptr ) wine_glConvolutionParameteriv
+@  stdcall glCopyConvolutionFilter1D(long long long long long ) wine_glCopyConvolutionFilter1D
+@  stdcall glCopyConvolutionFilter2D(long long long long long long ) wine_glCopyConvolutionFilter2D
+@  stdcall glGetConvolutionFilter(long long long ptr ) wine_glGetConvolutionFilter
+@  stdcall glGetConvolutionParameterfv(long long ptr ) wine_glGetConvolutionParameterfv
+@  stdcall glGetConvolutionParameteriv(long long ptr ) wine_glGetConvolutionParameteriv
+@  stdcall glSeparableFilter2D(long long long long long long ptr ptr ) wine_glSeparableFilter2D
+@  stdcall glGetSeparableFilter(long long long ptr ptr ptr ) wine_glGetSeparableFilter
+@  stdcall glActiveTextureARB(long ) wine_glActiveTextureARB
+@  stdcall glClientActiveTextureARB(long ) wine_glClientActiveTextureARB
+@  stdcall glMultiTexCoord1dARB(long double ) wine_glMultiTexCoord1dARB
+@  stdcall glMultiTexCoord1dvARB(long ptr ) wine_glMultiTexCoord1dvARB
+@  stdcall glMultiTexCoord1fARB(long long ) wine_glMultiTexCoord1fARB
+@  stdcall glMultiTexCoord1fvARB(long ptr ) wine_glMultiTexCoord1fvARB
+@  stdcall glMultiTexCoord1iARB(long long ) wine_glMultiTexCoord1iARB
+@  stdcall glMultiTexCoord1ivARB(long ptr ) wine_glMultiTexCoord1ivARB
+@  stdcall glMultiTexCoord1sARB(long long ) wine_glMultiTexCoord1sARB
+@  stdcall glMultiTexCoord1svARB(long ptr ) wine_glMultiTexCoord1svARB
+@  stdcall glMultiTexCoord2dARB(long double double ) wine_glMultiTexCoord2dARB
+@  stdcall glMultiTexCoord2dvARB(long ptr ) wine_glMultiTexCoord2dvARB
+@  stdcall glMultiTexCoord2fARB(long long long ) wine_glMultiTexCoord2fARB
+@  stdcall glMultiTexCoord2fvARB(long ptr ) wine_glMultiTexCoord2fvARB
+@  stdcall glMultiTexCoord2iARB(long long long ) wine_glMultiTexCoord2iARB
+@  stdcall glMultiTexCoord2ivARB(long ptr ) wine_glMultiTexCoord2ivARB
+@  stdcall glMultiTexCoord2sARB(long long long ) wine_glMultiTexCoord2sARB
+@  stdcall glMultiTexCoord2svARB(long ptr ) wine_glMultiTexCoord2svARB
+@  stdcall glMultiTexCoord3dARB(long double double double ) wine_glMultiTexCoord3dARB
+@  stdcall glMultiTexCoord3dvARB(long ptr ) wine_glMultiTexCoord3dvARB
+@  stdcall glMultiTexCoord3fARB(long long long long ) wine_glMultiTexCoord3fARB
+@  stdcall glMultiTexCoord3fvARB(long ptr ) wine_glMultiTexCoord3fvARB
+@  stdcall glMultiTexCoord3iARB(long long long long ) wine_glMultiTexCoord3iARB
+@  stdcall glMultiTexCoord3ivARB(long ptr ) wine_glMultiTexCoord3ivARB
+@  stdcall glMultiTexCoord3sARB(long long long long ) wine_glMultiTexCoord3sARB
+@  stdcall glMultiTexCoord3svARB(long ptr ) wine_glMultiTexCoord3svARB
+@  stdcall glMultiTexCoord4dARB(long double double double double ) wine_glMultiTexCoord4dARB
+@  stdcall glMultiTexCoord4dvARB(long ptr ) wine_glMultiTexCoord4dvARB
+@  stdcall glMultiTexCoord4fARB(long long long long long ) wine_glMultiTexCoord4fARB
+@  stdcall glMultiTexCoord4fvARB(long ptr ) wine_glMultiTexCoord4fvARB
+@  stdcall glMultiTexCoord4iARB(long long long long long ) wine_glMultiTexCoord4iARB
+@  stdcall glMultiTexCoord4ivARB(long ptr ) wine_glMultiTexCoord4ivARB
+@  stdcall glMultiTexCoord4sARB(long long long long long ) wine_glMultiTexCoord4sARB
+@  stdcall glMultiTexCoord4svARB(long ptr ) wine_glMultiTexCoord4svARB
diff --git a/dlls/opengl32/opengl_ext.c b/dlls/opengl32/opengl_ext.c
new file mode 100644
index 0000000..ac1ee7f
--- /dev/null
+++ b/dlls/opengl32/opengl_ext.c
@@ -0,0 +1,2924 @@
+
+/* Auto-generated file... Do not edit ! */
+
+#include "config.h"
+#include "wine_gl.h"
+
+#include "opengl_ext.h"
+
+/* These will be filled during a wglGetProcAddress call */
+void (*func_glApplyTextureEXT)(GLenum) = (void *) 0xdeadbeef;
+GLboolean (*func_glAreTexturesResidentEXT)(GLsizei,  const GLuint *,  GLboolean *) = (void *) 0xdeadbeef;
+void (*func_glArrayElementEXT)(GLint) = (void *) 0xdeadbeef;
+void (*func_glBindTextureEXT)(GLenum,  GLuint) = (void *) 0xdeadbeef;
+void (*func_glBinormal3b)(GLbyte,  GLbyte,  GLbyte) = (void *) 0xdeadbeef;
+void (*func_glBinormal3bv)(const GLbyte *) = (void *) 0xdeadbeef;
+void (*func_glBinormal3d)(GLdouble,  GLdouble,  GLdouble) = (void *) 0xdeadbeef;
+void (*func_glBinormal3dv)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glBinormal3f)(GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glBinormal3fv)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glBinormal3i)(GLint,  GLint,  GLint) = (void *) 0xdeadbeef;
+void (*func_glBinormal3iv)(const GLint *) = (void *) 0xdeadbeef;
+void (*func_glBinormal3s)(GLshort,  GLshort,  GLshort) = (void *) 0xdeadbeef;
+void (*func_glBinormal3sv)(const GLshort *) = (void *) 0xdeadbeef;
+void (*func_glBinormalPointerEXT)(GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glBlendColorEXT)(GLclampf,  GLclampf,  GLclampf,  GLclampf) = (void *) 0xdeadbeef;
+void (*func_glBlendEquationEXT)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glBlendFuncSeparateEXT)(GLenum,  GLenum,  GLenum,  GLenum) = (void *) 0xdeadbeef;
+void (*func_glColor3fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glColor3fVertex3fvSUN)(const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glColor4fNormal3fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glColor4fNormal3fVertex3fvSUN)(const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glColor4ubVertex2fSUN)(GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glColor4ubVertex2fvSUN)(const GLubyte *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glColor4ubVertex3fSUN)(GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glColor4ubVertex3fvSUN)(const GLubyte *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glColorPointerEXT)(GLint,  GLenum,  GLsizei,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glColorPointerListIBM)(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glColorPointervINTEL)(GLint,  GLenum,  const GLvoid* *) = (void *) 0xdeadbeef;
+void (*func_glColorSubTableEXT)(GLenum,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glColorTableEXT)(GLenum,  GLenum,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glColorTableParameterfvSGI)(GLenum,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glColorTableParameterivSGI)(GLenum,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glColorTableSGI)(GLenum,  GLenum,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glCombinerInputNV)(GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLenum) = (void *) 0xdeadbeef;
+void (*func_glCombinerOutputNV)(GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLboolean,  GLboolean,  GLboolean) = (void *) 0xdeadbeef;
+void (*func_glCombinerParameterfNV)(GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glCombinerParameterfvNV)(GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glCombinerParameteriNV)(GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glCombinerParameterivNV)(GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glCompressedTexImage1DARB)(GLenum,  GLint,  GLenum,  GLsizei,  GLint,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glCompressedTexImage2DARB)(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLint,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glCompressedTexImage3DARB)(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLsizei,  GLint,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glCompressedTexSubImage1DARB)(GLenum,  GLint,  GLint,  GLsizei,  GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glCompressedTexSubImage2DARB)(GLenum,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glCompressedTexSubImage3DARB)(GLenum,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLsizei,  GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glConvolutionFilter1DEXT)(GLenum,  GLenum,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glConvolutionFilter2DEXT)(GLenum,  GLenum,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glConvolutionParameterfEXT)(GLenum,  GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glConvolutionParameterfvEXT)(GLenum,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glConvolutionParameteriEXT)(GLenum,  GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glConvolutionParameterivEXT)(GLenum,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glCopyColorSubTableEXT)(GLenum,  GLsizei,  GLint,  GLint,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCopyColorTableSGI)(GLenum,  GLenum,  GLint,  GLint,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCopyConvolutionFilter1DEXT)(GLenum,  GLenum,  GLint,  GLint,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCopyConvolutionFilter2DEXT)(GLenum,  GLenum,  GLint,  GLint,  GLsizei,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCopyTexImage1DEXT)(GLenum,  GLint,  GLenum,  GLint,  GLint,  GLsizei,  GLint) = (void *) 0xdeadbeef;
+void (*func_glCopyTexImage2DEXT)(GLenum,  GLint,  GLenum,  GLint,  GLint,  GLsizei,  GLsizei,  GLint) = (void *) 0xdeadbeef;
+void (*func_glCopyTexSubImage1DEXT)(GLenum,  GLint,  GLint,  GLint,  GLint,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCopyTexSubImage2DEXT)(GLenum,  GLint,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCopyTexSubImage3DEXT)(GLenum,  GLint,  GLint,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glCullParameterdvEXT)(GLenum,  GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glCullParameterfvEXT)(GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glDeleteTexturesEXT)(GLsizei,  const GLuint *) = (void *) 0xdeadbeef;
+void (*func_glDetailTexFuncSGIS)(GLenum,  GLsizei,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glDrawArraysEXT)(GLenum,  GLint,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glDrawRangeElementsEXT)(GLenum,  GLuint,  GLuint,  GLsizei,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glEdgeFlagPointerEXT)(GLsizei,  GLsizei,  const GLboolean *) = (void *) 0xdeadbeef;
+void (*func_glEdgeFlagPointerListIBM)(GLint,  const GLboolean* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glFinalCombinerInputNV)(GLenum,  GLenum,  GLenum,  GLenum) = (void *) 0xdeadbeef;
+void (*func_glFinishTextureSUNX)(void) = (void *) 0xdeadbeef;
+void (*func_glFlushRasterSGIX)(void) = (void *) 0xdeadbeef;
+void (*func_glFlushVertexArrayRangeNV)(void) = (void *) 0xdeadbeef;
+void (*func_glFogCoordPointerEXT)(GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glFogCoordPointerListIBM)(GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glFogCoorddEXT)(GLdouble) = (void *) 0xdeadbeef;
+void (*func_glFogCoorddvEXT)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glFogCoordfEXT)(GLfloat) = (void *) 0xdeadbeef;
+void (*func_glFogCoordfvEXT)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glFogFuncSGIS)(GLsizei,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glFragmentColorMaterialSGIX)(GLenum,  GLenum) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightModelfSGIX)(GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightModelfvSGIX)(GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightModeliSGIX)(GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightModelivSGIX)(GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightfSGIX)(GLenum,  GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightfvSGIX)(GLenum,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightiSGIX)(GLenum,  GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glFragmentLightivSGIX)(GLenum,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glFragmentMaterialfSGIX)(GLenum,  GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glFragmentMaterialfvSGIX)(GLenum,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glFragmentMaterialiSGIX)(GLenum,  GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glFragmentMaterialivSGIX)(GLenum,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glFrameZoomSGIX)(GLint) = (void *) 0xdeadbeef;
+void (*func_glGenTexturesEXT)(GLsizei,  GLuint *) = (void *) 0xdeadbeef;
+void (*func_glGetColorTableEXT)(GLenum,  GLenum,  GLenum,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glGetColorTableParameterfvEXT)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetColorTableParameterfvSGI)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetColorTableParameterivEXT)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetColorTableParameterivSGI)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetColorTableSGI)(GLenum,  GLenum,  GLenum,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glGetCombinerInputParameterfvNV)(GLenum,  GLenum,  GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetCombinerInputParameterivNV)(GLenum,  GLenum,  GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetCombinerOutputParameterfvNV)(GLenum,  GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetCombinerOutputParameterivNV)(GLenum,  GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetCompressedTexImageARB)(GLenum,  GLint,  void *) = (void *) 0xdeadbeef;
+void (*func_glGetConvolutionFilterEXT)(GLenum,  GLenum,  GLenum,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glGetConvolutionParameterfvEXT)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetConvolutionParameterivEXT)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetDetailTexFuncSGIS)(GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetFinalCombinerInputParameterfvNV)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetFinalCombinerInputParameterivNV)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetFogFuncSGIS)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetFragmentLightfvSGIX)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetFragmentLightivSGIX)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetFragmentMaterialfvSGIX)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetFragmentMaterialivSGIX)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetHistogramEXT)(GLenum,  GLboolean,  GLenum,  GLenum,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glGetHistogramParameterfvEXT)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetHistogramParameterivEXT)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetImageTransformParameterfvHP)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetImageTransformParameterivHP)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+GLint (*func_glGetInstrumentsSGIX)(void) = (void *) 0xdeadbeef;
+void (*func_glGetListParameterfvSGIX)(GLuint,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetListParameterivSGIX)(GLuint,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetMinmaxEXT)(GLenum,  GLboolean,  GLenum,  GLenum,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glGetMinmaxParameterfvEXT)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetMinmaxParameterivEXT)(GLenum,  GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetPixelTexGenParameterfvSGIS)(GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetPixelTexGenParameterivSGIS)(GLenum,  GLint *) = (void *) 0xdeadbeef;
+void (*func_glGetPointervEXT)(GLenum,  GLvoid* *) = (void *) 0xdeadbeef;
+void (*func_glGetSeparableFilterEXT)(GLenum,  GLenum,  GLenum,  GLvoid *,  GLvoid *,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glGetSharpenTexFuncSGIS)(GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGetTexFilterFuncSGIS)(GLenum,  GLenum,  GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactorbSUN)(GLbyte) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactordSUN)(GLdouble) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactorfSUN)(GLfloat) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactoriSUN)(GLint) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactorsSUN)(GLshort) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactorubSUN)(GLubyte) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactoruiSUN)(GLuint) = (void *) 0xdeadbeef;
+void (*func_glGlobalAlphaFactorusSUN)(GLushort) = (void *) 0xdeadbeef;
+void (*func_glHintPGI)(GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glHistogramEXT)(GLenum,  GLsizei,  GLenum,  GLboolean) = (void *) 0xdeadbeef;
+void (*func_glImageTransformParameterfHP)(GLenum,  GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glImageTransformParameterfvHP)(GLenum,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glImageTransformParameteriHP)(GLenum,  GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glImageTransformParameterivHP)(GLenum,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glIndexFuncEXT)(GLenum,  GLclampf) = (void *) 0xdeadbeef;
+void (*func_glIndexMaterialEXT)(GLenum,  GLenum) = (void *) 0xdeadbeef;
+void (*func_glIndexPointerEXT)(GLenum,  GLsizei,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glIndexPointerListIBM)(GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glInstrumentsBufferSGIX)(GLsizei,  GLint *) = (void *) 0xdeadbeef;
+GLboolean (*func_glIsTextureEXT)(GLuint) = (void *) 0xdeadbeef;
+void (*func_glLightEnviSGIX)(GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glListParameterfSGIX)(GLuint,  GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glListParameterfvSGIX)(GLuint,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glListParameteriSGIX)(GLuint,  GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glListParameterivSGIX)(GLuint,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glLoadTransposeMatrixdARB)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glLoadTransposeMatrixfARB)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glLockArraysEXT)(GLint,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glMinmaxEXT)(GLenum,  GLenum,  GLboolean) = (void *) 0xdeadbeef;
+void (*func_glMultTransposeMatrixdARB)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glMultTransposeMatrixfARB)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glMultiDrawArraysEXT)(GLenum,  GLint *,  GLsizei *,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glMultiDrawElementsEXT)(GLenum,  const GLsizei *,  GLenum,  const GLvoid* *,  GLsizei) = (void *) 0xdeadbeef;
+void (*func_glMultiModeDrawArraysIBM)(GLenum,  const GLint *,  const GLsizei *,  GLsizei,  GLint) = (void *) 0xdeadbeef;
+void (*func_glMultiModeDrawElementsIBM)(const GLenum *,  const GLsizei *,  GLenum,  const GLvoid* *,  GLsizei,  GLint) = (void *) 0xdeadbeef;
+void (*func_glNormal3fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glNormal3fVertex3fvSUN)(const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glNormalPointerEXT)(GLenum,  GLsizei,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glNormalPointerListIBM)(GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glNormalPointervINTEL)(GLenum,  const GLvoid* *) = (void *) 0xdeadbeef;
+void (*func_glPixelTexGenParameterfSGIS)(GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glPixelTexGenParameterfvSGIS)(GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glPixelTexGenParameteriSGIS)(GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glPixelTexGenParameterivSGIS)(GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glPixelTexGenSGIX)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glPixelTransformParameterfEXT)(GLenum,  GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glPixelTransformParameterfvEXT)(GLenum,  GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glPixelTransformParameteriEXT)(GLenum,  GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glPixelTransformParameterivEXT)(GLenum,  GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glPointParameterfEXT)(GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glPointParameterfSGIS)(GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glPointParameterfvEXT)(GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glPointParameterfvSGIS)(GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+GLint (*func_glPollInstrumentsSGIX)(GLint *) = (void *) 0xdeadbeef;
+void (*func_glPolygonOffsetEXT)(GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glPrioritizeTexturesEXT)(GLsizei,  const GLuint *,  const GLclampf *) = (void *) 0xdeadbeef;
+void (*func_glReadInstrumentsSGIX)(GLint) = (void *) 0xdeadbeef;
+void (*func_glReferencePlaneSGIX)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodePointer)(GLenum,  GLsizei,  const GLvoid* *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeubSUN)(GLubyte) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeubvSUN)(const GLubyte *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiColor3fVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiColor3fVertex3fvSUN)(const GLenum *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLenum *,  const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiColor4ubVertex3fSUN)(GLenum,  GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiColor4ubVertex3fvSUN)(const GLenum *,  const GLubyte *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiNormal3fVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiNormal3fVertex3fvSUN)(const GLenum *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiSUN)(GLuint) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLenum *,  const GLfloat *,  const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLenum *,  const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiTexCoord2fVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLenum *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiVertex3fSUN)(GLenum,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuiVertex3fvSUN)(const GLenum *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeuivSUN)(const GLuint *) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeusSUN)(GLushort) = (void *) 0xdeadbeef;
+void (*func_glReplacementCodeusvSUN)(const GLushort *) = (void *) 0xdeadbeef;
+void (*func_glResetHistogramEXT)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glResetMinmaxEXT)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glResizeBuffersMESA)(void) = (void *) 0xdeadbeef;
+void (*func_glSampleCoverageARB)(GLclampf,  GLboolean) = (void *) 0xdeadbeef;
+void (*func_glSampleMaskEXT)(GLclampf,  GLboolean) = (void *) 0xdeadbeef;
+void (*func_glSampleMaskSGIS)(GLclampf,  GLboolean) = (void *) 0xdeadbeef;
+void (*func_glSamplePassARB)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glSamplePatternEXT)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glSamplePatternSGIS)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3bEXT)(GLbyte,  GLbyte,  GLbyte) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3bvEXT)(const GLbyte *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3dEXT)(GLdouble,  GLdouble,  GLdouble) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3dvEXT)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3fEXT)(GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3fvEXT)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3iEXT)(GLint,  GLint,  GLint) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3ivEXT)(const GLint *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3sEXT)(GLshort,  GLshort,  GLshort) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3svEXT)(const GLshort *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3ubEXT)(GLubyte,  GLubyte,  GLubyte) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3ubvEXT)(const GLubyte *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3uiEXT)(GLuint,  GLuint,  GLuint) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3uivEXT)(const GLuint *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3usEXT)(GLushort,  GLushort,  GLushort) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColor3usvEXT)(const GLushort *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColorPointerEXT)(GLint,  GLenum,  GLsizei,  GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glSecondaryColorPointerListIBM)(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glSeparableFilter2DEXT)(GLenum,  GLenum,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glSharpenTexFuncSGIS)(GLenum,  GLsizei,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glSpriteParameterfSGIX)(GLenum,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glSpriteParameterfvSGIX)(GLenum,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glSpriteParameteriSGIX)(GLenum,  GLint) = (void *) 0xdeadbeef;
+void (*func_glSpriteParameterivSGIX)(GLenum,  const GLint *) = (void *) 0xdeadbeef;
+void (*func_glStartInstrumentsSGIX)(void) = (void *) 0xdeadbeef;
+void (*func_glStopInstrumentsSGIX)(GLint) = (void *) 0xdeadbeef;
+void (*func_glTagSampleBufferSGIX)(void) = (void *) 0xdeadbeef;
+void (*func_glTangent3b)(GLbyte,  GLbyte,  GLbyte) = (void *) 0xdeadbeef;
+void (*func_glTangent3bv)(const GLbyte *) = (void *) 0xdeadbeef;
+void (*func_glTangent3d)(GLdouble,  GLdouble,  GLdouble) = (void *) 0xdeadbeef;
+void (*func_glTangent3dv)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glTangent3f)(GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTangent3fv)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTangent3i)(GLint,  GLint,  GLint) = (void *) 0xdeadbeef;
+void (*func_glTangent3iv)(const GLint *) = (void *) 0xdeadbeef;
+void (*func_glTangent3s)(GLshort,  GLshort,  GLshort) = (void *) 0xdeadbeef;
+void (*func_glTangent3sv)(const GLshort *) = (void *) 0xdeadbeef;
+void (*func_glTangentPointerEXT)(GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTbufferMask3DFX)(GLuint) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fColor3fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fColor3fVertex3fvSUN)(const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat *,  const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fColor4ubVertex3fSUN)(GLfloat,  GLfloat,  GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fColor4ubVertex3fvSUN)(const GLfloat *,  const GLubyte *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fNormal3fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fNormal3fVertex3fvSUN)(const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fVertex3fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord2fVertex3fvSUN)(const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat *,  const GLfloat *,  const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoord4fVertex4fSUN)(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glTexCoord4fVertex4fvSUN)(const GLfloat *,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexCoordPointerEXT)(GLint,  GLenum,  GLsizei,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTexCoordPointerListIBM)(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glTexCoordPointervINTEL)(GLint,  GLenum,  const GLvoid* *) = (void *) 0xdeadbeef;
+void (*func_glTexFilterFuncSGIS)(GLenum,  GLenum,  GLsizei,  const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glTexImage3DEXT)(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLsizei,  GLint,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTexImage4DSGIS)(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLsizei,  GLsizei,  GLint,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTexSubImage1DEXT)(GLenum,  GLint,  GLint,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTexSubImage2DEXT)(GLenum,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTexSubImage3DEXT)(GLenum,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTexSubImage4DSGIS)(GLenum,  GLint,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glTextureLightEXT)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glTextureMaterialEXT)(GLenum,  GLenum) = (void *) 0xdeadbeef;
+void (*func_glTextureNormalEXT)(GLenum) = (void *) 0xdeadbeef;
+void (*func_glUnlockArraysEXT)(void) = (void *) 0xdeadbeef;
+void (*func_glVertexArrayRangeNV)(GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glVertexPointerEXT)(GLint,  GLenum,  GLsizei,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glVertexPointerListIBM)(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) = (void *) 0xdeadbeef;
+void (*func_glVertexPointervINTEL)(GLint,  GLenum,  const GLvoid* *) = (void *) 0xdeadbeef;
+void (*func_glVertexWeightPointerEXT)(GLsizei,  GLenum,  GLsizei,  const GLvoid *) = (void *) 0xdeadbeef;
+void (*func_glVertexWeightfEXT)(GLfloat) = (void *) 0xdeadbeef;
+void (*func_glVertexWeightfvEXT)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2dMESA)(GLdouble,  GLdouble) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2dvMESA)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2fMESA)(GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2fvMESA)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2iMESA)(GLint,  GLint) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2ivMESA)(const GLint *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2sMESA)(GLshort,  GLshort) = (void *) 0xdeadbeef;
+void (*func_glWindowPos2svMESA)(const GLshort *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3dMESA)(GLdouble,  GLdouble,  GLdouble) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3dvMESA)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3fMESA)(GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3fvMESA)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3iMESA)(GLint,  GLint,  GLint) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3ivMESA)(const GLint *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3sMESA)(GLshort,  GLshort,  GLshort) = (void *) 0xdeadbeef;
+void (*func_glWindowPos3svMESA)(const GLshort *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4dMESA)(GLdouble,  GLdouble,  GLdouble,  GLdouble) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4dvMESA)(const GLdouble *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4fMESA)(GLfloat,  GLfloat,  GLfloat,  GLfloat) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4fvMESA)(const GLfloat *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4iMESA)(GLint,  GLint,  GLint,  GLint) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4ivMESA)(const GLint *) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4sMESA)(GLshort,  GLshort,  GLshort,  GLshort) = (void *) 0xdeadbeef;
+void (*func_glWindowPos4svMESA)(const GLshort *) = (void *) 0xdeadbeef;
+
+/* The function prototypes */
+void WINAPI wine_glApplyTextureEXT(GLenum) ;
+GLboolean WINAPI wine_glAreTexturesResidentEXT(GLsizei,  const GLuint *,  GLboolean *) ;
+void WINAPI wine_glArrayElementEXT(GLint) ;
+void WINAPI wine_glBindTextureEXT(GLenum,  GLuint) ;
+void WINAPI wine_glBinormal3b(GLbyte,  GLbyte,  GLbyte) ;
+void WINAPI wine_glBinormal3bv(const GLbyte *) ;
+void WINAPI wine_glBinormal3d(GLdouble,  GLdouble,  GLdouble) ;
+void WINAPI wine_glBinormal3dv(const GLdouble *) ;
+void WINAPI wine_glBinormal3f(GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glBinormal3fv(const GLfloat *) ;
+void WINAPI wine_glBinormal3i(GLint,  GLint,  GLint) ;
+void WINAPI wine_glBinormal3iv(const GLint *) ;
+void WINAPI wine_glBinormal3s(GLshort,  GLshort,  GLshort) ;
+void WINAPI wine_glBinormal3sv(const GLshort *) ;
+void WINAPI wine_glBinormalPointerEXT(GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glBlendColorEXT(GLclampf,  GLclampf,  GLclampf,  GLclampf) ;
+void WINAPI wine_glBlendEquationEXT(GLenum) ;
+void WINAPI wine_glBlendFuncSeparateEXT(GLenum,  GLenum,  GLenum,  GLenum) ;
+void WINAPI wine_glColor3fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glColor3fVertex3fvSUN(const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glColor4fNormal3fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glColor4fNormal3fVertex3fvSUN(const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glColor4ubVertex2fSUN(GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat) ;
+void WINAPI wine_glColor4ubVertex2fvSUN(const GLubyte *,  const GLfloat *) ;
+void WINAPI wine_glColor4ubVertex3fSUN(GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glColor4ubVertex3fvSUN(const GLubyte *,  const GLfloat *) ;
+void WINAPI wine_glColorPointerEXT(GLint,  GLenum,  GLsizei,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glColorPointerListIBM(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glColorPointervINTEL(GLint,  GLenum,  const GLvoid* *) ;
+void WINAPI wine_glColorSubTableEXT(GLenum,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glColorTableEXT(GLenum,  GLenum,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glColorTableParameterfvSGI(GLenum,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glColorTableParameterivSGI(GLenum,  GLenum,  const GLint *) ;
+void WINAPI wine_glColorTableSGI(GLenum,  GLenum,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glCombinerInputNV(GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLenum) ;
+void WINAPI wine_glCombinerOutputNV(GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLenum,  GLboolean,  GLboolean,  GLboolean) ;
+void WINAPI wine_glCombinerParameterfNV(GLenum,  GLfloat) ;
+void WINAPI wine_glCombinerParameterfvNV(GLenum,  const GLfloat *) ;
+void WINAPI wine_glCombinerParameteriNV(GLenum,  GLint) ;
+void WINAPI wine_glCombinerParameterivNV(GLenum,  const GLint *) ;
+void WINAPI wine_glCompressedTexImage1DARB(GLenum,  GLint,  GLenum,  GLsizei,  GLint,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glCompressedTexImage2DARB(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLint,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glCompressedTexImage3DARB(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLsizei,  GLint,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glCompressedTexSubImage1DARB(GLenum,  GLint,  GLint,  GLsizei,  GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glCompressedTexSubImage2DARB(GLenum,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glCompressedTexSubImage3DARB(GLenum,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLsizei,  GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glConvolutionFilter1DEXT(GLenum,  GLenum,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glConvolutionFilter2DEXT(GLenum,  GLenum,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glConvolutionParameterfEXT(GLenum,  GLenum,  GLfloat) ;
+void WINAPI wine_glConvolutionParameterfvEXT(GLenum,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glConvolutionParameteriEXT(GLenum,  GLenum,  GLint) ;
+void WINAPI wine_glConvolutionParameterivEXT(GLenum,  GLenum,  const GLint *) ;
+void WINAPI wine_glCopyColorSubTableEXT(GLenum,  GLsizei,  GLint,  GLint,  GLsizei) ;
+void WINAPI wine_glCopyColorTableSGI(GLenum,  GLenum,  GLint,  GLint,  GLsizei) ;
+void WINAPI wine_glCopyConvolutionFilter1DEXT(GLenum,  GLenum,  GLint,  GLint,  GLsizei) ;
+void WINAPI wine_glCopyConvolutionFilter2DEXT(GLenum,  GLenum,  GLint,  GLint,  GLsizei,  GLsizei) ;
+void WINAPI wine_glCopyTexImage1DEXT(GLenum,  GLint,  GLenum,  GLint,  GLint,  GLsizei,  GLint) ;
+void WINAPI wine_glCopyTexImage2DEXT(GLenum,  GLint,  GLenum,  GLint,  GLint,  GLsizei,  GLsizei,  GLint) ;
+void WINAPI wine_glCopyTexSubImage1DEXT(GLenum,  GLint,  GLint,  GLint,  GLint,  GLsizei) ;
+void WINAPI wine_glCopyTexSubImage2DEXT(GLenum,  GLint,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei) ;
+void WINAPI wine_glCopyTexSubImage3DEXT(GLenum,  GLint,  GLint,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei) ;
+void WINAPI wine_glCullParameterdvEXT(GLenum,  GLdouble *) ;
+void WINAPI wine_glCullParameterfvEXT(GLenum,  GLfloat *) ;
+void WINAPI wine_glDeleteTexturesEXT(GLsizei,  const GLuint *) ;
+void WINAPI wine_glDetailTexFuncSGIS(GLenum,  GLsizei,  const GLfloat *) ;
+void WINAPI wine_glDrawArraysEXT(GLenum,  GLint,  GLsizei) ;
+void WINAPI wine_glDrawRangeElementsEXT(GLenum,  GLuint,  GLuint,  GLsizei,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glEdgeFlagPointerEXT(GLsizei,  GLsizei,  const GLboolean *) ;
+void WINAPI wine_glEdgeFlagPointerListIBM(GLint,  const GLboolean* *,  GLint) ;
+void WINAPI wine_glFinalCombinerInputNV(GLenum,  GLenum,  GLenum,  GLenum) ;
+void WINAPI wine_glFinishTextureSUNX(void) ;
+void WINAPI wine_glFlushRasterSGIX(void) ;
+void WINAPI wine_glFlushVertexArrayRangeNV(void) ;
+void WINAPI wine_glFogCoordPointerEXT(GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glFogCoordPointerListIBM(GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glFogCoorddEXT(GLdouble) ;
+void WINAPI wine_glFogCoorddvEXT(const GLdouble *) ;
+void WINAPI wine_glFogCoordfEXT(GLfloat) ;
+void WINAPI wine_glFogCoordfvEXT(const GLfloat *) ;
+void WINAPI wine_glFogFuncSGIS(GLsizei,  const GLfloat *) ;
+void WINAPI wine_glFragmentColorMaterialSGIX(GLenum,  GLenum) ;
+void WINAPI wine_glFragmentLightModelfSGIX(GLenum,  GLfloat) ;
+void WINAPI wine_glFragmentLightModelfvSGIX(GLenum,  const GLfloat *) ;
+void WINAPI wine_glFragmentLightModeliSGIX(GLenum,  GLint) ;
+void WINAPI wine_glFragmentLightModelivSGIX(GLenum,  const GLint *) ;
+void WINAPI wine_glFragmentLightfSGIX(GLenum,  GLenum,  GLfloat) ;
+void WINAPI wine_glFragmentLightfvSGIX(GLenum,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glFragmentLightiSGIX(GLenum,  GLenum,  GLint) ;
+void WINAPI wine_glFragmentLightivSGIX(GLenum,  GLenum,  const GLint *) ;
+void WINAPI wine_glFragmentMaterialfSGIX(GLenum,  GLenum,  GLfloat) ;
+void WINAPI wine_glFragmentMaterialfvSGIX(GLenum,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glFragmentMaterialiSGIX(GLenum,  GLenum,  GLint) ;
+void WINAPI wine_glFragmentMaterialivSGIX(GLenum,  GLenum,  const GLint *) ;
+void WINAPI wine_glFrameZoomSGIX(GLint) ;
+void WINAPI wine_glGenTexturesEXT(GLsizei,  GLuint *) ;
+void WINAPI wine_glGetColorTableEXT(GLenum,  GLenum,  GLenum,  GLvoid *) ;
+void WINAPI wine_glGetColorTableParameterfvEXT(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetColorTableParameterfvSGI(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetColorTableParameterivEXT(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetColorTableParameterivSGI(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetColorTableSGI(GLenum,  GLenum,  GLenum,  GLvoid *) ;
+void WINAPI wine_glGetCombinerInputParameterfvNV(GLenum,  GLenum,  GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetCombinerInputParameterivNV(GLenum,  GLenum,  GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetCombinerOutputParameterfvNV(GLenum,  GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetCombinerOutputParameterivNV(GLenum,  GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetCompressedTexImageARB(GLenum,  GLint,  void *) ;
+void WINAPI wine_glGetConvolutionFilterEXT(GLenum,  GLenum,  GLenum,  GLvoid *) ;
+void WINAPI wine_glGetConvolutionParameterfvEXT(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetConvolutionParameterivEXT(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetDetailTexFuncSGIS(GLenum,  GLfloat *) ;
+void WINAPI wine_glGetFinalCombinerInputParameterfvNV(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetFinalCombinerInputParameterivNV(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetFogFuncSGIS(const GLfloat *) ;
+void WINAPI wine_glGetFragmentLightfvSGIX(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetFragmentLightivSGIX(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetFragmentMaterialfvSGIX(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetFragmentMaterialivSGIX(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetHistogramEXT(GLenum,  GLboolean,  GLenum,  GLenum,  GLvoid *) ;
+void WINAPI wine_glGetHistogramParameterfvEXT(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetHistogramParameterivEXT(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetImageTransformParameterfvHP(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetImageTransformParameterivHP(GLenum,  GLenum,  GLint *) ;
+GLint WINAPI wine_glGetInstrumentsSGIX(void) ;
+void WINAPI wine_glGetListParameterfvSGIX(GLuint,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetListParameterivSGIX(GLuint,  GLenum,  GLint *) ;
+void WINAPI wine_glGetMinmaxEXT(GLenum,  GLboolean,  GLenum,  GLenum,  GLvoid *) ;
+void WINAPI wine_glGetMinmaxParameterfvEXT(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGetMinmaxParameterivEXT(GLenum,  GLenum,  GLint *) ;
+void WINAPI wine_glGetPixelTexGenParameterfvSGIS(GLenum,  GLfloat *) ;
+void WINAPI wine_glGetPixelTexGenParameterivSGIS(GLenum,  GLint *) ;
+void WINAPI wine_glGetPointervEXT(GLenum,  GLvoid* *) ;
+void WINAPI wine_glGetSeparableFilterEXT(GLenum,  GLenum,  GLenum,  GLvoid *,  GLvoid *,  GLvoid *) ;
+void WINAPI wine_glGetSharpenTexFuncSGIS(GLenum,  GLfloat *) ;
+void WINAPI wine_glGetTexFilterFuncSGIS(GLenum,  GLenum,  GLfloat *) ;
+void WINAPI wine_glGlobalAlphaFactorbSUN(GLbyte) ;
+void WINAPI wine_glGlobalAlphaFactordSUN(GLdouble) ;
+void WINAPI wine_glGlobalAlphaFactorfSUN(GLfloat) ;
+void WINAPI wine_glGlobalAlphaFactoriSUN(GLint) ;
+void WINAPI wine_glGlobalAlphaFactorsSUN(GLshort) ;
+void WINAPI wine_glGlobalAlphaFactorubSUN(GLubyte) ;
+void WINAPI wine_glGlobalAlphaFactoruiSUN(GLuint) ;
+void WINAPI wine_glGlobalAlphaFactorusSUN(GLushort) ;
+void WINAPI wine_glHintPGI(GLenum,  GLint) ;
+void WINAPI wine_glHistogramEXT(GLenum,  GLsizei,  GLenum,  GLboolean) ;
+void WINAPI wine_glImageTransformParameterfHP(GLenum,  GLenum,  GLfloat) ;
+void WINAPI wine_glImageTransformParameterfvHP(GLenum,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glImageTransformParameteriHP(GLenum,  GLenum,  GLint) ;
+void WINAPI wine_glImageTransformParameterivHP(GLenum,  GLenum,  const GLint *) ;
+void WINAPI wine_glIndexFuncEXT(GLenum,  GLclampf) ;
+void WINAPI wine_glIndexMaterialEXT(GLenum,  GLenum) ;
+void WINAPI wine_glIndexPointerEXT(GLenum,  GLsizei,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glIndexPointerListIBM(GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glInstrumentsBufferSGIX(GLsizei,  GLint *) ;
+GLboolean WINAPI wine_glIsTextureEXT(GLuint) ;
+void WINAPI wine_glLightEnviSGIX(GLenum,  GLint) ;
+void WINAPI wine_glListParameterfSGIX(GLuint,  GLenum,  GLfloat) ;
+void WINAPI wine_glListParameterfvSGIX(GLuint,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glListParameteriSGIX(GLuint,  GLenum,  GLint) ;
+void WINAPI wine_glListParameterivSGIX(GLuint,  GLenum,  const GLint *) ;
+void WINAPI wine_glLoadTransposeMatrixdARB(const GLdouble *) ;
+void WINAPI wine_glLoadTransposeMatrixfARB(const GLfloat *) ;
+void WINAPI wine_glLockArraysEXT(GLint,  GLsizei) ;
+void WINAPI wine_glMinmaxEXT(GLenum,  GLenum,  GLboolean) ;
+void WINAPI wine_glMultTransposeMatrixdARB(const GLdouble *) ;
+void WINAPI wine_glMultTransposeMatrixfARB(const GLfloat *) ;
+void WINAPI wine_glMultiDrawArraysEXT(GLenum,  GLint *,  GLsizei *,  GLsizei) ;
+void WINAPI wine_glMultiDrawElementsEXT(GLenum,  const GLsizei *,  GLenum,  const GLvoid* *,  GLsizei) ;
+void WINAPI wine_glMultiModeDrawArraysIBM(GLenum,  const GLint *,  const GLsizei *,  GLsizei,  GLint) ;
+void WINAPI wine_glMultiModeDrawElementsIBM(const GLenum *,  const GLsizei *,  GLenum,  const GLvoid* *,  GLsizei,  GLint) ;
+void WINAPI wine_glNormal3fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glNormal3fVertex3fvSUN(const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glNormalPointerEXT(GLenum,  GLsizei,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glNormalPointerListIBM(GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glNormalPointervINTEL(GLenum,  const GLvoid* *) ;
+void WINAPI wine_glPixelTexGenParameterfSGIS(GLenum,  GLfloat) ;
+void WINAPI wine_glPixelTexGenParameterfvSGIS(GLenum,  const GLfloat *) ;
+void WINAPI wine_glPixelTexGenParameteriSGIS(GLenum,  GLint) ;
+void WINAPI wine_glPixelTexGenParameterivSGIS(GLenum,  const GLint *) ;
+void WINAPI wine_glPixelTexGenSGIX(GLenum) ;
+void WINAPI wine_glPixelTransformParameterfEXT(GLenum,  GLenum,  GLfloat) ;
+void WINAPI wine_glPixelTransformParameterfvEXT(GLenum,  GLenum,  const GLfloat *) ;
+void WINAPI wine_glPixelTransformParameteriEXT(GLenum,  GLenum,  GLint) ;
+void WINAPI wine_glPixelTransformParameterivEXT(GLenum,  GLenum,  const GLint *) ;
+void WINAPI wine_glPointParameterfEXT(GLenum,  GLfloat) ;
+void WINAPI wine_glPointParameterfSGIS(GLenum,  GLfloat) ;
+void WINAPI wine_glPointParameterfvEXT(GLenum,  const GLfloat *) ;
+void WINAPI wine_glPointParameterfvSGIS(GLenum,  const GLfloat *) ;
+GLint WINAPI wine_glPollInstrumentsSGIX(GLint *) ;
+void WINAPI wine_glPolygonOffsetEXT(GLfloat,  GLfloat) ;
+void WINAPI wine_glPrioritizeTexturesEXT(GLsizei,  const GLuint *,  const GLclampf *) ;
+void WINAPI wine_glReadInstrumentsSGIX(GLint) ;
+void WINAPI wine_glReferencePlaneSGIX(const GLdouble *) ;
+void WINAPI wine_glReplacementCodePointer(GLenum,  GLsizei,  const GLvoid* *) ;
+void WINAPI wine_glReplacementCodeubSUN(GLubyte) ;
+void WINAPI wine_glReplacementCodeubvSUN(const GLubyte *) ;
+void WINAPI wine_glReplacementCodeuiColor3fVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiColor3fVertex3fvSUN(const GLenum *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLenum *,  const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiColor4ubVertex3fSUN(GLenum,  GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiColor4ubVertex3fvSUN(const GLenum *,  const GLubyte *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiNormal3fVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiNormal3fVertex3fvSUN(const GLenum *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiSUN(GLuint) ;
+void WINAPI wine_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLenum *,  const GLfloat *,  const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLenum *,  const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiTexCoord2fVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLenum *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuiVertex3fSUN(GLenum,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glReplacementCodeuiVertex3fvSUN(const GLenum *,  const GLfloat *) ;
+void WINAPI wine_glReplacementCodeuivSUN(const GLuint *) ;
+void WINAPI wine_glReplacementCodeusSUN(GLushort) ;
+void WINAPI wine_glReplacementCodeusvSUN(const GLushort *) ;
+void WINAPI wine_glResetHistogramEXT(GLenum) ;
+void WINAPI wine_glResetMinmaxEXT(GLenum) ;
+void WINAPI wine_glResizeBuffersMESA(void) ;
+void WINAPI wine_glSampleCoverageARB(GLclampf,  GLboolean) ;
+void WINAPI wine_glSampleMaskEXT(GLclampf,  GLboolean) ;
+void WINAPI wine_glSampleMaskSGIS(GLclampf,  GLboolean) ;
+void WINAPI wine_glSamplePassARB(GLenum) ;
+void WINAPI wine_glSamplePatternEXT(GLenum) ;
+void WINAPI wine_glSamplePatternSGIS(GLenum) ;
+void WINAPI wine_glSecondaryColor3bEXT(GLbyte,  GLbyte,  GLbyte) ;
+void WINAPI wine_glSecondaryColor3bvEXT(const GLbyte *) ;
+void WINAPI wine_glSecondaryColor3dEXT(GLdouble,  GLdouble,  GLdouble) ;
+void WINAPI wine_glSecondaryColor3dvEXT(const GLdouble *) ;
+void WINAPI wine_glSecondaryColor3fEXT(GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glSecondaryColor3fvEXT(const GLfloat *) ;
+void WINAPI wine_glSecondaryColor3iEXT(GLint,  GLint,  GLint) ;
+void WINAPI wine_glSecondaryColor3ivEXT(const GLint *) ;
+void WINAPI wine_glSecondaryColor3sEXT(GLshort,  GLshort,  GLshort) ;
+void WINAPI wine_glSecondaryColor3svEXT(const GLshort *) ;
+void WINAPI wine_glSecondaryColor3ubEXT(GLubyte,  GLubyte,  GLubyte) ;
+void WINAPI wine_glSecondaryColor3ubvEXT(const GLubyte *) ;
+void WINAPI wine_glSecondaryColor3uiEXT(GLuint,  GLuint,  GLuint) ;
+void WINAPI wine_glSecondaryColor3uivEXT(const GLuint *) ;
+void WINAPI wine_glSecondaryColor3usEXT(GLushort,  GLushort,  GLushort) ;
+void WINAPI wine_glSecondaryColor3usvEXT(const GLushort *) ;
+void WINAPI wine_glSecondaryColorPointerEXT(GLint,  GLenum,  GLsizei,  GLvoid *) ;
+void WINAPI wine_glSecondaryColorPointerListIBM(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glSeparableFilter2DEXT(GLenum,  GLenum,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *,  const GLvoid *) ;
+void WINAPI wine_glSharpenTexFuncSGIS(GLenum,  GLsizei,  const GLfloat *) ;
+void WINAPI wine_glSpriteParameterfSGIX(GLenum,  GLfloat) ;
+void WINAPI wine_glSpriteParameterfvSGIX(GLenum,  const GLfloat *) ;
+void WINAPI wine_glSpriteParameteriSGIX(GLenum,  GLint) ;
+void WINAPI wine_glSpriteParameterivSGIX(GLenum,  const GLint *) ;
+void WINAPI wine_glStartInstrumentsSGIX(void) ;
+void WINAPI wine_glStopInstrumentsSGIX(GLint) ;
+void WINAPI wine_glTagSampleBufferSGIX(void) ;
+void WINAPI wine_glTangent3b(GLbyte,  GLbyte,  GLbyte) ;
+void WINAPI wine_glTangent3bv(const GLbyte *) ;
+void WINAPI wine_glTangent3d(GLdouble,  GLdouble,  GLdouble) ;
+void WINAPI wine_glTangent3dv(const GLdouble *) ;
+void WINAPI wine_glTangent3f(GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTangent3fv(const GLfloat *) ;
+void WINAPI wine_glTangent3i(GLint,  GLint,  GLint) ;
+void WINAPI wine_glTangent3iv(const GLint *) ;
+void WINAPI wine_glTangent3s(GLshort,  GLshort,  GLshort) ;
+void WINAPI wine_glTangent3sv(const GLshort *) ;
+void WINAPI wine_glTangentPointerEXT(GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glTbufferMask3DFX(GLuint) ;
+void WINAPI wine_glTexCoord2fColor3fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord2fColor3fVertex3fvSUN(const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat *,  const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glTexCoord2fColor4ubVertex3fSUN(GLfloat,  GLfloat,  GLubyte,  GLubyte,  GLubyte,  GLubyte,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord2fColor4ubVertex3fvSUN(const GLfloat *,  const GLubyte *,  const GLfloat *) ;
+void WINAPI wine_glTexCoord2fNormal3fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord2fNormal3fVertex3fvSUN(const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glTexCoord2fVertex3fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord2fVertex3fvSUN(const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat *,  const GLfloat *,  const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glTexCoord4fVertex4fSUN(GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glTexCoord4fVertex4fvSUN(const GLfloat *,  const GLfloat *) ;
+void WINAPI wine_glTexCoordPointerEXT(GLint,  GLenum,  GLsizei,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glTexCoordPointerListIBM(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glTexCoordPointervINTEL(GLint,  GLenum,  const GLvoid* *) ;
+void WINAPI wine_glTexFilterFuncSGIS(GLenum,  GLenum,  GLsizei,  const GLfloat *) ;
+void WINAPI wine_glTexImage3DEXT(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLsizei,  GLint,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glTexImage4DSGIS(GLenum,  GLint,  GLenum,  GLsizei,  GLsizei,  GLsizei,  GLsizei,  GLint,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glTexSubImage1DEXT(GLenum,  GLint,  GLint,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glTexSubImage2DEXT(GLenum,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glTexSubImage3DEXT(GLenum,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glTexSubImage4DSGIS(GLenum,  GLint,  GLint,  GLint,  GLint,  GLint,  GLsizei,  GLsizei,  GLsizei,  GLsizei,  GLenum,  GLenum,  const GLvoid *) ;
+void WINAPI wine_glTextureLightEXT(GLenum) ;
+void WINAPI wine_glTextureMaterialEXT(GLenum,  GLenum) ;
+void WINAPI wine_glTextureNormalEXT(GLenum) ;
+void WINAPI wine_glUnlockArraysEXT(void) ;
+void WINAPI wine_glVertexArrayRangeNV(GLsizei,  const GLvoid *) ;
+void WINAPI wine_glVertexPointerEXT(GLint,  GLenum,  GLsizei,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glVertexPointerListIBM(GLint,  GLenum,  GLint,  const GLvoid* *,  GLint) ;
+void WINAPI wine_glVertexPointervINTEL(GLint,  GLenum,  const GLvoid* *) ;
+void WINAPI wine_glVertexWeightPointerEXT(GLsizei,  GLenum,  GLsizei,  const GLvoid *) ;
+void WINAPI wine_glVertexWeightfEXT(GLfloat) ;
+void WINAPI wine_glVertexWeightfvEXT(const GLfloat *) ;
+void WINAPI wine_glWindowPos2dMESA(GLdouble,  GLdouble) ;
+void WINAPI wine_glWindowPos2dvMESA(const GLdouble *) ;
+void WINAPI wine_glWindowPos2fMESA(GLfloat,  GLfloat) ;
+void WINAPI wine_glWindowPos2fvMESA(const GLfloat *) ;
+void WINAPI wine_glWindowPos2iMESA(GLint,  GLint) ;
+void WINAPI wine_glWindowPos2ivMESA(const GLint *) ;
+void WINAPI wine_glWindowPos2sMESA(GLshort,  GLshort) ;
+void WINAPI wine_glWindowPos2svMESA(const GLshort *) ;
+void WINAPI wine_glWindowPos3dMESA(GLdouble,  GLdouble,  GLdouble) ;
+void WINAPI wine_glWindowPos3dvMESA(const GLdouble *) ;
+void WINAPI wine_glWindowPos3fMESA(GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glWindowPos3fvMESA(const GLfloat *) ;
+void WINAPI wine_glWindowPos3iMESA(GLint,  GLint,  GLint) ;
+void WINAPI wine_glWindowPos3ivMESA(const GLint *) ;
+void WINAPI wine_glWindowPos3sMESA(GLshort,  GLshort,  GLshort) ;
+void WINAPI wine_glWindowPos3svMESA(const GLshort *) ;
+void WINAPI wine_glWindowPos4dMESA(GLdouble,  GLdouble,  GLdouble,  GLdouble) ;
+void WINAPI wine_glWindowPos4dvMESA(const GLdouble *) ;
+void WINAPI wine_glWindowPos4fMESA(GLfloat,  GLfloat,  GLfloat,  GLfloat) ;
+void WINAPI wine_glWindowPos4fvMESA(const GLfloat *) ;
+void WINAPI wine_glWindowPos4iMESA(GLint,  GLint,  GLint,  GLint) ;
+void WINAPI wine_glWindowPos4ivMESA(const GLint *) ;
+void WINAPI wine_glWindowPos4sMESA(GLshort,  GLshort,  GLshort,  GLshort) ;
+void WINAPI wine_glWindowPos4svMESA(const GLshort *) ;
+
+/* The table giving the correspondance between names and functions */
+int extension_registry_size = 322;
+OpenGL_extension extension_registry[] = {
+  { "glApplyTextureEXT", (void *) wine_glApplyTextureEXT, (void **) (&func_glApplyTextureEXT) },
+  { "glAreTexturesResidentEXT", (void *) wine_glAreTexturesResidentEXT, (void **) (&func_glAreTexturesResidentEXT) },
+  { "glArrayElementEXT", (void *) wine_glArrayElementEXT, (void **) (&func_glArrayElementEXT) },
+  { "glBindTextureEXT", (void *) wine_glBindTextureEXT, (void **) (&func_glBindTextureEXT) },
+  { "glBinormal3b", (void *) wine_glBinormal3b, (void **) (&func_glBinormal3b) },
+  { "glBinormal3bv", (void *) wine_glBinormal3bv, (void **) (&func_glBinormal3bv) },
+  { "glBinormal3d", (void *) wine_glBinormal3d, (void **) (&func_glBinormal3d) },
+  { "glBinormal3dv", (void *) wine_glBinormal3dv, (void **) (&func_glBinormal3dv) },
+  { "glBinormal3f", (void *) wine_glBinormal3f, (void **) (&func_glBinormal3f) },
+  { "glBinormal3fv", (void *) wine_glBinormal3fv, (void **) (&func_glBinormal3fv) },
+  { "glBinormal3i", (void *) wine_glBinormal3i, (void **) (&func_glBinormal3i) },
+  { "glBinormal3iv", (void *) wine_glBinormal3iv, (void **) (&func_glBinormal3iv) },
+  { "glBinormal3s", (void *) wine_glBinormal3s, (void **) (&func_glBinormal3s) },
+  { "glBinormal3sv", (void *) wine_glBinormal3sv, (void **) (&func_glBinormal3sv) },
+  { "glBinormalPointerEXT", (void *) wine_glBinormalPointerEXT, (void **) (&func_glBinormalPointerEXT) },
+  { "glBlendColorEXT", (void *) wine_glBlendColorEXT, (void **) (&func_glBlendColorEXT) },
+  { "glBlendEquationEXT", (void *) wine_glBlendEquationEXT, (void **) (&func_glBlendEquationEXT) },
+  { "glBlendFuncSeparateEXT", (void *) wine_glBlendFuncSeparateEXT, (void **) (&func_glBlendFuncSeparateEXT) },
+  { "glColor3fVertex3fSUN", (void *) wine_glColor3fVertex3fSUN, (void **) (&func_glColor3fVertex3fSUN) },
+  { "glColor3fVertex3fvSUN", (void *) wine_glColor3fVertex3fvSUN, (void **) (&func_glColor3fVertex3fvSUN) },
+  { "glColor4fNormal3fVertex3fSUN", (void *) wine_glColor4fNormal3fVertex3fSUN, (void **) (&func_glColor4fNormal3fVertex3fSUN) },
+  { "glColor4fNormal3fVertex3fvSUN", (void *) wine_glColor4fNormal3fVertex3fvSUN, (void **) (&func_glColor4fNormal3fVertex3fvSUN) },
+  { "glColor4ubVertex2fSUN", (void *) wine_glColor4ubVertex2fSUN, (void **) (&func_glColor4ubVertex2fSUN) },
+  { "glColor4ubVertex2fvSUN", (void *) wine_glColor4ubVertex2fvSUN, (void **) (&func_glColor4ubVertex2fvSUN) },
+  { "glColor4ubVertex3fSUN", (void *) wine_glColor4ubVertex3fSUN, (void **) (&func_glColor4ubVertex3fSUN) },
+  { "glColor4ubVertex3fvSUN", (void *) wine_glColor4ubVertex3fvSUN, (void **) (&func_glColor4ubVertex3fvSUN) },
+  { "glColorPointerEXT", (void *) wine_glColorPointerEXT, (void **) (&func_glColorPointerEXT) },
+  { "glColorPointerListIBM", (void *) wine_glColorPointerListIBM, (void **) (&func_glColorPointerListIBM) },
+  { "glColorPointervINTEL", (void *) wine_glColorPointervINTEL, (void **) (&func_glColorPointervINTEL) },
+  { "glColorSubTableEXT", (void *) wine_glColorSubTableEXT, (void **) (&func_glColorSubTableEXT) },
+  { "glColorTableEXT", (void *) wine_glColorTableEXT, (void **) (&func_glColorTableEXT) },
+  { "glColorTableParameterfvSGI", (void *) wine_glColorTableParameterfvSGI, (void **) (&func_glColorTableParameterfvSGI) },
+  { "glColorTableParameterivSGI", (void *) wine_glColorTableParameterivSGI, (void **) (&func_glColorTableParameterivSGI) },
+  { "glColorTableSGI", (void *) wine_glColorTableSGI, (void **) (&func_glColorTableSGI) },
+  { "glCombinerInputNV", (void *) wine_glCombinerInputNV, (void **) (&func_glCombinerInputNV) },
+  { "glCombinerOutputNV", (void *) wine_glCombinerOutputNV, (void **) (&func_glCombinerOutputNV) },
+  { "glCombinerParameterfNV", (void *) wine_glCombinerParameterfNV, (void **) (&func_glCombinerParameterfNV) },
+  { "glCombinerParameterfvNV", (void *) wine_glCombinerParameterfvNV, (void **) (&func_glCombinerParameterfvNV) },
+  { "glCombinerParameteriNV", (void *) wine_glCombinerParameteriNV, (void **) (&func_glCombinerParameteriNV) },
+  { "glCombinerParameterivNV", (void *) wine_glCombinerParameterivNV, (void **) (&func_glCombinerParameterivNV) },
+  { "glCompressedTexImage1DARB", (void *) wine_glCompressedTexImage1DARB, (void **) (&func_glCompressedTexImage1DARB) },
+  { "glCompressedTexImage2DARB", (void *) wine_glCompressedTexImage2DARB, (void **) (&func_glCompressedTexImage2DARB) },
+  { "glCompressedTexImage3DARB", (void *) wine_glCompressedTexImage3DARB, (void **) (&func_glCompressedTexImage3DARB) },
+  { "glCompressedTexSubImage1DARB", (void *) wine_glCompressedTexSubImage1DARB, (void **) (&func_glCompressedTexSubImage1DARB) },
+  { "glCompressedTexSubImage2DARB", (void *) wine_glCompressedTexSubImage2DARB, (void **) (&func_glCompressedTexSubImage2DARB) },
+  { "glCompressedTexSubImage3DARB", (void *) wine_glCompressedTexSubImage3DARB, (void **) (&func_glCompressedTexSubImage3DARB) },
+  { "glConvolutionFilter1DEXT", (void *) wine_glConvolutionFilter1DEXT, (void **) (&func_glConvolutionFilter1DEXT) },
+  { "glConvolutionFilter2DEXT", (void *) wine_glConvolutionFilter2DEXT, (void **) (&func_glConvolutionFilter2DEXT) },
+  { "glConvolutionParameterfEXT", (void *) wine_glConvolutionParameterfEXT, (void **) (&func_glConvolutionParameterfEXT) },
+  { "glConvolutionParameterfvEXT", (void *) wine_glConvolutionParameterfvEXT, (void **) (&func_glConvolutionParameterfvEXT) },
+  { "glConvolutionParameteriEXT", (void *) wine_glConvolutionParameteriEXT, (void **) (&func_glConvolutionParameteriEXT) },
+  { "glConvolutionParameterivEXT", (void *) wine_glConvolutionParameterivEXT, (void **) (&func_glConvolutionParameterivEXT) },
+  { "glCopyColorSubTableEXT", (void *) wine_glCopyColorSubTableEXT, (void **) (&func_glCopyColorSubTableEXT) },
+  { "glCopyColorTableSGI", (void *) wine_glCopyColorTableSGI, (void **) (&func_glCopyColorTableSGI) },
+  { "glCopyConvolutionFilter1DEXT", (void *) wine_glCopyConvolutionFilter1DEXT, (void **) (&func_glCopyConvolutionFilter1DEXT) },
+  { "glCopyConvolutionFilter2DEXT", (void *) wine_glCopyConvolutionFilter2DEXT, (void **) (&func_glCopyConvolutionFilter2DEXT) },
+  { "glCopyTexImage1DEXT", (void *) wine_glCopyTexImage1DEXT, (void **) (&func_glCopyTexImage1DEXT) },
+  { "glCopyTexImage2DEXT", (void *) wine_glCopyTexImage2DEXT, (void **) (&func_glCopyTexImage2DEXT) },
+  { "glCopyTexSubImage1DEXT", (void *) wine_glCopyTexSubImage1DEXT, (void **) (&func_glCopyTexSubImage1DEXT) },
+  { "glCopyTexSubImage2DEXT", (void *) wine_glCopyTexSubImage2DEXT, (void **) (&func_glCopyTexSubImage2DEXT) },
+  { "glCopyTexSubImage3DEXT", (void *) wine_glCopyTexSubImage3DEXT, (void **) (&func_glCopyTexSubImage3DEXT) },
+  { "glCullParameterdvEXT", (void *) wine_glCullParameterdvEXT, (void **) (&func_glCullParameterdvEXT) },
+  { "glCullParameterfvEXT", (void *) wine_glCullParameterfvEXT, (void **) (&func_glCullParameterfvEXT) },
+  { "glDeleteTexturesEXT", (void *) wine_glDeleteTexturesEXT, (void **) (&func_glDeleteTexturesEXT) },
+  { "glDetailTexFuncSGIS", (void *) wine_glDetailTexFuncSGIS, (void **) (&func_glDetailTexFuncSGIS) },
+  { "glDrawArraysEXT", (void *) wine_glDrawArraysEXT, (void **) (&func_glDrawArraysEXT) },
+  { "glDrawRangeElementsEXT", (void *) wine_glDrawRangeElementsEXT, (void **) (&func_glDrawRangeElementsEXT) },
+  { "glEdgeFlagPointerEXT", (void *) wine_glEdgeFlagPointerEXT, (void **) (&func_glEdgeFlagPointerEXT) },
+  { "glEdgeFlagPointerListIBM", (void *) wine_glEdgeFlagPointerListIBM, (void **) (&func_glEdgeFlagPointerListIBM) },
+  { "glFinalCombinerInputNV", (void *) wine_glFinalCombinerInputNV, (void **) (&func_glFinalCombinerInputNV) },
+  { "glFinishTextureSUNX", (void *) wine_glFinishTextureSUNX, (void **) (&func_glFinishTextureSUNX) },
+  { "glFlushRasterSGIX", (void *) wine_glFlushRasterSGIX, (void **) (&func_glFlushRasterSGIX) },
+  { "glFlushVertexArrayRangeNV", (void *) wine_glFlushVertexArrayRangeNV, (void **) (&func_glFlushVertexArrayRangeNV) },
+  { "glFogCoordPointerEXT", (void *) wine_glFogCoordPointerEXT, (void **) (&func_glFogCoordPointerEXT) },
+  { "glFogCoordPointerListIBM", (void *) wine_glFogCoordPointerListIBM, (void **) (&func_glFogCoordPointerListIBM) },
+  { "glFogCoorddEXT", (void *) wine_glFogCoorddEXT, (void **) (&func_glFogCoorddEXT) },
+  { "glFogCoorddvEXT", (void *) wine_glFogCoorddvEXT, (void **) (&func_glFogCoorddvEXT) },
+  { "glFogCoordfEXT", (void *) wine_glFogCoordfEXT, (void **) (&func_glFogCoordfEXT) },
+  { "glFogCoordfvEXT", (void *) wine_glFogCoordfvEXT, (void **) (&func_glFogCoordfvEXT) },
+  { "glFogFuncSGIS", (void *) wine_glFogFuncSGIS, (void **) (&func_glFogFuncSGIS) },
+  { "glFragmentColorMaterialSGIX", (void *) wine_glFragmentColorMaterialSGIX, (void **) (&func_glFragmentColorMaterialSGIX) },
+  { "glFragmentLightModelfSGIX", (void *) wine_glFragmentLightModelfSGIX, (void **) (&func_glFragmentLightModelfSGIX) },
+  { "glFragmentLightModelfvSGIX", (void *) wine_glFragmentLightModelfvSGIX, (void **) (&func_glFragmentLightModelfvSGIX) },
+  { "glFragmentLightModeliSGIX", (void *) wine_glFragmentLightModeliSGIX, (void **) (&func_glFragmentLightModeliSGIX) },
+  { "glFragmentLightModelivSGIX", (void *) wine_glFragmentLightModelivSGIX, (void **) (&func_glFragmentLightModelivSGIX) },
+  { "glFragmentLightfSGIX", (void *) wine_glFragmentLightfSGIX, (void **) (&func_glFragmentLightfSGIX) },
+  { "glFragmentLightfvSGIX", (void *) wine_glFragmentLightfvSGIX, (void **) (&func_glFragmentLightfvSGIX) },
+  { "glFragmentLightiSGIX", (void *) wine_glFragmentLightiSGIX, (void **) (&func_glFragmentLightiSGIX) },
+  { "glFragmentLightivSGIX", (void *) wine_glFragmentLightivSGIX, (void **) (&func_glFragmentLightivSGIX) },
+  { "glFragmentMaterialfSGIX", (void *) wine_glFragmentMaterialfSGIX, (void **) (&func_glFragmentMaterialfSGIX) },
+  { "glFragmentMaterialfvSGIX", (void *) wine_glFragmentMaterialfvSGIX, (void **) (&func_glFragmentMaterialfvSGIX) },
+  { "glFragmentMaterialiSGIX", (void *) wine_glFragmentMaterialiSGIX, (void **) (&func_glFragmentMaterialiSGIX) },
+  { "glFragmentMaterialivSGIX", (void *) wine_glFragmentMaterialivSGIX, (void **) (&func_glFragmentMaterialivSGIX) },
+  { "glFrameZoomSGIX", (void *) wine_glFrameZoomSGIX, (void **) (&func_glFrameZoomSGIX) },
+  { "glGenTexturesEXT", (void *) wine_glGenTexturesEXT, (void **) (&func_glGenTexturesEXT) },
+  { "glGetColorTableEXT", (void *) wine_glGetColorTableEXT, (void **) (&func_glGetColorTableEXT) },
+  { "glGetColorTableParameterfvEXT", (void *) wine_glGetColorTableParameterfvEXT, (void **) (&func_glGetColorTableParameterfvEXT) },
+  { "glGetColorTableParameterfvSGI", (void *) wine_glGetColorTableParameterfvSGI, (void **) (&func_glGetColorTableParameterfvSGI) },
+  { "glGetColorTableParameterivEXT", (void *) wine_glGetColorTableParameterivEXT, (void **) (&func_glGetColorTableParameterivEXT) },
+  { "glGetColorTableParameterivSGI", (void *) wine_glGetColorTableParameterivSGI, (void **) (&func_glGetColorTableParameterivSGI) },
+  { "glGetColorTableSGI", (void *) wine_glGetColorTableSGI, (void **) (&func_glGetColorTableSGI) },
+  { "glGetCombinerInputParameterfvNV", (void *) wine_glGetCombinerInputParameterfvNV, (void **) (&func_glGetCombinerInputParameterfvNV) },
+  { "glGetCombinerInputParameterivNV", (void *) wine_glGetCombinerInputParameterivNV, (void **) (&func_glGetCombinerInputParameterivNV) },
+  { "glGetCombinerOutputParameterfvNV", (void *) wine_glGetCombinerOutputParameterfvNV, (void **) (&func_glGetCombinerOutputParameterfvNV) },
+  { "glGetCombinerOutputParameterivNV", (void *) wine_glGetCombinerOutputParameterivNV, (void **) (&func_glGetCombinerOutputParameterivNV) },
+  { "glGetCompressedTexImageARB", (void *) wine_glGetCompressedTexImageARB, (void **) (&func_glGetCompressedTexImageARB) },
+  { "glGetConvolutionFilterEXT", (void *) wine_glGetConvolutionFilterEXT, (void **) (&func_glGetConvolutionFilterEXT) },
+  { "glGetConvolutionParameterfvEXT", (void *) wine_glGetConvolutionParameterfvEXT, (void **) (&func_glGetConvolutionParameterfvEXT) },
+  { "glGetConvolutionParameterivEXT", (void *) wine_glGetConvolutionParameterivEXT, (void **) (&func_glGetConvolutionParameterivEXT) },
+  { "glGetDetailTexFuncSGIS", (void *) wine_glGetDetailTexFuncSGIS, (void **) (&func_glGetDetailTexFuncSGIS) },
+  { "glGetFinalCombinerInputParameterfvNV", (void *) wine_glGetFinalCombinerInputParameterfvNV, (void **) (&func_glGetFinalCombinerInputParameterfvNV) },
+  { "glGetFinalCombinerInputParameterivNV", (void *) wine_glGetFinalCombinerInputParameterivNV, (void **) (&func_glGetFinalCombinerInputParameterivNV) },
+  { "glGetFogFuncSGIS", (void *) wine_glGetFogFuncSGIS, (void **) (&func_glGetFogFuncSGIS) },
+  { "glGetFragmentLightfvSGIX", (void *) wine_glGetFragmentLightfvSGIX, (void **) (&func_glGetFragmentLightfvSGIX) },
+  { "glGetFragmentLightivSGIX", (void *) wine_glGetFragmentLightivSGIX, (void **) (&func_glGetFragmentLightivSGIX) },
+  { "glGetFragmentMaterialfvSGIX", (void *) wine_glGetFragmentMaterialfvSGIX, (void **) (&func_glGetFragmentMaterialfvSGIX) },
+  { "glGetFragmentMaterialivSGIX", (void *) wine_glGetFragmentMaterialivSGIX, (void **) (&func_glGetFragmentMaterialivSGIX) },
+  { "glGetHistogramEXT", (void *) wine_glGetHistogramEXT, (void **) (&func_glGetHistogramEXT) },
+  { "glGetHistogramParameterfvEXT", (void *) wine_glGetHistogramParameterfvEXT, (void **) (&func_glGetHistogramParameterfvEXT) },
+  { "glGetHistogramParameterivEXT", (void *) wine_glGetHistogramParameterivEXT, (void **) (&func_glGetHistogramParameterivEXT) },
+  { "glGetImageTransformParameterfvHP", (void *) wine_glGetImageTransformParameterfvHP, (void **) (&func_glGetImageTransformParameterfvHP) },
+  { "glGetImageTransformParameterivHP", (void *) wine_glGetImageTransformParameterivHP, (void **) (&func_glGetImageTransformParameterivHP) },
+  { "glGetInstrumentsSGIX", (void *) wine_glGetInstrumentsSGIX, (void **) (&func_glGetInstrumentsSGIX) },
+  { "glGetListParameterfvSGIX", (void *) wine_glGetListParameterfvSGIX, (void **) (&func_glGetListParameterfvSGIX) },
+  { "glGetListParameterivSGIX", (void *) wine_glGetListParameterivSGIX, (void **) (&func_glGetListParameterivSGIX) },
+  { "glGetMinmaxEXT", (void *) wine_glGetMinmaxEXT, (void **) (&func_glGetMinmaxEXT) },
+  { "glGetMinmaxParameterfvEXT", (void *) wine_glGetMinmaxParameterfvEXT, (void **) (&func_glGetMinmaxParameterfvEXT) },
+  { "glGetMinmaxParameterivEXT", (void *) wine_glGetMinmaxParameterivEXT, (void **) (&func_glGetMinmaxParameterivEXT) },
+  { "glGetPixelTexGenParameterfvSGIS", (void *) wine_glGetPixelTexGenParameterfvSGIS, (void **) (&func_glGetPixelTexGenParameterfvSGIS) },
+  { "glGetPixelTexGenParameterivSGIS", (void *) wine_glGetPixelTexGenParameterivSGIS, (void **) (&func_glGetPixelTexGenParameterivSGIS) },
+  { "glGetPointervEXT", (void *) wine_glGetPointervEXT, (void **) (&func_glGetPointervEXT) },
+  { "glGetSeparableFilterEXT", (void *) wine_glGetSeparableFilterEXT, (void **) (&func_glGetSeparableFilterEXT) },
+  { "glGetSharpenTexFuncSGIS", (void *) wine_glGetSharpenTexFuncSGIS, (void **) (&func_glGetSharpenTexFuncSGIS) },
+  { "glGetTexFilterFuncSGIS", (void *) wine_glGetTexFilterFuncSGIS, (void **) (&func_glGetTexFilterFuncSGIS) },
+  { "glGlobalAlphaFactorbSUN", (void *) wine_glGlobalAlphaFactorbSUN, (void **) (&func_glGlobalAlphaFactorbSUN) },
+  { "glGlobalAlphaFactordSUN", (void *) wine_glGlobalAlphaFactordSUN, (void **) (&func_glGlobalAlphaFactordSUN) },
+  { "glGlobalAlphaFactorfSUN", (void *) wine_glGlobalAlphaFactorfSUN, (void **) (&func_glGlobalAlphaFactorfSUN) },
+  { "glGlobalAlphaFactoriSUN", (void *) wine_glGlobalAlphaFactoriSUN, (void **) (&func_glGlobalAlphaFactoriSUN) },
+  { "glGlobalAlphaFactorsSUN", (void *) wine_glGlobalAlphaFactorsSUN, (void **) (&func_glGlobalAlphaFactorsSUN) },
+  { "glGlobalAlphaFactorubSUN", (void *) wine_glGlobalAlphaFactorubSUN, (void **) (&func_glGlobalAlphaFactorubSUN) },
+  { "glGlobalAlphaFactoruiSUN", (void *) wine_glGlobalAlphaFactoruiSUN, (void **) (&func_glGlobalAlphaFactoruiSUN) },
+  { "glGlobalAlphaFactorusSUN", (void *) wine_glGlobalAlphaFactorusSUN, (void **) (&func_glGlobalAlphaFactorusSUN) },
+  { "glHintPGI", (void *) wine_glHintPGI, (void **) (&func_glHintPGI) },
+  { "glHistogramEXT", (void *) wine_glHistogramEXT, (void **) (&func_glHistogramEXT) },
+  { "glImageTransformParameterfHP", (void *) wine_glImageTransformParameterfHP, (void **) (&func_glImageTransformParameterfHP) },
+  { "glImageTransformParameterfvHP", (void *) wine_glImageTransformParameterfvHP, (void **) (&func_glImageTransformParameterfvHP) },
+  { "glImageTransformParameteriHP", (void *) wine_glImageTransformParameteriHP, (void **) (&func_glImageTransformParameteriHP) },
+  { "glImageTransformParameterivHP", (void *) wine_glImageTransformParameterivHP, (void **) (&func_glImageTransformParameterivHP) },
+  { "glIndexFuncEXT", (void *) wine_glIndexFuncEXT, (void **) (&func_glIndexFuncEXT) },
+  { "glIndexMaterialEXT", (void *) wine_glIndexMaterialEXT, (void **) (&func_glIndexMaterialEXT) },
+  { "glIndexPointerEXT", (void *) wine_glIndexPointerEXT, (void **) (&func_glIndexPointerEXT) },
+  { "glIndexPointerListIBM", (void *) wine_glIndexPointerListIBM, (void **) (&func_glIndexPointerListIBM) },
+  { "glInstrumentsBufferSGIX", (void *) wine_glInstrumentsBufferSGIX, (void **) (&func_glInstrumentsBufferSGIX) },
+  { "glIsTextureEXT", (void *) wine_glIsTextureEXT, (void **) (&func_glIsTextureEXT) },
+  { "glLightEnviSGIX", (void *) wine_glLightEnviSGIX, (void **) (&func_glLightEnviSGIX) },
+  { "glListParameterfSGIX", (void *) wine_glListParameterfSGIX, (void **) (&func_glListParameterfSGIX) },
+  { "glListParameterfvSGIX", (void *) wine_glListParameterfvSGIX, (void **) (&func_glListParameterfvSGIX) },
+  { "glListParameteriSGIX", (void *) wine_glListParameteriSGIX, (void **) (&func_glListParameteriSGIX) },
+  { "glListParameterivSGIX", (void *) wine_glListParameterivSGIX, (void **) (&func_glListParameterivSGIX) },
+  { "glLoadTransposeMatrixdARB", (void *) wine_glLoadTransposeMatrixdARB, (void **) (&func_glLoadTransposeMatrixdARB) },
+  { "glLoadTransposeMatrixfARB", (void *) wine_glLoadTransposeMatrixfARB, (void **) (&func_glLoadTransposeMatrixfARB) },
+  { "glLockArraysEXT", (void *) wine_glLockArraysEXT, (void **) (&func_glLockArraysEXT) },
+  { "glMinmaxEXT", (void *) wine_glMinmaxEXT, (void **) (&func_glMinmaxEXT) },
+  { "glMultTransposeMatrixdARB", (void *) wine_glMultTransposeMatrixdARB, (void **) (&func_glMultTransposeMatrixdARB) },
+  { "glMultTransposeMatrixfARB", (void *) wine_glMultTransposeMatrixfARB, (void **) (&func_glMultTransposeMatrixfARB) },
+  { "glMultiDrawArraysEXT", (void *) wine_glMultiDrawArraysEXT, (void **) (&func_glMultiDrawArraysEXT) },
+  { "glMultiDrawElementsEXT", (void *) wine_glMultiDrawElementsEXT, (void **) (&func_glMultiDrawElementsEXT) },
+  { "glMultiModeDrawArraysIBM", (void *) wine_glMultiModeDrawArraysIBM, (void **) (&func_glMultiModeDrawArraysIBM) },
+  { "glMultiModeDrawElementsIBM", (void *) wine_glMultiModeDrawElementsIBM, (void **) (&func_glMultiModeDrawElementsIBM) },
+  { "glNormal3fVertex3fSUN", (void *) wine_glNormal3fVertex3fSUN, (void **) (&func_glNormal3fVertex3fSUN) },
+  { "glNormal3fVertex3fvSUN", (void *) wine_glNormal3fVertex3fvSUN, (void **) (&func_glNormal3fVertex3fvSUN) },
+  { "glNormalPointerEXT", (void *) wine_glNormalPointerEXT, (void **) (&func_glNormalPointerEXT) },
+  { "glNormalPointerListIBM", (void *) wine_glNormalPointerListIBM, (void **) (&func_glNormalPointerListIBM) },
+  { "glNormalPointervINTEL", (void *) wine_glNormalPointervINTEL, (void **) (&func_glNormalPointervINTEL) },
+  { "glPixelTexGenParameterfSGIS", (void *) wine_glPixelTexGenParameterfSGIS, (void **) (&func_glPixelTexGenParameterfSGIS) },
+  { "glPixelTexGenParameterfvSGIS", (void *) wine_glPixelTexGenParameterfvSGIS, (void **) (&func_glPixelTexGenParameterfvSGIS) },
+  { "glPixelTexGenParameteriSGIS", (void *) wine_glPixelTexGenParameteriSGIS, (void **) (&func_glPixelTexGenParameteriSGIS) },
+  { "glPixelTexGenParameterivSGIS", (void *) wine_glPixelTexGenParameterivSGIS, (void **) (&func_glPixelTexGenParameterivSGIS) },
+  { "glPixelTexGenSGIX", (void *) wine_glPixelTexGenSGIX, (void **) (&func_glPixelTexGenSGIX) },
+  { "glPixelTransformParameterfEXT", (void *) wine_glPixelTransformParameterfEXT, (void **) (&func_glPixelTransformParameterfEXT) },
+  { "glPixelTransformParameterfvEXT", (void *) wine_glPixelTransformParameterfvEXT, (void **) (&func_glPixelTransformParameterfvEXT) },
+  { "glPixelTransformParameteriEXT", (void *) wine_glPixelTransformParameteriEXT, (void **) (&func_glPixelTransformParameteriEXT) },
+  { "glPixelTransformParameterivEXT", (void *) wine_glPixelTransformParameterivEXT, (void **) (&func_glPixelTransformParameterivEXT) },
+  { "glPointParameterfEXT", (void *) wine_glPointParameterfEXT, (void **) (&func_glPointParameterfEXT) },
+  { "glPointParameterfSGIS", (void *) wine_glPointParameterfSGIS, (void **) (&func_glPointParameterfSGIS) },
+  { "glPointParameterfvEXT", (void *) wine_glPointParameterfvEXT, (void **) (&func_glPointParameterfvEXT) },
+  { "glPointParameterfvSGIS", (void *) wine_glPointParameterfvSGIS, (void **) (&func_glPointParameterfvSGIS) },
+  { "glPollInstrumentsSGIX", (void *) wine_glPollInstrumentsSGIX, (void **) (&func_glPollInstrumentsSGIX) },
+  { "glPolygonOffsetEXT", (void *) wine_glPolygonOffsetEXT, (void **) (&func_glPolygonOffsetEXT) },
+  { "glPrioritizeTexturesEXT", (void *) wine_glPrioritizeTexturesEXT, (void **) (&func_glPrioritizeTexturesEXT) },
+  { "glReadInstrumentsSGIX", (void *) wine_glReadInstrumentsSGIX, (void **) (&func_glReadInstrumentsSGIX) },
+  { "glReferencePlaneSGIX", (void *) wine_glReferencePlaneSGIX, (void **) (&func_glReferencePlaneSGIX) },
+  { "glReplacementCodePointer", (void *) wine_glReplacementCodePointer, (void **) (&func_glReplacementCodePointer) },
+  { "glReplacementCodeubSUN", (void *) wine_glReplacementCodeubSUN, (void **) (&func_glReplacementCodeubSUN) },
+  { "glReplacementCodeubvSUN", (void *) wine_glReplacementCodeubvSUN, (void **) (&func_glReplacementCodeubvSUN) },
+  { "glReplacementCodeuiColor3fVertex3fSUN", (void *) wine_glReplacementCodeuiColor3fVertex3fSUN, (void **) (&func_glReplacementCodeuiColor3fVertex3fSUN) },
+  { "glReplacementCodeuiColor3fVertex3fvSUN", (void *) wine_glReplacementCodeuiColor3fVertex3fvSUN, (void **) (&func_glReplacementCodeuiColor3fVertex3fvSUN) },
+  { "glReplacementCodeuiColor4fNormal3fVertex3fSUN", (void *) wine_glReplacementCodeuiColor4fNormal3fVertex3fSUN, (void **) (&func_glReplacementCodeuiColor4fNormal3fVertex3fSUN) },
+  { "glReplacementCodeuiColor4fNormal3fVertex3fvSUN", (void *) wine_glReplacementCodeuiColor4fNormal3fVertex3fvSUN, (void **) (&func_glReplacementCodeuiColor4fNormal3fVertex3fvSUN) },
+  { "glReplacementCodeuiColor4ubVertex3fSUN", (void *) wine_glReplacementCodeuiColor4ubVertex3fSUN, (void **) (&func_glReplacementCodeuiColor4ubVertex3fSUN) },
+  { "glReplacementCodeuiColor4ubVertex3fvSUN", (void *) wine_glReplacementCodeuiColor4ubVertex3fvSUN, (void **) (&func_glReplacementCodeuiColor4ubVertex3fvSUN) },
+  { "glReplacementCodeuiNormal3fVertex3fSUN", (void *) wine_glReplacementCodeuiNormal3fVertex3fSUN, (void **) (&func_glReplacementCodeuiNormal3fVertex3fSUN) },
+  { "glReplacementCodeuiNormal3fVertex3fvSUN", (void *) wine_glReplacementCodeuiNormal3fVertex3fvSUN, (void **) (&func_glReplacementCodeuiNormal3fVertex3fvSUN) },
+  { "glReplacementCodeuiSUN", (void *) wine_glReplacementCodeuiSUN, (void **) (&func_glReplacementCodeuiSUN) },
+  { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", (void *) wine_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, (void **) (&func_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) },
+  { "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", (void *) wine_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, (void **) (&func_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) },
+  { "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", (void *) wine_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, (void **) (&func_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) },
+  { "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", (void *) wine_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, (void **) (&func_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) },
+  { "glReplacementCodeuiTexCoord2fVertex3fSUN", (void *) wine_glReplacementCodeuiTexCoord2fVertex3fSUN, (void **) (&func_glReplacementCodeuiTexCoord2fVertex3fSUN) },
+  { "glReplacementCodeuiTexCoord2fVertex3fvSUN", (void *) wine_glReplacementCodeuiTexCoord2fVertex3fvSUN, (void **) (&func_glReplacementCodeuiTexCoord2fVertex3fvSUN) },
+  { "glReplacementCodeuiVertex3fSUN", (void *) wine_glReplacementCodeuiVertex3fSUN, (void **) (&func_glReplacementCodeuiVertex3fSUN) },
+  { "glReplacementCodeuiVertex3fvSUN", (void *) wine_glReplacementCodeuiVertex3fvSUN, (void **) (&func_glReplacementCodeuiVertex3fvSUN) },
+  { "glReplacementCodeuivSUN", (void *) wine_glReplacementCodeuivSUN, (void **) (&func_glReplacementCodeuivSUN) },
+  { "glReplacementCodeusSUN", (void *) wine_glReplacementCodeusSUN, (void **) (&func_glReplacementCodeusSUN) },
+  { "glReplacementCodeusvSUN", (void *) wine_glReplacementCodeusvSUN, (void **) (&func_glReplacementCodeusvSUN) },
+  { "glResetHistogramEXT", (void *) wine_glResetHistogramEXT, (void **) (&func_glResetHistogramEXT) },
+  { "glResetMinmaxEXT", (void *) wine_glResetMinmaxEXT, (void **) (&func_glResetMinmaxEXT) },
+  { "glResizeBuffersMESA", (void *) wine_glResizeBuffersMESA, (void **) (&func_glResizeBuffersMESA) },
+  { "glSampleCoverageARB", (void *) wine_glSampleCoverageARB, (void **) (&func_glSampleCoverageARB) },
+  { "glSampleMaskEXT", (void *) wine_glSampleMaskEXT, (void **) (&func_glSampleMaskEXT) },
+  { "glSampleMaskSGIS", (void *) wine_glSampleMaskSGIS, (void **) (&func_glSampleMaskSGIS) },
+  { "glSamplePassARB", (void *) wine_glSamplePassARB, (void **) (&func_glSamplePassARB) },
+  { "glSamplePatternEXT", (void *) wine_glSamplePatternEXT, (void **) (&func_glSamplePatternEXT) },
+  { "glSamplePatternSGIS", (void *) wine_glSamplePatternSGIS, (void **) (&func_glSamplePatternSGIS) },
+  { "glSecondaryColor3bEXT", (void *) wine_glSecondaryColor3bEXT, (void **) (&func_glSecondaryColor3bEXT) },
+  { "glSecondaryColor3bvEXT", (void *) wine_glSecondaryColor3bvEXT, (void **) (&func_glSecondaryColor3bvEXT) },
+  { "glSecondaryColor3dEXT", (void *) wine_glSecondaryColor3dEXT, (void **) (&func_glSecondaryColor3dEXT) },
+  { "glSecondaryColor3dvEXT", (void *) wine_glSecondaryColor3dvEXT, (void **) (&func_glSecondaryColor3dvEXT) },
+  { "glSecondaryColor3fEXT", (void *) wine_glSecondaryColor3fEXT, (void **) (&func_glSecondaryColor3fEXT) },
+  { "glSecondaryColor3fvEXT", (void *) wine_glSecondaryColor3fvEXT, (void **) (&func_glSecondaryColor3fvEXT) },
+  { "glSecondaryColor3iEXT", (void *) wine_glSecondaryColor3iEXT, (void **) (&func_glSecondaryColor3iEXT) },
+  { "glSecondaryColor3ivEXT", (void *) wine_glSecondaryColor3ivEXT, (void **) (&func_glSecondaryColor3ivEXT) },
+  { "glSecondaryColor3sEXT", (void *) wine_glSecondaryColor3sEXT, (void **) (&func_glSecondaryColor3sEXT) },
+  { "glSecondaryColor3svEXT", (void *) wine_glSecondaryColor3svEXT, (void **) (&func_glSecondaryColor3svEXT) },
+  { "glSecondaryColor3ubEXT", (void *) wine_glSecondaryColor3ubEXT, (void **) (&func_glSecondaryColor3ubEXT) },
+  { "glSecondaryColor3ubvEXT", (void *) wine_glSecondaryColor3ubvEXT, (void **) (&func_glSecondaryColor3ubvEXT) },
+  { "glSecondaryColor3uiEXT", (void *) wine_glSecondaryColor3uiEXT, (void **) (&func_glSecondaryColor3uiEXT) },
+  { "glSecondaryColor3uivEXT", (void *) wine_glSecondaryColor3uivEXT, (void **) (&func_glSecondaryColor3uivEXT) },
+  { "glSecondaryColor3usEXT", (void *) wine_glSecondaryColor3usEXT, (void **) (&func_glSecondaryColor3usEXT) },
+  { "glSecondaryColor3usvEXT", (void *) wine_glSecondaryColor3usvEXT, (void **) (&func_glSecondaryColor3usvEXT) },
+  { "glSecondaryColorPointerEXT", (void *) wine_glSecondaryColorPointerEXT, (void **) (&func_glSecondaryColorPointerEXT) },
+  { "glSecondaryColorPointerListIBM", (void *) wine_glSecondaryColorPointerListIBM, (void **) (&func_glSecondaryColorPointerListIBM) },
+  { "glSeparableFilter2DEXT", (void *) wine_glSeparableFilter2DEXT, (void **) (&func_glSeparableFilter2DEXT) },
+  { "glSharpenTexFuncSGIS", (void *) wine_glSharpenTexFuncSGIS, (void **) (&func_glSharpenTexFuncSGIS) },
+  { "glSpriteParameterfSGIX", (void *) wine_glSpriteParameterfSGIX, (void **) (&func_glSpriteParameterfSGIX) },
+  { "glSpriteParameterfvSGIX", (void *) wine_glSpriteParameterfvSGIX, (void **) (&func_glSpriteParameterfvSGIX) },
+  { "glSpriteParameteriSGIX", (void *) wine_glSpriteParameteriSGIX, (void **) (&func_glSpriteParameteriSGIX) },
+  { "glSpriteParameterivSGIX", (void *) wine_glSpriteParameterivSGIX, (void **) (&func_glSpriteParameterivSGIX) },
+  { "glStartInstrumentsSGIX", (void *) wine_glStartInstrumentsSGIX, (void **) (&func_glStartInstrumentsSGIX) },
+  { "glStopInstrumentsSGIX", (void *) wine_glStopInstrumentsSGIX, (void **) (&func_glStopInstrumentsSGIX) },
+  { "glTagSampleBufferSGIX", (void *) wine_glTagSampleBufferSGIX, (void **) (&func_glTagSampleBufferSGIX) },
+  { "glTangent3b", (void *) wine_glTangent3b, (void **) (&func_glTangent3b) },
+  { "glTangent3bv", (void *) wine_glTangent3bv, (void **) (&func_glTangent3bv) },
+  { "glTangent3d", (void *) wine_glTangent3d, (void **) (&func_glTangent3d) },
+  { "glTangent3dv", (void *) wine_glTangent3dv, (void **) (&func_glTangent3dv) },
+  { "glTangent3f", (void *) wine_glTangent3f, (void **) (&func_glTangent3f) },
+  { "glTangent3fv", (void *) wine_glTangent3fv, (void **) (&func_glTangent3fv) },
+  { "glTangent3i", (void *) wine_glTangent3i, (void **) (&func_glTangent3i) },
+  { "glTangent3iv", (void *) wine_glTangent3iv, (void **) (&func_glTangent3iv) },
+  { "glTangent3s", (void *) wine_glTangent3s, (void **) (&func_glTangent3s) },
+  { "glTangent3sv", (void *) wine_glTangent3sv, (void **) (&func_glTangent3sv) },
+  { "glTangentPointerEXT", (void *) wine_glTangentPointerEXT, (void **) (&func_glTangentPointerEXT) },
+  { "glTbufferMask3DFX", (void *) wine_glTbufferMask3DFX, (void **) (&func_glTbufferMask3DFX) },
+  { "glTexCoord2fColor3fVertex3fSUN", (void *) wine_glTexCoord2fColor3fVertex3fSUN, (void **) (&func_glTexCoord2fColor3fVertex3fSUN) },
+  { "glTexCoord2fColor3fVertex3fvSUN", (void *) wine_glTexCoord2fColor3fVertex3fvSUN, (void **) (&func_glTexCoord2fColor3fVertex3fvSUN) },
+  { "glTexCoord2fColor4fNormal3fVertex3fSUN", (void *) wine_glTexCoord2fColor4fNormal3fVertex3fSUN, (void **) (&func_glTexCoord2fColor4fNormal3fVertex3fSUN) },
+  { "glTexCoord2fColor4fNormal3fVertex3fvSUN", (void *) wine_glTexCoord2fColor4fNormal3fVertex3fvSUN, (void **) (&func_glTexCoord2fColor4fNormal3fVertex3fvSUN) },
+  { "glTexCoord2fColor4ubVertex3fSUN", (void *) wine_glTexCoord2fColor4ubVertex3fSUN, (void **) (&func_glTexCoord2fColor4ubVertex3fSUN) },
+  { "glTexCoord2fColor4ubVertex3fvSUN", (void *) wine_glTexCoord2fColor4ubVertex3fvSUN, (void **) (&func_glTexCoord2fColor4ubVertex3fvSUN) },
+  { "glTexCoord2fNormal3fVertex3fSUN", (void *) wine_glTexCoord2fNormal3fVertex3fSUN, (void **) (&func_glTexCoord2fNormal3fVertex3fSUN) },
+  { "glTexCoord2fNormal3fVertex3fvSUN", (void *) wine_glTexCoord2fNormal3fVertex3fvSUN, (void **) (&func_glTexCoord2fNormal3fVertex3fvSUN) },
+  { "glTexCoord2fVertex3fSUN", (void *) wine_glTexCoord2fVertex3fSUN, (void **) (&func_glTexCoord2fVertex3fSUN) },
+  { "glTexCoord2fVertex3fvSUN", (void *) wine_glTexCoord2fVertex3fvSUN, (void **) (&func_glTexCoord2fVertex3fvSUN) },
+  { "glTexCoord4fColor4fNormal3fVertex4fSUN", (void *) wine_glTexCoord4fColor4fNormal3fVertex4fSUN, (void **) (&func_glTexCoord4fColor4fNormal3fVertex4fSUN) },
+  { "glTexCoord4fColor4fNormal3fVertex4fvSUN", (void *) wine_glTexCoord4fColor4fNormal3fVertex4fvSUN, (void **) (&func_glTexCoord4fColor4fNormal3fVertex4fvSUN) },
+  { "glTexCoord4fVertex4fSUN", (void *) wine_glTexCoord4fVertex4fSUN, (void **) (&func_glTexCoord4fVertex4fSUN) },
+  { "glTexCoord4fVertex4fvSUN", (void *) wine_glTexCoord4fVertex4fvSUN, (void **) (&func_glTexCoord4fVertex4fvSUN) },
+  { "glTexCoordPointerEXT", (void *) wine_glTexCoordPointerEXT, (void **) (&func_glTexCoordPointerEXT) },
+  { "glTexCoordPointerListIBM", (void *) wine_glTexCoordPointerListIBM, (void **) (&func_glTexCoordPointerListIBM) },
+  { "glTexCoordPointervINTEL", (void *) wine_glTexCoordPointervINTEL, (void **) (&func_glTexCoordPointervINTEL) },
+  { "glTexFilterFuncSGIS", (void *) wine_glTexFilterFuncSGIS, (void **) (&func_glTexFilterFuncSGIS) },
+  { "glTexImage3DEXT", (void *) wine_glTexImage3DEXT, (void **) (&func_glTexImage3DEXT) },
+  { "glTexImage4DSGIS", (void *) wine_glTexImage4DSGIS, (void **) (&func_glTexImage4DSGIS) },
+  { "glTexSubImage1DEXT", (void *) wine_glTexSubImage1DEXT, (void **) (&func_glTexSubImage1DEXT) },
+  { "glTexSubImage2DEXT", (void *) wine_glTexSubImage2DEXT, (void **) (&func_glTexSubImage2DEXT) },
+  { "glTexSubImage3DEXT", (void *) wine_glTexSubImage3DEXT, (void **) (&func_glTexSubImage3DEXT) },
+  { "glTexSubImage4DSGIS", (void *) wine_glTexSubImage4DSGIS, (void **) (&func_glTexSubImage4DSGIS) },
+  { "glTextureLightEXT", (void *) wine_glTextureLightEXT, (void **) (&func_glTextureLightEXT) },
+  { "glTextureMaterialEXT", (void *) wine_glTextureMaterialEXT, (void **) (&func_glTextureMaterialEXT) },
+  { "glTextureNormalEXT", (void *) wine_glTextureNormalEXT, (void **) (&func_glTextureNormalEXT) },
+  { "glUnlockArraysEXT", (void *) wine_glUnlockArraysEXT, (void **) (&func_glUnlockArraysEXT) },
+  { "glVertexArrayRangeNV", (void *) wine_glVertexArrayRangeNV, (void **) (&func_glVertexArrayRangeNV) },
+  { "glVertexPointerEXT", (void *) wine_glVertexPointerEXT, (void **) (&func_glVertexPointerEXT) },
+  { "glVertexPointerListIBM", (void *) wine_glVertexPointerListIBM, (void **) (&func_glVertexPointerListIBM) },
+  { "glVertexPointervINTEL", (void *) wine_glVertexPointervINTEL, (void **) (&func_glVertexPointervINTEL) },
+  { "glVertexWeightPointerEXT", (void *) wine_glVertexWeightPointerEXT, (void **) (&func_glVertexWeightPointerEXT) },
+  { "glVertexWeightfEXT", (void *) wine_glVertexWeightfEXT, (void **) (&func_glVertexWeightfEXT) },
+  { "glVertexWeightfvEXT", (void *) wine_glVertexWeightfvEXT, (void **) (&func_glVertexWeightfvEXT) },
+  { "glWindowPos2dMESA", (void *) wine_glWindowPos2dMESA, (void **) (&func_glWindowPos2dMESA) },
+  { "glWindowPos2dvMESA", (void *) wine_glWindowPos2dvMESA, (void **) (&func_glWindowPos2dvMESA) },
+  { "glWindowPos2fMESA", (void *) wine_glWindowPos2fMESA, (void **) (&func_glWindowPos2fMESA) },
+  { "glWindowPos2fvMESA", (void *) wine_glWindowPos2fvMESA, (void **) (&func_glWindowPos2fvMESA) },
+  { "glWindowPos2iMESA", (void *) wine_glWindowPos2iMESA, (void **) (&func_glWindowPos2iMESA) },
+  { "glWindowPos2ivMESA", (void *) wine_glWindowPos2ivMESA, (void **) (&func_glWindowPos2ivMESA) },
+  { "glWindowPos2sMESA", (void *) wine_glWindowPos2sMESA, (void **) (&func_glWindowPos2sMESA) },
+  { "glWindowPos2svMESA", (void *) wine_glWindowPos2svMESA, (void **) (&func_glWindowPos2svMESA) },
+  { "glWindowPos3dMESA", (void *) wine_glWindowPos3dMESA, (void **) (&func_glWindowPos3dMESA) },
+  { "glWindowPos3dvMESA", (void *) wine_glWindowPos3dvMESA, (void **) (&func_glWindowPos3dvMESA) },
+  { "glWindowPos3fMESA", (void *) wine_glWindowPos3fMESA, (void **) (&func_glWindowPos3fMESA) },
+  { "glWindowPos3fvMESA", (void *) wine_glWindowPos3fvMESA, (void **) (&func_glWindowPos3fvMESA) },
+  { "glWindowPos3iMESA", (void *) wine_glWindowPos3iMESA, (void **) (&func_glWindowPos3iMESA) },
+  { "glWindowPos3ivMESA", (void *) wine_glWindowPos3ivMESA, (void **) (&func_glWindowPos3ivMESA) },
+  { "glWindowPos3sMESA", (void *) wine_glWindowPos3sMESA, (void **) (&func_glWindowPos3sMESA) },
+  { "glWindowPos3svMESA", (void *) wine_glWindowPos3svMESA, (void **) (&func_glWindowPos3svMESA) },
+  { "glWindowPos4dMESA", (void *) wine_glWindowPos4dMESA, (void **) (&func_glWindowPos4dMESA) },
+  { "glWindowPos4dvMESA", (void *) wine_glWindowPos4dvMESA, (void **) (&func_glWindowPos4dvMESA) },
+  { "glWindowPos4fMESA", (void *) wine_glWindowPos4fMESA, (void **) (&func_glWindowPos4fMESA) },
+  { "glWindowPos4fvMESA", (void *) wine_glWindowPos4fvMESA, (void **) (&func_glWindowPos4fvMESA) },
+  { "glWindowPos4iMESA", (void *) wine_glWindowPos4iMESA, (void **) (&func_glWindowPos4iMESA) },
+  { "glWindowPos4ivMESA", (void *) wine_glWindowPos4ivMESA, (void **) (&func_glWindowPos4ivMESA) },
+  { "glWindowPos4sMESA", (void *) wine_glWindowPos4sMESA, (void **) (&func_glWindowPos4sMESA) },
+  { "glWindowPos4svMESA", (void *) wine_glWindowPos4svMESA, (void **) (&func_glWindowPos4svMESA) }
+};
+
+/* Now, the function declarations */
+void WINAPI wine_glApplyTextureEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glApplyTextureEXT(arg_0);
+  LEAVE_GL();
+}
+
+GLboolean WINAPI wine_glAreTexturesResidentEXT(GLsizei arg_0,  const GLuint * arg_1,  GLboolean * arg_2) {
+  GLboolean ret;
+  ENTER_GL();
+    ret = func_glAreTexturesResidentEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glArrayElementEXT(GLint arg_0) {
+  ENTER_GL();
+  func_glArrayElementEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBindTextureEXT(GLenum arg_0,  GLuint arg_1) {
+  ENTER_GL();
+  func_glBindTextureEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3b(GLbyte arg_0,  GLbyte arg_1,  GLbyte arg_2) {
+  ENTER_GL();
+  func_glBinormal3b(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3bv(const GLbyte * arg_0) {
+  ENTER_GL();
+  func_glBinormal3bv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3d(GLdouble arg_0,  GLdouble arg_1,  GLdouble arg_2) {
+  ENTER_GL();
+  func_glBinormal3d(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3dv(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glBinormal3dv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3f(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glBinormal3f(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3fv(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glBinormal3fv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3i(GLint arg_0,  GLint arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glBinormal3i(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3iv(const GLint * arg_0) {
+  ENTER_GL();
+  func_glBinormal3iv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3s(GLshort arg_0,  GLshort arg_1,  GLshort arg_2) {
+  ENTER_GL();
+  func_glBinormal3s(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormal3sv(const GLshort * arg_0) {
+  ENTER_GL();
+  func_glBinormal3sv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBinormalPointerEXT(GLenum arg_0,  GLsizei arg_1,  const GLvoid * arg_2) {
+  ENTER_GL();
+  func_glBinormalPointerEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBlendColorEXT(GLclampf arg_0,  GLclampf arg_1,  GLclampf arg_2,  GLclampf arg_3) {
+  ENTER_GL();
+  func_glBlendColorEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBlendEquationEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glBlendEquationEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glBlendFuncSeparateEXT(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLenum arg_3) {
+  ENTER_GL();
+  func_glBlendFuncSeparateEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5) {
+  ENTER_GL();
+  func_glColor3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor3fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glColor3fVertex3fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4fNormal3fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8,  GLfloat arg_9) {
+  ENTER_GL();
+  func_glColor4fNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4fNormal3fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glColor4fNormal3fVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ubVertex2fSUN(GLubyte arg_0,  GLubyte arg_1,  GLubyte arg_2,  GLubyte arg_3,  GLfloat arg_4,  GLfloat arg_5) {
+  ENTER_GL();
+  func_glColor4ubVertex2fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ubVertex2fvSUN(const GLubyte * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glColor4ubVertex2fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ubVertex3fSUN(GLubyte arg_0,  GLubyte arg_1,  GLubyte arg_2,  GLubyte arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6) {
+  ENTER_GL();
+  func_glColor4ubVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColor4ubVertex3fvSUN(const GLubyte * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glColor4ubVertex3fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorPointerEXT(GLint arg_0,  GLenum arg_1,  GLsizei arg_2,  GLsizei arg_3,  const GLvoid * arg_4) {
+  ENTER_GL();
+  func_glColorPointerEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorPointerListIBM(GLint arg_0,  GLenum arg_1,  GLint arg_2,  const GLvoid* * arg_3,  GLint arg_4) {
+  ENTER_GL();
+  func_glColorPointerListIBM(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorPointervINTEL(GLint arg_0,  GLenum arg_1,  const GLvoid* * arg_2) {
+  ENTER_GL();
+  func_glColorPointervINTEL(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorSubTableEXT(GLenum arg_0,  GLsizei arg_1,  GLsizei arg_2,  GLenum arg_3,  GLenum arg_4,  const GLvoid * arg_5) {
+  ENTER_GL();
+  func_glColorSubTableEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTableEXT(GLenum arg_0,  GLenum arg_1,  GLsizei arg_2,  GLenum arg_3,  GLenum arg_4,  const GLvoid * arg_5) {
+  ENTER_GL();
+  func_glColorTableEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTableParameterfvSGI(GLenum arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glColorTableParameterfvSGI(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTableParameterivSGI(GLenum arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glColorTableParameterivSGI(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glColorTableSGI(GLenum arg_0,  GLenum arg_1,  GLsizei arg_2,  GLenum arg_3,  GLenum arg_4,  const GLvoid * arg_5) {
+  ENTER_GL();
+  func_glColorTableSGI(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCombinerInputNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLenum arg_3,  GLenum arg_4,  GLenum arg_5) {
+  ENTER_GL();
+  func_glCombinerInputNV(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCombinerOutputNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLenum arg_3,  GLenum arg_4,  GLenum arg_5,  GLenum arg_6,  GLboolean arg_7,  GLboolean arg_8,  GLboolean arg_9) {
+  ENTER_GL();
+  func_glCombinerOutputNV(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCombinerParameterfNV(GLenum arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glCombinerParameterfNV(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCombinerParameterfvNV(GLenum arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glCombinerParameterfvNV(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCombinerParameteriNV(GLenum arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glCombinerParameteriNV(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCombinerParameterivNV(GLenum arg_0,  const GLint * arg_1) {
+  ENTER_GL();
+  func_glCombinerParameterivNV(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCompressedTexImage1DARB(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLsizei arg_3,  GLint arg_4,  GLsizei arg_5,  const GLvoid * arg_6) {
+  ENTER_GL();
+  func_glCompressedTexImage1DARB(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCompressedTexImage2DARB(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLsizei arg_3,  GLsizei arg_4,  GLint arg_5,  GLsizei arg_6,  const GLvoid * arg_7) {
+  ENTER_GL();
+  func_glCompressedTexImage2DARB(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCompressedTexImage3DARB(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLsizei arg_3,  GLsizei arg_4,  GLsizei arg_5,  GLint arg_6,  GLsizei arg_7,  const GLvoid * arg_8) {
+  ENTER_GL();
+  func_glCompressedTexImage3DARB(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCompressedTexSubImage1DARB(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLsizei arg_3,  GLenum arg_4,  GLsizei arg_5,  const GLvoid * arg_6) {
+  ENTER_GL();
+  func_glCompressedTexSubImage1DARB(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCompressedTexSubImage2DARB(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLsizei arg_4,  GLsizei arg_5,  GLenum arg_6,  GLsizei arg_7,  const GLvoid * arg_8) {
+  ENTER_GL();
+  func_glCompressedTexSubImage2DARB(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCompressedTexSubImage3DARB(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLint arg_4,  GLsizei arg_5,  GLsizei arg_6,  GLsizei arg_7,  GLenum arg_8,  GLsizei arg_9,  const GLvoid * arg_10) {
+  ENTER_GL();
+  func_glCompressedTexSubImage3DARB(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionFilter1DEXT(GLenum arg_0,  GLenum arg_1,  GLsizei arg_2,  GLenum arg_3,  GLenum arg_4,  const GLvoid * arg_5) {
+  ENTER_GL();
+  func_glConvolutionFilter1DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionFilter2DEXT(GLenum arg_0,  GLenum arg_1,  GLsizei arg_2,  GLsizei arg_3,  GLenum arg_4,  GLenum arg_5,  const GLvoid * arg_6) {
+  ENTER_GL();
+  func_glConvolutionFilter2DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameterfEXT(GLenum arg_0,  GLenum arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glConvolutionParameterfEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameterfvEXT(GLenum arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glConvolutionParameterfvEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameteriEXT(GLenum arg_0,  GLenum arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glConvolutionParameteriEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glConvolutionParameterivEXT(GLenum arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glConvolutionParameterivEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyColorSubTableEXT(GLenum arg_0,  GLsizei arg_1,  GLint arg_2,  GLint arg_3,  GLsizei arg_4) {
+  ENTER_GL();
+  func_glCopyColorSubTableEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyColorTableSGI(GLenum arg_0,  GLenum arg_1,  GLint arg_2,  GLint arg_3,  GLsizei arg_4) {
+  ENTER_GL();
+  func_glCopyColorTableSGI(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyConvolutionFilter1DEXT(GLenum arg_0,  GLenum arg_1,  GLint arg_2,  GLint arg_3,  GLsizei arg_4) {
+  ENTER_GL();
+  func_glCopyConvolutionFilter1DEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyConvolutionFilter2DEXT(GLenum arg_0,  GLenum arg_1,  GLint arg_2,  GLint arg_3,  GLsizei arg_4,  GLsizei arg_5) {
+  ENTER_GL();
+  func_glCopyConvolutionFilter2DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexImage1DEXT(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLint arg_3,  GLint arg_4,  GLsizei arg_5,  GLint arg_6) {
+  ENTER_GL();
+  func_glCopyTexImage1DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexImage2DEXT(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLint arg_3,  GLint arg_4,  GLsizei arg_5,  GLsizei arg_6,  GLint arg_7) {
+  ENTER_GL();
+  func_glCopyTexImage2DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexSubImage1DEXT(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLint arg_4,  GLsizei arg_5) {
+  ENTER_GL();
+  func_glCopyTexSubImage1DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexSubImage2DEXT(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLint arg_4,  GLint arg_5,  GLsizei arg_6,  GLsizei arg_7) {
+  ENTER_GL();
+  func_glCopyTexSubImage2DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCopyTexSubImage3DEXT(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLint arg_4,  GLint arg_5,  GLint arg_6,  GLsizei arg_7,  GLsizei arg_8) {
+  ENTER_GL();
+  func_glCopyTexSubImage3DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCullParameterdvEXT(GLenum arg_0,  GLdouble * arg_1) {
+  ENTER_GL();
+  func_glCullParameterdvEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glCullParameterfvEXT(GLenum arg_0,  GLfloat * arg_1) {
+  ENTER_GL();
+  func_glCullParameterfvEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDeleteTexturesEXT(GLsizei arg_0,  const GLuint * arg_1) {
+  ENTER_GL();
+  func_glDeleteTexturesEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDetailTexFuncSGIS(GLenum arg_0,  GLsizei arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glDetailTexFuncSGIS(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawArraysEXT(GLenum arg_0,  GLint arg_1,  GLsizei arg_2) {
+  ENTER_GL();
+  func_glDrawArraysEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glDrawRangeElementsEXT(GLenum arg_0,  GLuint arg_1,  GLuint arg_2,  GLsizei arg_3,  GLenum arg_4,  const GLvoid * arg_5) {
+  ENTER_GL();
+  func_glDrawRangeElementsEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEdgeFlagPointerEXT(GLsizei arg_0,  GLsizei arg_1,  const GLboolean * arg_2) {
+  ENTER_GL();
+  func_glEdgeFlagPointerEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glEdgeFlagPointerListIBM(GLint arg_0,  const GLboolean* * arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glEdgeFlagPointerListIBM(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFinalCombinerInputNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLenum arg_3) {
+  ENTER_GL();
+  func_glFinalCombinerInputNV(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFinishTextureSUNX() {
+  ENTER_GL();
+  func_glFinishTextureSUNX();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFlushRasterSGIX() {
+  ENTER_GL();
+  func_glFlushRasterSGIX();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFlushVertexArrayRangeNV() {
+  ENTER_GL();
+  func_glFlushVertexArrayRangeNV();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogCoordPointerEXT(GLenum arg_0,  GLsizei arg_1,  const GLvoid * arg_2) {
+  ENTER_GL();
+  func_glFogCoordPointerEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogCoordPointerListIBM(GLenum arg_0,  GLint arg_1,  const GLvoid* * arg_2,  GLint arg_3) {
+  ENTER_GL();
+  func_glFogCoordPointerListIBM(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogCoorddEXT(GLdouble arg_0) {
+  ENTER_GL();
+  func_glFogCoorddEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogCoorddvEXT(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glFogCoorddvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogCoordfEXT(GLfloat arg_0) {
+  ENTER_GL();
+  func_glFogCoordfEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogCoordfvEXT(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glFogCoordfvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFogFuncSGIS(GLsizei arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glFogFuncSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentColorMaterialSGIX(GLenum arg_0,  GLenum arg_1) {
+  ENTER_GL();
+  func_glFragmentColorMaterialSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightModelfSGIX(GLenum arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glFragmentLightModelfSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightModelfvSGIX(GLenum arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glFragmentLightModelfvSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightModeliSGIX(GLenum arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glFragmentLightModeliSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightModelivSGIX(GLenum arg_0,  const GLint * arg_1) {
+  ENTER_GL();
+  func_glFragmentLightModelivSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightfSGIX(GLenum arg_0,  GLenum arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glFragmentLightfSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightfvSGIX(GLenum arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glFragmentLightfvSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightiSGIX(GLenum arg_0,  GLenum arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glFragmentLightiSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentLightivSGIX(GLenum arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glFragmentLightivSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentMaterialfSGIX(GLenum arg_0,  GLenum arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glFragmentMaterialfSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentMaterialfvSGIX(GLenum arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glFragmentMaterialfvSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentMaterialiSGIX(GLenum arg_0,  GLenum arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glFragmentMaterialiSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFragmentMaterialivSGIX(GLenum arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glFragmentMaterialivSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glFrameZoomSGIX(GLint arg_0) {
+  ENTER_GL();
+  func_glFrameZoomSGIX(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGenTexturesEXT(GLsizei arg_0,  GLuint * arg_1) {
+  ENTER_GL();
+  func_glGenTexturesEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableEXT(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLvoid * arg_3) {
+  ENTER_GL();
+  func_glGetColorTableEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableParameterfvEXT(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetColorTableParameterfvEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableParameterfvSGI(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetColorTableParameterfvSGI(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableParameterivEXT(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetColorTableParameterivEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableParameterivSGI(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetColorTableParameterivSGI(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetColorTableSGI(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLvoid * arg_3) {
+  ENTER_GL();
+  func_glGetColorTableSGI(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetCombinerInputParameterfvNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLenum arg_3,  GLfloat * arg_4) {
+  ENTER_GL();
+  func_glGetCombinerInputParameterfvNV(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetCombinerInputParameterivNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLenum arg_3,  GLint * arg_4) {
+  ENTER_GL();
+  func_glGetCombinerInputParameterivNV(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetCombinerOutputParameterfvNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLfloat * arg_3) {
+  ENTER_GL();
+  func_glGetCombinerOutputParameterfvNV(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetCombinerOutputParameterivNV(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLint * arg_3) {
+  ENTER_GL();
+  func_glGetCombinerOutputParameterivNV(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetCompressedTexImageARB(GLenum arg_0,  GLint arg_1,  void * arg_2) {
+  ENTER_GL();
+  func_glGetCompressedTexImageARB(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetConvolutionFilterEXT(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLvoid * arg_3) {
+  ENTER_GL();
+  func_glGetConvolutionFilterEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetConvolutionParameterfvEXT(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetConvolutionParameterfvEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetConvolutionParameterivEXT(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetConvolutionParameterivEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetDetailTexFuncSGIS(GLenum arg_0,  GLfloat * arg_1) {
+  ENTER_GL();
+  func_glGetDetailTexFuncSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFinalCombinerInputParameterfvNV(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetFinalCombinerInputParameterfvNV(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFinalCombinerInputParameterivNV(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetFinalCombinerInputParameterivNV(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFogFuncSGIS(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glGetFogFuncSGIS(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFragmentLightfvSGIX(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetFragmentLightfvSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFragmentLightivSGIX(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetFragmentLightivSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFragmentMaterialfvSGIX(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetFragmentMaterialfvSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetFragmentMaterialivSGIX(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetFragmentMaterialivSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetHistogramEXT(GLenum arg_0,  GLboolean arg_1,  GLenum arg_2,  GLenum arg_3,  GLvoid * arg_4) {
+  ENTER_GL();
+  func_glGetHistogramEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetHistogramParameterfvEXT(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetHistogramParameterfvEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetHistogramParameterivEXT(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetHistogramParameterivEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetImageTransformParameterfvHP(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetImageTransformParameterfvHP(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetImageTransformParameterivHP(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetImageTransformParameterivHP(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+GLint WINAPI wine_glGetInstrumentsSGIX() {
+  GLint ret;
+  ENTER_GL();
+    ret = func_glGetInstrumentsSGIX();
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glGetListParameterfvSGIX(GLuint arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetListParameterfvSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetListParameterivSGIX(GLuint arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetListParameterivSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMinmaxEXT(GLenum arg_0,  GLboolean arg_1,  GLenum arg_2,  GLenum arg_3,  GLvoid * arg_4) {
+  ENTER_GL();
+  func_glGetMinmaxEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMinmaxParameterfvEXT(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetMinmaxParameterfvEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetMinmaxParameterivEXT(GLenum arg_0,  GLenum arg_1,  GLint * arg_2) {
+  ENTER_GL();
+  func_glGetMinmaxParameterivEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPixelTexGenParameterfvSGIS(GLenum arg_0,  GLfloat * arg_1) {
+  ENTER_GL();
+  func_glGetPixelTexGenParameterfvSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPixelTexGenParameterivSGIS(GLenum arg_0,  GLint * arg_1) {
+  ENTER_GL();
+  func_glGetPixelTexGenParameterivSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetPointervEXT(GLenum arg_0,  GLvoid* * arg_1) {
+  ENTER_GL();
+  func_glGetPointervEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetSeparableFilterEXT(GLenum arg_0,  GLenum arg_1,  GLenum arg_2,  GLvoid * arg_3,  GLvoid * arg_4,  GLvoid * arg_5) {
+  ENTER_GL();
+  func_glGetSeparableFilterEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetSharpenTexFuncSGIS(GLenum arg_0,  GLfloat * arg_1) {
+  ENTER_GL();
+  func_glGetSharpenTexFuncSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGetTexFilterFuncSGIS(GLenum arg_0,  GLenum arg_1,  GLfloat * arg_2) {
+  ENTER_GL();
+  func_glGetTexFilterFuncSGIS(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactorbSUN(GLbyte arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactorbSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactordSUN(GLdouble arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactordSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactorfSUN(GLfloat arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactorfSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactoriSUN(GLint arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactoriSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactorsSUN(GLshort arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactorsSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactorubSUN(GLubyte arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactorubSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactoruiSUN(GLuint arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactoruiSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glGlobalAlphaFactorusSUN(GLushort arg_0) {
+  ENTER_GL();
+  func_glGlobalAlphaFactorusSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glHintPGI(GLenum arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glHintPGI(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glHistogramEXT(GLenum arg_0,  GLsizei arg_1,  GLenum arg_2,  GLboolean arg_3) {
+  ENTER_GL();
+  func_glHistogramEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glImageTransformParameterfHP(GLenum arg_0,  GLenum arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glImageTransformParameterfHP(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glImageTransformParameterfvHP(GLenum arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glImageTransformParameterfvHP(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glImageTransformParameteriHP(GLenum arg_0,  GLenum arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glImageTransformParameteriHP(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glImageTransformParameterivHP(GLenum arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glImageTransformParameterivHP(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexFuncEXT(GLenum arg_0,  GLclampf arg_1) {
+  ENTER_GL();
+  func_glIndexFuncEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexMaterialEXT(GLenum arg_0,  GLenum arg_1) {
+  ENTER_GL();
+  func_glIndexMaterialEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexPointerEXT(GLenum arg_0,  GLsizei arg_1,  GLsizei arg_2,  const GLvoid * arg_3) {
+  ENTER_GL();
+  func_glIndexPointerEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glIndexPointerListIBM(GLenum arg_0,  GLint arg_1,  const GLvoid* * arg_2,  GLint arg_3) {
+  ENTER_GL();
+  func_glIndexPointerListIBM(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glInstrumentsBufferSGIX(GLsizei arg_0,  GLint * arg_1) {
+  ENTER_GL();
+  func_glInstrumentsBufferSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+GLboolean WINAPI wine_glIsTextureEXT(GLuint arg_0) {
+  GLboolean ret;
+  ENTER_GL();
+    ret = func_glIsTextureEXT(arg_0);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glLightEnviSGIX(GLenum arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glLightEnviSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glListParameterfSGIX(GLuint arg_0,  GLenum arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glListParameterfSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glListParameterfvSGIX(GLuint arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glListParameterfvSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glListParameteriSGIX(GLuint arg_0,  GLenum arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glListParameteriSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glListParameterivSGIX(GLuint arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glListParameterivSGIX(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLoadTransposeMatrixdARB(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glLoadTransposeMatrixdARB(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLoadTransposeMatrixfARB(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glLoadTransposeMatrixfARB(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glLockArraysEXT(GLint arg_0,  GLsizei arg_1) {
+  ENTER_GL();
+  func_glLockArraysEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMinmaxEXT(GLenum arg_0,  GLenum arg_1,  GLboolean arg_2) {
+  ENTER_GL();
+  func_glMinmaxEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultTransposeMatrixdARB(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glMultTransposeMatrixdARB(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultTransposeMatrixfARB(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glMultTransposeMatrixfARB(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiDrawArraysEXT(GLenum arg_0,  GLint * arg_1,  GLsizei * arg_2,  GLsizei arg_3) {
+  ENTER_GL();
+  func_glMultiDrawArraysEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiDrawElementsEXT(GLenum arg_0,  const GLsizei * arg_1,  GLenum arg_2,  const GLvoid* * arg_3,  GLsizei arg_4) {
+  ENTER_GL();
+  func_glMultiDrawElementsEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiModeDrawArraysIBM(GLenum arg_0,  const GLint * arg_1,  const GLsizei * arg_2,  GLsizei arg_3,  GLint arg_4) {
+  ENTER_GL();
+  func_glMultiModeDrawArraysIBM(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glMultiModeDrawElementsIBM(const GLenum * arg_0,  const GLsizei * arg_1,  GLenum arg_2,  const GLvoid* * arg_3,  GLsizei arg_4,  GLint arg_5) {
+  ENTER_GL();
+  func_glMultiModeDrawElementsIBM(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5) {
+  ENTER_GL();
+  func_glNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormal3fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glNormal3fVertex3fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormalPointerEXT(GLenum arg_0,  GLsizei arg_1,  GLsizei arg_2,  const GLvoid * arg_3) {
+  ENTER_GL();
+  func_glNormalPointerEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormalPointerListIBM(GLenum arg_0,  GLint arg_1,  const GLvoid* * arg_2,  GLint arg_3) {
+  ENTER_GL();
+  func_glNormalPointerListIBM(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glNormalPointervINTEL(GLenum arg_0,  const GLvoid* * arg_1) {
+  ENTER_GL();
+  func_glNormalPointervINTEL(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTexGenParameterfSGIS(GLenum arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glPixelTexGenParameterfSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTexGenParameterfvSGIS(GLenum arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glPixelTexGenParameterfvSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTexGenParameteriSGIS(GLenum arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glPixelTexGenParameteriSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTexGenParameterivSGIS(GLenum arg_0,  const GLint * arg_1) {
+  ENTER_GL();
+  func_glPixelTexGenParameterivSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTexGenSGIX(GLenum arg_0) {
+  ENTER_GL();
+  func_glPixelTexGenSGIX(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTransformParameterfEXT(GLenum arg_0,  GLenum arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glPixelTransformParameterfEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTransformParameterfvEXT(GLenum arg_0,  GLenum arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glPixelTransformParameterfvEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTransformParameteriEXT(GLenum arg_0,  GLenum arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glPixelTransformParameteriEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPixelTransformParameterivEXT(GLenum arg_0,  GLenum arg_1,  const GLint * arg_2) {
+  ENTER_GL();
+  func_glPixelTransformParameterivEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPointParameterfEXT(GLenum arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glPointParameterfEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPointParameterfSGIS(GLenum arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glPointParameterfSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPointParameterfvEXT(GLenum arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glPointParameterfvEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPointParameterfvSGIS(GLenum arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glPointParameterfvSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+GLint WINAPI wine_glPollInstrumentsSGIX(GLint * arg_0) {
+  GLint ret;
+  ENTER_GL();
+    ret = func_glPollInstrumentsSGIX(arg_0);
+  LEAVE_GL();
+  return ret;
+}
+
+void WINAPI wine_glPolygonOffsetEXT(GLfloat arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glPolygonOffsetEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glPrioritizeTexturesEXT(GLsizei arg_0,  const GLuint * arg_1,  const GLclampf * arg_2) {
+  ENTER_GL();
+  func_glPrioritizeTexturesEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReadInstrumentsSGIX(GLint arg_0) {
+  ENTER_GL();
+  func_glReadInstrumentsSGIX(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReferencePlaneSGIX(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glReferencePlaneSGIX(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodePointer(GLenum arg_0,  GLsizei arg_1,  const GLvoid* * arg_2) {
+  ENTER_GL();
+  func_glReplacementCodePointer(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeubSUN(GLubyte arg_0) {
+  ENTER_GL();
+  func_glReplacementCodeubSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeubvSUN(const GLubyte * arg_0) {
+  ENTER_GL();
+  func_glReplacementCodeubvSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiColor3fVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6) {
+  ENTER_GL();
+  func_glReplacementCodeuiColor3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiColor3fVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glReplacementCodeuiColor3fVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiColor4fNormal3fVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8,  GLfloat arg_9,  GLfloat arg_10) {
+  ENTER_GL();
+  func_glReplacementCodeuiColor4fNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2,  const GLfloat * arg_3) {
+  ENTER_GL();
+  func_glReplacementCodeuiColor4fNormal3fVertex3fvSUN(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiColor4ubVertex3fSUN(GLenum arg_0,  GLubyte arg_1,  GLubyte arg_2,  GLubyte arg_3,  GLubyte arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7) {
+  ENTER_GL();
+  func_glReplacementCodeuiColor4ubVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiColor4ubVertex3fvSUN(const GLenum * arg_0,  const GLubyte * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glReplacementCodeuiColor4ubVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiNormal3fVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6) {
+  ENTER_GL();
+  func_glReplacementCodeuiNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiNormal3fVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glReplacementCodeuiNormal3fVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiSUN(GLuint arg_0) {
+  ENTER_GL();
+  func_glReplacementCodeuiSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8,  GLfloat arg_9,  GLfloat arg_10,  GLfloat arg_11,  GLfloat arg_12) {
+  ENTER_GL();
+  func_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, arg_12);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2,  const GLfloat * arg_3,  const GLfloat * arg_4) {
+  ENTER_GL();
+  func_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8) {
+  ENTER_GL();
+  func_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2,  const GLfloat * arg_3) {
+  ENTER_GL();
+  func_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiTexCoord2fVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5) {
+  ENTER_GL();
+  func_glReplacementCodeuiTexCoord2fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiTexCoord2fVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glReplacementCodeuiTexCoord2fVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiVertex3fSUN(GLenum arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3) {
+  ENTER_GL();
+  func_glReplacementCodeuiVertex3fSUN(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuiVertex3fvSUN(const GLenum * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glReplacementCodeuiVertex3fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeuivSUN(const GLuint * arg_0) {
+  ENTER_GL();
+  func_glReplacementCodeuivSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeusSUN(GLushort arg_0) {
+  ENTER_GL();
+  func_glReplacementCodeusSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glReplacementCodeusvSUN(const GLushort * arg_0) {
+  ENTER_GL();
+  func_glReplacementCodeusvSUN(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glResetHistogramEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glResetHistogramEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glResetMinmaxEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glResetMinmaxEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glResizeBuffersMESA() {
+  ENTER_GL();
+  func_glResizeBuffersMESA();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSampleCoverageARB(GLclampf arg_0,  GLboolean arg_1) {
+  ENTER_GL();
+  func_glSampleCoverageARB(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSampleMaskEXT(GLclampf arg_0,  GLboolean arg_1) {
+  ENTER_GL();
+  func_glSampleMaskEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSampleMaskSGIS(GLclampf arg_0,  GLboolean arg_1) {
+  ENTER_GL();
+  func_glSampleMaskSGIS(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSamplePassARB(GLenum arg_0) {
+  ENTER_GL();
+  func_glSamplePassARB(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSamplePatternEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glSamplePatternEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSamplePatternSGIS(GLenum arg_0) {
+  ENTER_GL();
+  func_glSamplePatternSGIS(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3bEXT(GLbyte arg_0,  GLbyte arg_1,  GLbyte arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3bEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3bvEXT(const GLbyte * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3bvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3dEXT(GLdouble arg_0,  GLdouble arg_1,  GLdouble arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3dEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3dvEXT(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3dvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3fEXT(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3fEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3fvEXT(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3fvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3iEXT(GLint arg_0,  GLint arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3iEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3ivEXT(const GLint * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3ivEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3sEXT(GLshort arg_0,  GLshort arg_1,  GLshort arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3sEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3svEXT(const GLshort * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3svEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3ubEXT(GLubyte arg_0,  GLubyte arg_1,  GLubyte arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3ubEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3ubvEXT(const GLubyte * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3ubvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3uiEXT(GLuint arg_0,  GLuint arg_1,  GLuint arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3uiEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3uivEXT(const GLuint * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3uivEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3usEXT(GLushort arg_0,  GLushort arg_1,  GLushort arg_2) {
+  ENTER_GL();
+  func_glSecondaryColor3usEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColor3usvEXT(const GLushort * arg_0) {
+  ENTER_GL();
+  func_glSecondaryColor3usvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColorPointerEXT(GLint arg_0,  GLenum arg_1,  GLsizei arg_2,  GLvoid * arg_3) {
+  ENTER_GL();
+  func_glSecondaryColorPointerEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSecondaryColorPointerListIBM(GLint arg_0,  GLenum arg_1,  GLint arg_2,  const GLvoid* * arg_3,  GLint arg_4) {
+  ENTER_GL();
+  func_glSecondaryColorPointerListIBM(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSeparableFilter2DEXT(GLenum arg_0,  GLenum arg_1,  GLsizei arg_2,  GLsizei arg_3,  GLenum arg_4,  GLenum arg_5,  const GLvoid * arg_6,  const GLvoid * arg_7) {
+  ENTER_GL();
+  func_glSeparableFilter2DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSharpenTexFuncSGIS(GLenum arg_0,  GLsizei arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glSharpenTexFuncSGIS(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSpriteParameterfSGIX(GLenum arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glSpriteParameterfSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSpriteParameterfvSGIX(GLenum arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glSpriteParameterfvSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSpriteParameteriSGIX(GLenum arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glSpriteParameteriSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glSpriteParameterivSGIX(GLenum arg_0,  const GLint * arg_1) {
+  ENTER_GL();
+  func_glSpriteParameterivSGIX(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glStartInstrumentsSGIX() {
+  ENTER_GL();
+  func_glStartInstrumentsSGIX();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glStopInstrumentsSGIX(GLint arg_0) {
+  ENTER_GL();
+  func_glStopInstrumentsSGIX(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTagSampleBufferSGIX() {
+  ENTER_GL();
+  func_glTagSampleBufferSGIX();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3b(GLbyte arg_0,  GLbyte arg_1,  GLbyte arg_2) {
+  ENTER_GL();
+  func_glTangent3b(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3bv(const GLbyte * arg_0) {
+  ENTER_GL();
+  func_glTangent3bv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3d(GLdouble arg_0,  GLdouble arg_1,  GLdouble arg_2) {
+  ENTER_GL();
+  func_glTangent3d(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3dv(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glTangent3dv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3f(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glTangent3f(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3fv(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glTangent3fv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3i(GLint arg_0,  GLint arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glTangent3i(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3iv(const GLint * arg_0) {
+  ENTER_GL();
+  func_glTangent3iv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3s(GLshort arg_0,  GLshort arg_1,  GLshort arg_2) {
+  ENTER_GL();
+  func_glTangent3s(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangent3sv(const GLshort * arg_0) {
+  ENTER_GL();
+  func_glTangent3sv(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTangentPointerEXT(GLenum arg_0,  GLsizei arg_1,  const GLvoid * arg_2) {
+  ENTER_GL();
+  func_glTangentPointerEXT(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTbufferMask3DFX(GLuint arg_0) {
+  ENTER_GL();
+  func_glTbufferMask3DFX(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fColor3fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7) {
+  ENTER_GL();
+  func_glTexCoord2fColor3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fColor3fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glTexCoord2fColor3fVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fColor4fNormal3fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8,  GLfloat arg_9,  GLfloat arg_10,  GLfloat arg_11) {
+  ENTER_GL();
+  func_glTexCoord2fColor4fNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fColor4fNormal3fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2,  const GLfloat * arg_3) {
+  ENTER_GL();
+  func_glTexCoord2fColor4fNormal3fVertex3fvSUN(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fColor4ubVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLubyte arg_2,  GLubyte arg_3,  GLubyte arg_4,  GLubyte arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8) {
+  ENTER_GL();
+  func_glTexCoord2fColor4ubVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fColor4ubVertex3fvSUN(const GLfloat * arg_0,  const GLubyte * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glTexCoord2fColor4ubVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fNormal3fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7) {
+  ENTER_GL();
+  func_glTexCoord2fNormal3fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fNormal3fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2) {
+  ENTER_GL();
+  func_glTexCoord2fNormal3fVertex3fvSUN(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fVertex3fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4) {
+  ENTER_GL();
+  func_glTexCoord2fVertex3fSUN(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord2fVertex3fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glTexCoord2fVertex3fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4fColor4fNormal3fVertex4fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7,  GLfloat arg_8,  GLfloat arg_9,  GLfloat arg_10,  GLfloat arg_11,  GLfloat arg_12,  GLfloat arg_13,  GLfloat arg_14) {
+  ENTER_GL();
+  func_glTexCoord4fColor4fNormal3fVertex4fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, arg_12, arg_13, arg_14);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4fColor4fNormal3fVertex4fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1,  const GLfloat * arg_2,  const GLfloat * arg_3) {
+  ENTER_GL();
+  func_glTexCoord4fColor4fNormal3fVertex4fvSUN(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4fVertex4fSUN(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3,  GLfloat arg_4,  GLfloat arg_5,  GLfloat arg_6,  GLfloat arg_7) {
+  ENTER_GL();
+  func_glTexCoord4fVertex4fSUN(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoord4fVertex4fvSUN(const GLfloat * arg_0,  const GLfloat * arg_1) {
+  ENTER_GL();
+  func_glTexCoord4fVertex4fvSUN(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoordPointerEXT(GLint arg_0,  GLenum arg_1,  GLsizei arg_2,  GLsizei arg_3,  const GLvoid * arg_4) {
+  ENTER_GL();
+  func_glTexCoordPointerEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoordPointerListIBM(GLint arg_0,  GLenum arg_1,  GLint arg_2,  const GLvoid* * arg_3,  GLint arg_4) {
+  ENTER_GL();
+  func_glTexCoordPointerListIBM(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexCoordPointervINTEL(GLint arg_0,  GLenum arg_1,  const GLvoid* * arg_2) {
+  ENTER_GL();
+  func_glTexCoordPointervINTEL(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexFilterFuncSGIS(GLenum arg_0,  GLenum arg_1,  GLsizei arg_2,  const GLfloat * arg_3) {
+  ENTER_GL();
+  func_glTexFilterFuncSGIS(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexImage3DEXT(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLsizei arg_3,  GLsizei arg_4,  GLsizei arg_5,  GLint arg_6,  GLenum arg_7,  GLenum arg_8,  const GLvoid * arg_9) {
+  ENTER_GL();
+  func_glTexImage3DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexImage4DSGIS(GLenum arg_0,  GLint arg_1,  GLenum arg_2,  GLsizei arg_3,  GLsizei arg_4,  GLsizei arg_5,  GLsizei arg_6,  GLint arg_7,  GLenum arg_8,  GLenum arg_9,  const GLvoid * arg_10) {
+  ENTER_GL();
+  func_glTexImage4DSGIS(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexSubImage1DEXT(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLsizei arg_3,  GLenum arg_4,  GLenum arg_5,  const GLvoid * arg_6) {
+  ENTER_GL();
+  func_glTexSubImage1DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexSubImage2DEXT(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLsizei arg_4,  GLsizei arg_5,  GLenum arg_6,  GLenum arg_7,  const GLvoid * arg_8) {
+  ENTER_GL();
+  func_glTexSubImage2DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexSubImage3DEXT(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLint arg_4,  GLsizei arg_5,  GLsizei arg_6,  GLsizei arg_7,  GLenum arg_8,  GLenum arg_9,  const GLvoid * arg_10) {
+  ENTER_GL();
+  func_glTexSubImage3DEXT(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTexSubImage4DSGIS(GLenum arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3,  GLint arg_4,  GLint arg_5,  GLsizei arg_6,  GLsizei arg_7,  GLsizei arg_8,  GLsizei arg_9,  GLenum arg_10,  GLenum arg_11,  const GLvoid * arg_12) {
+  ENTER_GL();
+  func_glTexSubImage4DSGIS(arg_0, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, arg_12);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTextureLightEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glTextureLightEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTextureMaterialEXT(GLenum arg_0,  GLenum arg_1) {
+  ENTER_GL();
+  func_glTextureMaterialEXT(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glTextureNormalEXT(GLenum arg_0) {
+  ENTER_GL();
+  func_glTextureNormalEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glUnlockArraysEXT() {
+  ENTER_GL();
+  func_glUnlockArraysEXT();
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexArrayRangeNV(GLsizei arg_0,  const GLvoid * arg_1) {
+  ENTER_GL();
+  func_glVertexArrayRangeNV(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexPointerEXT(GLint arg_0,  GLenum arg_1,  GLsizei arg_2,  GLsizei arg_3,  const GLvoid * arg_4) {
+  ENTER_GL();
+  func_glVertexPointerEXT(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexPointerListIBM(GLint arg_0,  GLenum arg_1,  GLint arg_2,  const GLvoid* * arg_3,  GLint arg_4) {
+  ENTER_GL();
+  func_glVertexPointerListIBM(arg_0, arg_1, arg_2, arg_3, arg_4);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexPointervINTEL(GLint arg_0,  GLenum arg_1,  const GLvoid* * arg_2) {
+  ENTER_GL();
+  func_glVertexPointervINTEL(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexWeightPointerEXT(GLsizei arg_0,  GLenum arg_1,  GLsizei arg_2,  const GLvoid * arg_3) {
+  ENTER_GL();
+  func_glVertexWeightPointerEXT(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexWeightfEXT(GLfloat arg_0) {
+  ENTER_GL();
+  func_glVertexWeightfEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glVertexWeightfvEXT(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glVertexWeightfvEXT(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2dMESA(GLdouble arg_0,  GLdouble arg_1) {
+  ENTER_GL();
+  func_glWindowPos2dMESA(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2dvMESA(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glWindowPos2dvMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2fMESA(GLfloat arg_0,  GLfloat arg_1) {
+  ENTER_GL();
+  func_glWindowPos2fMESA(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2fvMESA(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glWindowPos2fvMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2iMESA(GLint arg_0,  GLint arg_1) {
+  ENTER_GL();
+  func_glWindowPos2iMESA(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2ivMESA(const GLint * arg_0) {
+  ENTER_GL();
+  func_glWindowPos2ivMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2sMESA(GLshort arg_0,  GLshort arg_1) {
+  ENTER_GL();
+  func_glWindowPos2sMESA(arg_0, arg_1);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos2svMESA(const GLshort * arg_0) {
+  ENTER_GL();
+  func_glWindowPos2svMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3dMESA(GLdouble arg_0,  GLdouble arg_1,  GLdouble arg_2) {
+  ENTER_GL();
+  func_glWindowPos3dMESA(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3dvMESA(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glWindowPos3dvMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3fMESA(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2) {
+  ENTER_GL();
+  func_glWindowPos3fMESA(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3fvMESA(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glWindowPos3fvMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3iMESA(GLint arg_0,  GLint arg_1,  GLint arg_2) {
+  ENTER_GL();
+  func_glWindowPos3iMESA(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3ivMESA(const GLint * arg_0) {
+  ENTER_GL();
+  func_glWindowPos3ivMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3sMESA(GLshort arg_0,  GLshort arg_1,  GLshort arg_2) {
+  ENTER_GL();
+  func_glWindowPos3sMESA(arg_0, arg_1, arg_2);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos3svMESA(const GLshort * arg_0) {
+  ENTER_GL();
+  func_glWindowPos3svMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4dMESA(GLdouble arg_0,  GLdouble arg_1,  GLdouble arg_2,  GLdouble arg_3) {
+  ENTER_GL();
+  func_glWindowPos4dMESA(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4dvMESA(const GLdouble * arg_0) {
+  ENTER_GL();
+  func_glWindowPos4dvMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4fMESA(GLfloat arg_0,  GLfloat arg_1,  GLfloat arg_2,  GLfloat arg_3) {
+  ENTER_GL();
+  func_glWindowPos4fMESA(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4fvMESA(const GLfloat * arg_0) {
+  ENTER_GL();
+  func_glWindowPos4fvMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4iMESA(GLint arg_0,  GLint arg_1,  GLint arg_2,  GLint arg_3) {
+  ENTER_GL();
+  func_glWindowPos4iMESA(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4ivMESA(const GLint * arg_0) {
+  ENTER_GL();
+  func_glWindowPos4ivMESA(arg_0);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4sMESA(GLshort arg_0,  GLshort arg_1,  GLshort arg_2,  GLshort arg_3) {
+  ENTER_GL();
+  func_glWindowPos4sMESA(arg_0, arg_1, arg_2, arg_3);
+  LEAVE_GL();
+}
+
+void WINAPI wine_glWindowPos4svMESA(const GLshort * arg_0) {
+  ENTER_GL();
+  func_glWindowPos4svMESA(arg_0);
+  LEAVE_GL();
+}
+
diff --git a/dlls/opengl32/opengl_ext.h b/dlls/opengl32/opengl_ext.h
new file mode 100644
index 0000000..b09ce24
--- /dev/null
+++ b/dlls/opengl32/opengl_ext.h
@@ -0,0 +1,17 @@
+/* Typedefs for extensions loading
+
+     Copyright (c) 2000 Lionel Ulmer
+*/
+#ifndef __DLLS_OPENGL32_OPENGL_EXT_H
+#define __DLLS_OPENGL32_OPENGL_EXT_H
+
+typedef struct {
+  char  *name;     /* name of the extension */
+  void  *func;     /* pointer to the Wine function for this extension */
+  void **func_ptr; /* where to store the value of glXGetProcAddressARB */
+} OpenGL_extension;
+
+extern OpenGL_extension extension_registry[];
+extern int extension_registry_size;
+
+#endif /* __DLLS_OPENGL32_OPENGL_EXT_H */
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();
+}
+
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
new file mode 100644
index 0000000..6109eb8
--- /dev/null
+++ b/dlls/opengl32/wgl.c
@@ -0,0 +1,276 @@
+/* Window-specific OpenGL functions implementation.
+
+     Copyright (c) 1999 Lionel Ulmer
+*/
+
+#include <stdlib.h>
+
+#include "config.h"
+#include "debugtools.h"
+#include "gdi.h"
+#include "dc.h"
+#include "windef.h"
+#include "wine_gl.h"
+#include "x11drv.h"
+
+#include "wgl.h"
+#include "opengl_ext.h"
+
+DEFAULT_DEBUG_CHANNEL(opengl)
+
+HGLRC WINAPI wglCreateContext(HDC hdc) {
+  DC * dc = DC_GetDCPtr( hdc );
+  X11DRV_PDEVICE *physDev;
+  XVisualInfo *vis;
+  GLXContext ret;
+
+  TRACE("(%08x)\n", hdc);
+
+  if (dc == NULL) {
+    ERR("Null DC !!!\n");
+    return NULL;
+  }
+  
+  physDev = (X11DRV_PDEVICE *)dc->physDev;
+
+  /* First, get the visual for the choosen pixel format */
+  vis = physDev->visuals[physDev->current_pf - 1];
+
+  if (vis == NULL) {
+    ERR("NULL visual !!!\n");
+    /* Need to set errors here */
+    return NULL;
+  }
+  
+  ENTER_GL();
+  ret = glXCreateContext(display, vis, NULL, True);
+  LEAVE_GL();
+
+  return (HGLRC) ret;
+}
+
+HGLRC WINAPI wglCreateLayerContext(HDC hdc,
+				   int iLayerPlane) {
+  FIXME("(%08x,%d): stub !\n", hdc, iLayerPlane);
+
+  return NULL;
+}
+
+BOOL WINAPI wglCopyContext(HGLRC hglrcSrc,
+			   HGLRC hglrcDst,
+			   UINT mask) {
+  FIXME("(%p,%p,%d)\n", hglrcSrc, hglrcDst, mask);
+
+  return FALSE;
+}
+
+BOOL WINAPI wglDeleteContext(HGLRC hglrc) {
+  FIXME("(%p): stub !\n", hglrc);
+
+  return FALSE;
+}
+
+BOOL WINAPI wglDescribeLayerPlane(HDC hdc,
+				  int iPixelFormat,
+				  int iLayerPlane,
+				  UINT nBytes,
+				  LPLAYERPLANEDESCRIPTOR plpd) {
+  FIXME("(%08x,%d,%d,%d,%p)\n", hdc, iPixelFormat, iLayerPlane, nBytes, plpd);
+
+  return FALSE;
+}
+
+HGLRC WINAPI wglGetCurrentContext(void) {
+  GLXContext ret;
+
+  TRACE("()\n");
+
+  ENTER_GL();
+  ret = glXGetCurrentContext();
+  LEAVE_GL();
+
+  TRACE(" returning %p\n", ret);
+  
+  return ret;
+}
+
+HDC WINAPI wglGetCurrentDC(void) {
+  GLXContext ret;
+
+  ENTER_GL();
+  ret = glXGetCurrentContext();
+  LEAVE_GL();
+
+  if (ret == NULL) {
+    TRACE("() no current context -> returning NULL\n");
+    return 0;
+  } else {
+    FIXME("()\n");
+
+    return 0;
+  }
+}
+
+int WINAPI wglGetLayerPaletteEntries(HDC hdc,
+				     int iLayerPlane,
+				     int iStart,
+				     int cEntries,
+				     const COLORREF *pcr) {
+  FIXME("(): stub !\n");
+
+  return 0;
+}
+
+static int compar(const void *elt_a, const void *elt_b) {
+  return strcmp(((OpenGL_extension *) elt_a)->name,
+		((OpenGL_extension *) elt_b)->name);
+}
+
+void* WINAPI wglGetProcAddress(LPCSTR  lpszProc) {
+  void *local_func;
+  static HMODULE hm = 0;
+
+  TRACE("(%s)\n", lpszProc);
+
+  if (hm == 0)
+      hm = GetModuleHandleA("opengl32");
+
+  /* First, look if it's not already defined in the 'standard' OpenGL functions */
+  if ((local_func = GetProcAddress(hm, lpszProc)) != NULL) {
+    TRACE("Found function in 'standard' OpenGL functions (%p)\n", local_func);
+    return local_func;
+  }
+
+  /* After that, look at the extensions defined in the Linux OpenGL library */
+  if ((local_func = glXGetProcAddressARB(lpszProc)) == NULL) {
+    char buf[256];
+    void *ret = NULL;
+    
+    /* Remove the 3 last letters (EXT, ARB, ...).
+       
+       I know that some extensions have more than 3 letters (MESA, NV,
+       INTEL, ...), but this is only a stop-gap measure to fix buggy
+       OpenGL drivers (moreover, it is only useful for old 1.0 apps
+       that query the glBindTextureEXT extension).
+    */
+    strncpy(buf, lpszProc, strlen(lpszProc) - 3);
+    buf[strlen(lpszProc) - 3] = '\0';
+    TRACE("Extension not found in the Linux OpenGL library, checking against libGL bug with %s..\n", buf);
+    
+    ret = GetProcAddress(hm, buf);
+    if (ret != NULL) {
+      TRACE("Found function in main OpenGL library (%p) !\n", ret);
+    }
+
+    return ret;
+  } else {
+    OpenGL_extension  ext;
+    OpenGL_extension *ret;
+
+    ext.name = (char *) lpszProc;
+    ret = (OpenGL_extension *) bsearch(&ext, extension_registry,
+				       extension_registry_size, sizeof(OpenGL_extension), compar);
+
+    if (ret != NULL) {
+      TRACE("Returning function  (%p)\n", ret->func);
+      *(ret->func_ptr) = local_func;
+
+      return ret->func;
+    } else {
+      ERR("Extension defined in the OpenGL library but NOT in opengl_ext.c... Please report (lionel.ulmer@free.fr) !\n");
+      return NULL;
+    }
+  }
+}
+
+BOOL WINAPI wglMakeCurrent(HDC hdc,
+			   HGLRC hglrc) {
+  DC * dc = DC_GetDCPtr( hdc );
+  X11DRV_PDEVICE *physDev;
+  BOOL ret;
+
+  TRACE("(%08x,%p)\n", hdc, hglrc);
+
+  if (dc == NULL) {
+    ERR("Null DC !!!\n");
+    return FALSE;
+  }
+  
+  physDev =(X11DRV_PDEVICE *)dc->physDev;
+
+  ENTER_GL();
+  ret = glXMakeCurrent(display, physDev->drawable, (GLXContext) hglrc);
+  LEAVE_GL();
+  
+  return ret;
+}
+
+BOOL WINAPI wglRealizeLayerPalette(HDC hdc,
+				   int iLayerPlane,
+				   BOOL bRealize) {
+  FIXME("()\n");
+
+  return FALSE;
+}
+
+int WINAPI wglSetLayerPaletteEntries(HDC hdc,
+				     int iLayerPlane,
+				     int iStart,
+				     int cEntries,
+				     const COLORREF *pcr) {
+  FIXME("(): stub !\n");
+
+  return 0;
+}
+
+BOOL WINAPI wglShareLists(HGLRC hglrc1,
+			  HGLRC hglrc2) {
+  FIXME("(): stub !\n");
+
+  return FALSE;
+}
+
+BOOL WINAPI wglSwapLayerBuffers(HDC hdc,
+				UINT fuPlanes) {
+  FIXME("(): stub !\n");
+
+  return FALSE;
+}
+
+BOOL WINAPI wglUseFontBitmaps(HDC hdc,
+			      DWORD first,
+			      DWORD count,
+			      DWORD listBase) {
+  FIXME("(): stub !\n");
+
+  return FALSE;
+}
+ 
+BOOL WINAPI wglUseFontOutlines(HDC hdc,
+			       DWORD first,
+			       DWORD count,
+			       DWORD listBase,
+			       FLOAT deviation,
+			       FLOAT extrusion,
+			       int format,
+			       LPGLYPHMETRICSFLOAT lpgmf) {
+  FIXME("(): stub !\n");
+
+  return FALSE;
+}
+
+/* This is for brain-dead applications that use OpenGL functions before even
+   creating a rendering context.... */
+DECL_GLOBAL_CONSTRUCTOR(OpenGL_create_default_context) {
+  int num;
+  XVisualInfo template;
+  XVisualInfo *vis;
+  GLXContext cx;
+
+  ENTER_GL();
+  template.visualid = XVisualIDFromVisual(visual);
+  vis = XGetVisualInfo(display, VisualIDMask, &template, &num);
+  cx=glXCreateContext(display, vis, 0, GL_TRUE);
+  glXMakeCurrent(display, X11DRV_GetXRootWindow(), cx);
+  LEAVE_GL();
+}
diff --git a/dlls/opengl32/wgl.h b/dlls/opengl32/wgl.h
new file mode 100644
index 0000000..aa7ae30
--- /dev/null
+++ b/dlls/opengl32/wgl.h
@@ -0,0 +1,103 @@
+/* Window-specific OpenGL functions implementation.
+
+     Copyright (c) 2000 Lionel Ulmer
+*/
+
+#ifndef __DLLS_OPENGL32_WGL_H
+#define __DLLS_OPENGL32_WGL_H
+
+#include "gdi.h"
+
+typedef void *HGLRC;
+
+typedef struct {
+  WORD  nSize; 
+  WORD  nVersion; 
+  DWORD dwFlags; 
+  BYTE  iPixelType; 
+  BYTE  cColorBits; 
+  BYTE  cRedBits; 
+  BYTE  cRedShift; 
+  BYTE  cGreenBits; 
+  BYTE  cGreenShift; 
+  BYTE  cBlueBits; 
+  BYTE  cBlueShift; 
+  BYTE  cAlphaBits; 
+  BYTE  cAlphaShift; 
+  BYTE  cAccumBits; 
+  BYTE  cAccumRedBits; 
+  BYTE  cAccumGreenBits; 
+  BYTE  cAccumBlueBits; 
+  BYTE  cAccumAlphaBits; 
+  BYTE  cDepthBits; 
+  BYTE  cStencilBits; 
+  BYTE  cAuxBuffers; 
+  BYTE  iLayerPlane;
+  BYTE  bReserved; 
+  COLORREF crTransparent; 
+} LAYERPLANEDESCRIPTOR; 
+typedef LAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR;
+
+typedef struct {
+  FLOAT      x; 
+  FLOAT      y; 
+} POINTFLOAT; 
+
+typedef struct {
+  FLOAT      gmfBlackBoxX; 
+  FLOAT      gmfBlackBoxY; 
+  POINTFLOAT gmfptGlyphOrigin; 
+  FLOAT      gmfCellIncX; 
+  FLOAT      gmfCellIncY; 
+} GLYPHMETRICSFLOAT; 
+typedef GLYPHMETRICSFLOAT *LPGLYPHMETRICSFLOAT;
+
+HGLRC WINAPI wglCreateContext(HDC hdc) ;
+HGLRC WINAPI wglCreateLayerContext(HDC hdc,
+				   int iLayerPlane) ;
+BOOL WINAPI wglCopyContext(HGLRC hglrcSrc,
+			   HGLRC hglrcDst,
+			   UINT mask) ;
+BOOL WINAPI wglDeleteContext(HGLRC hglrc) ;
+BOOL WINAPI wglDescribeLayerPlane(HDC hdc,
+				  int iPixelFormat,
+				  int iLayerPlane,
+				  UINT nBytes,
+				  LPLAYERPLANEDESCRIPTOR plpd) ;
+HGLRC WINAPI wglGetCurrentContext(void) ;
+HDC WINAPI wglGetCurrentDC(void) ;
+int WINAPI wglGetLayerPaletteEntries(HDC hdc,
+				     int iLayerPlane,
+				     int iStart,
+				     int cEntries,
+				     const COLORREF *pcr) ;
+void * WINAPI wglGetProcAddress(LPCSTR  lpszProc) ;
+BOOL WINAPI wglMakeCurrent(HDC hdc,
+			   HGLRC hglrc) ;
+BOOL WINAPI wglRealizeLayerPalette(HDC hdc,
+				   int iLayerPlane,
+				   BOOL bRealize) ;
+int WINAPI wglSetLayerPaletteEntries(HDC hdc,
+				     int iLayerPlane,
+				     int iStart,
+				     int cEntries,
+				     const COLORREF *pcr) ;
+BOOL WINAPI wglShareLists(HGLRC hglrc1,
+			  HGLRC hglrc2) ;
+BOOL WINAPI wglSwapLayerBuffers(HDC hdc,
+				UINT fuPlanes);
+BOOL WINAPI wglUseFontBitmaps(HDC hdc,
+			      DWORD first,
+			      DWORD count,
+			      DWORD listBase) ;
+BOOL WINAPI wglUseFontOutlines(HDC hdc,
+			       DWORD first,
+			       DWORD count,
+			       DWORD listBase,
+			       FLOAT deviation,
+			       FLOAT extrusion,
+			       int format,
+			       LPGLYPHMETRICSFLOAT lpgmf) ;
+
+#endif /* __DLLS_OPENGL32_WGL_H */
+