diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl
index 44d58ec..a3148d8 100755
--- a/dlls/opengl32/make_opengl
+++ b/dlls/opengl32/make_opengl
@@ -443,147 +443,8 @@
 #     [ "GLfloat", "ymove" ],
 #     [ "GLubyte *", "bitmap"] ] ];
 #
-my %norm_functions = ( "glDebugEntry" => [ "GLint", [[ "GLint", "unknown1" ],
-                                                     [ "GLint", "unknown2" ]] ] );
-
-#
-# This stores various extensions NOT part of the GL extension registry but still
-# implemented by most OpenGL libraries out there...
-#
-
-my %ext_functions  =
-   (
-    "glDeleteBufferRegion" => [ "void", [ [ "GLenum", "region" ] ], [ "GL_KTX_buffer_region" ] ],
-    "glReadBufferRegion" => [ "void", [ [ "GLenum", "region" ],
-                                        [ "GLint", "x" ],
-                                        [ "GLint", "y" ],
-                                        [ "GLsizei", "width" ],
-                                        [ "GLsizei", "height" ] ], [ "GL_KTX_buffer_region" ] ],
-    "glDrawBufferRegion" => [ "void", [ [ "GLenum", "region" ],
-                                        [ "GLint", "x" ],
-                                        [ "GLint", "y" ],
-                                        [ "GLsizei", "width" ],
-                                        [ "GLsizei", "height" ],
-                                        [ "GLint", "xDest" ],
-                                        [ "GLint", "yDest" ] ], [ "GL_KTX_buffer_region" ] ],
-    "glBufferRegionEnabled" => [ "GLuint", [ ], [ "GL_KTX_buffer_region" ] ],
-    "glNewBufferRegion" => [ "GLuint", [ [ "GLenum", "type" ] ], [ "GL_KTX_buffer_region" ] ],
-    "glMTexCoord2fSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                       [ "GLfloat", "s" ],
-                                       [ "GLfloat", "t" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMTexCoord2fvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                        [ "GLfloat *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1dSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLdouble", "s" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1dvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLdouble *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1fSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLfloat", "s" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1fvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "const GLfloat *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1iSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLint", "s" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1ivSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLint *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1sSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLshort", "s" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord1svSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLshort *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2dSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLdouble", "s"],
-                                           [ "GLdouble", "t" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2dvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLdouble *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2fSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLfloat", "s" ],
-                                           [ "GLfloat", "t" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2fvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLfloat *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2iSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLint", "s" ],
-                                           [ "GLint", "t" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2ivSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLint *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2sSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLshort", "s" ],
-                                           [ "GLshort", "t" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord2svSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLshort *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3dSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLdouble", "s" ],
-                                           [ "GLdouble", "t" ],
-                                           [ "GLdouble", "r" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3dvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLdouble *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3fSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLfloat", "s" ],
-                                           [ "GLfloat", "t" ],
-                                           [ "GLfloat", "r" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3fvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLfloat *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3iSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLint", "s" ],
-                                           [ "GLint", "t" ],
-                                           [ "GLint", "r" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3ivSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLint *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3sSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLshort", "s" ],
-                                           [ "GLshort", "t" ],
-                                           [ "GLshort", "r" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord3svSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLshort *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4dSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLdouble", "s" ],
-                                           [ "GLdouble", "t" ],
-                                           [ "GLdouble", "r" ],
-                                           [ "GLdouble", "q" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4dvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLdouble *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4fSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLfloat", "s" ],
-                                           [ "GLfloat", "t" ],
-                                           [ "GLfloat", "r" ],
-                                           [ "GLfloat", "q" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4fvSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLfloat *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4iSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLint", "s" ],
-                                           [ "GLint", "t" ],
-                                           [ "GLint", "r" ],
-                                           [ "GLint", "q" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4ivSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLint *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4sSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                           [ "GLshort", "s" ],
-                                           [ "GLshort", "t" ],
-                                           [ "GLshort", "r" ],
-                                           [ "GLshort", "q" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoord4svSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                            [ "GLshort *", "v" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glMultiTexCoordPointerSGIS" => [ "void", [ [ "GLenum", "target" ],
-                                                [ "GLint", "size" ],
-                                                [ "GLenum", "type" ],
-                                                [ "GLsizei", "stride" ],
-                                                [ "GLvoid *", "pointer" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glSelectTextureSGIS" => [ "void", [ [ "GLenum", "target" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glSelectTextureCoordSetSGIS" => [ "void", [ [ "GLenum", "target" ] ], [ "GL_SGIS_multitexture" ] ],
-    "glDeleteObjectBufferATI" => [ "void", [ [ "GLuint", "buffer" ] ], [ "GL_ATI_vertex_array_object" ] ],
-    "wglSetPixelFormatWINE" => [ "BOOL", [ [ "HDC", "hdc" ],
-                                           [ "int", "format" ] ], [ "WGL_WINE_pixel_format_passthrough" ] ],
-    "wglQueryCurrentRendererIntegerWINE" => [ "BOOL", [ [ "GLenum", "attribute" ],
-                                                        [ "GLuint *", "value" ] ], [ "WGL_WINE_query_renderer" ] ],
-    "wglQueryCurrentRendererStringWINE" => [ "const GLchar *", [ [ "GLenum", "attribute" ] ],
-                                             [ "WGL_WINE_query_renderer" ] ],
-    "wglQueryRendererIntegerWINE" => [ "BOOL", [ [ "HDC", "dc" ],
-                                                 [ "GLint", "renderer" ],
-                                                 [ "GLenum", "attribute" ],
-                                                 [ "GLuint *", "value" ] ], [ "WGL_WINE_query_renderer" ] ],
-    "wglQueryRendererStringWINE" => [ "const GLchar *", [ [ "HDC", "dc" ],
-                                                          [ "GLint", "renderer" ],
-                                                          [ "GLenum", "attribute" ] ], [ "WGL_WINE_query_renderer" ] ],
-   );
-
+my %norm_functions;
+my %ext_functions;
 
 my %wgl_functions =
    (
@@ -620,23 +481,10 @@
     "WGL_EXT_swap_control" => 1,
     "WGL_NV_vertex_array_range" => 1,
     "WGL_WINE_pixel_format_passthrough" => 1,
+    "WGL_WINE_query_renderer" => 1,
    );
 
-my %enums =
-   (
-    "WGL_RENDERER_VENDOR_ID_WINE" => "0x8183",
-    "WGL_RENDERER_DEVICE_ID_WINE" => "0x8184",
-    "WGL_RENDERER_VERSION_WINE" => "0x8185",
-    "WGL_RENDERER_ACCELERATED_WINE" => "0x8186",
-    "WGL_RENDERER_VIDEO_MEMORY_WINE" => "0x8187",
-    "WGL_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_WINE" => "0x8188",
-    "WGL_RENDERER_PREFERRED_PROFILE_WINE" => "0x8189",
-    "WGL_RENDERER_OPENGL_CORE_PROFILE_VERSION_WINE" => "0x818A",
-    "WGL_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_WINE" => "0x818B",
-    "WGL_RENDERER_OPENGL_ES_PROFILE_VERSION_WINE" => "0x818C",
-    "WGL_RENDERER_OPENGL_ES2_PROFILE_VERSION_WINE" => "0x818D",
-    "WGL_RENDERER_ID_WINE" => "0x818E",
-   );
+my %enums;
 
 sub parse_variable($)
 {
@@ -677,7 +525,8 @@
     my %functions;
 
     # save all functions
-    for my $command ( @{${$data->{commands}}[0]->{'command'}} ) {
+    for my $cmds (@{$data->{commands}}) {
+      for my $command ( @{$cmds->{'command'}} ) {
         my $name = '';
         my $ret = '';
         my $params = [];
@@ -690,6 +539,7 @@
             }
         }
         $functions{$name} = [ $ret, $params ];
+      }
     }
 
     # save all enums (only GL)
@@ -758,6 +608,7 @@
 
 parse_file( "gl.xml", 1 );
 parse_file( "wgl.xml", 0 );
+parse_file( "winegl.xml", 1 );
 
 #
 # Get the current wgl_driver.h version
diff --git a/dlls/opengl32/opengl_ext.c b/dlls/opengl32/opengl_ext.c
index a8d2677..3efd9ab 100644
--- a/dlls/opengl32/opengl_ext.c
+++ b/dlls/opengl32/opengl_ext.c
@@ -6774,7 +6774,7 @@
   funcs->ext.p_glMTexCoord2fSGIS( target, s, t );
 }
 
-static void WINAPI glMTexCoord2fvSGIS( GLenum target, GLfloat * v ) {
+static void WINAPI glMTexCoord2fvSGIS( GLenum target, GLfloat* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMTexCoord2fvSGIS( target, v );
@@ -7428,7 +7428,7 @@
   funcs->ext.p_glMultiTexCoord1dvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord1dvSGIS( GLenum target, GLdouble * v ) {
+static void WINAPI glMultiTexCoord1dvSGIS( GLenum target, GLdouble* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord1dvSGIS( target, v );
@@ -7464,7 +7464,7 @@
   funcs->ext.p_glMultiTexCoord1fvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord1fvSGIS( GLenum target, const GLfloat * v ) {
+static void WINAPI glMultiTexCoord1fvSGIS( GLenum target, const GLfloat* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord1fvSGIS( target, v );
@@ -7512,7 +7512,7 @@
   funcs->ext.p_glMultiTexCoord1ivARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord1ivSGIS( GLenum target, GLint * v ) {
+static void WINAPI glMultiTexCoord1ivSGIS( GLenum target, GLint* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord1ivSGIS( target, v );
@@ -7548,7 +7548,7 @@
   funcs->ext.p_glMultiTexCoord1svARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord1svSGIS( GLenum target, GLshort * v ) {
+static void WINAPI glMultiTexCoord1svSGIS( GLenum target, GLshort* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord1svSGIS( target, v );
@@ -7608,7 +7608,7 @@
   funcs->ext.p_glMultiTexCoord2dvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord2dvSGIS( GLenum target, GLdouble * v ) {
+static void WINAPI glMultiTexCoord2dvSGIS( GLenum target, GLdouble* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord2dvSGIS( target, v );
@@ -7644,7 +7644,7 @@
   funcs->ext.p_glMultiTexCoord2fvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord2fvSGIS( GLenum target, GLfloat * v ) {
+static void WINAPI glMultiTexCoord2fvSGIS( GLenum target, GLfloat* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord2fvSGIS( target, v );
@@ -7692,7 +7692,7 @@
   funcs->ext.p_glMultiTexCoord2ivARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord2ivSGIS( GLenum target, GLint * v ) {
+static void WINAPI glMultiTexCoord2ivSGIS( GLenum target, GLint* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord2ivSGIS( target, v );
@@ -7728,7 +7728,7 @@
   funcs->ext.p_glMultiTexCoord2svARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord2svSGIS( GLenum target, GLshort * v ) {
+static void WINAPI glMultiTexCoord2svSGIS( GLenum target, GLshort* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord2svSGIS( target, v );
@@ -7788,7 +7788,7 @@
   funcs->ext.p_glMultiTexCoord3dvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord3dvSGIS( GLenum target, GLdouble * v ) {
+static void WINAPI glMultiTexCoord3dvSGIS( GLenum target, GLdouble* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord3dvSGIS( target, v );
@@ -7824,7 +7824,7 @@
   funcs->ext.p_glMultiTexCoord3fvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord3fvSGIS( GLenum target, GLfloat * v ) {
+static void WINAPI glMultiTexCoord3fvSGIS( GLenum target, GLfloat* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord3fvSGIS( target, v );
@@ -7872,7 +7872,7 @@
   funcs->ext.p_glMultiTexCoord3ivARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord3ivSGIS( GLenum target, GLint * v ) {
+static void WINAPI glMultiTexCoord3ivSGIS( GLenum target, GLint* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord3ivSGIS( target, v );
@@ -7908,7 +7908,7 @@
   funcs->ext.p_glMultiTexCoord3svARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord3svSGIS( GLenum target, GLshort * v ) {
+static void WINAPI glMultiTexCoord3svSGIS( GLenum target, GLshort* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord3svSGIS( target, v );
@@ -7968,7 +7968,7 @@
   funcs->ext.p_glMultiTexCoord4dvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord4dvSGIS( GLenum target, GLdouble * v ) {
+static void WINAPI glMultiTexCoord4dvSGIS( GLenum target, GLdouble* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord4dvSGIS( target, v );
@@ -8004,7 +8004,7 @@
   funcs->ext.p_glMultiTexCoord4fvARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord4fvSGIS( GLenum target, GLfloat * v ) {
+static void WINAPI glMultiTexCoord4fvSGIS( GLenum target, GLfloat* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord4fvSGIS( target, v );
@@ -8052,7 +8052,7 @@
   funcs->ext.p_glMultiTexCoord4ivARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord4ivSGIS( GLenum target, GLint * v ) {
+static void WINAPI glMultiTexCoord4ivSGIS( GLenum target, GLint* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord4ivSGIS( target, v );
@@ -8088,7 +8088,7 @@
   funcs->ext.p_glMultiTexCoord4svARB( target, v );
 }
 
-static void WINAPI glMultiTexCoord4svSGIS( GLenum target, GLshort * v ) {
+static void WINAPI glMultiTexCoord4svSGIS( GLenum target, GLshort* v ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %p)\n", target, v );
   funcs->ext.p_glMultiTexCoord4svSGIS( target, v );
@@ -8160,7 +8160,7 @@
   funcs->ext.p_glMultiTexCoordPointerEXT( texunit, size, type, stride, pointer );
 }
 
-static void WINAPI glMultiTexCoordPointerSGIS( GLenum target, GLint size, GLenum type, GLsizei stride, GLvoid * pointer ) {
+static void WINAPI glMultiTexCoordPointerSGIS( GLenum target, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ) {
   const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
   TRACE("(%d, %d, %d, %d, %p)\n", target, size, type, stride, pointer );
   funcs->ext.p_glMultiTexCoordPointerSGIS( target, size, type, stride, pointer );
diff --git a/dlls/opengl32/opengl_norm.c b/dlls/opengl32/opengl_norm.c
index a228d9c..d974cb4 100644
--- a/dlls/opengl32/opengl_norm.c
+++ b/dlls/opengl32/opengl_norm.c
@@ -3487,7 +3487,7 @@
 static void null_glLoadTransposeMatrixxOES( const GLfixed* m ) { }
 static void null_glLockArraysEXT( GLint first, GLsizei count ) { }
 static void null_glMTexCoord2fSGIS( GLenum target, GLfloat s, GLfloat t ) { }
-static void null_glMTexCoord2fvSGIS( GLenum target, GLfloat * v ) { }
+static void null_glMTexCoord2fvSGIS( GLenum target, GLfloat* v ) { }
 static void null_glMakeBufferNonResidentNV( GLenum target ) { }
 static void null_glMakeBufferResidentNV( GLenum target, GLenum access ) { }
 static void null_glMakeImageHandleNonResidentARB( GLuint64 handle ) { }
@@ -3596,13 +3596,13 @@
 static void null_glMultiTexCoord1dSGIS( GLenum target, GLdouble s ) { }
 static void null_glMultiTexCoord1dv( GLenum target, const GLdouble* v ) { }
 static void null_glMultiTexCoord1dvARB( GLenum target, const GLdouble* v ) { }
-static void null_glMultiTexCoord1dvSGIS( GLenum target, GLdouble * v ) { }
+static void null_glMultiTexCoord1dvSGIS( GLenum target, GLdouble* v ) { }
 static void null_glMultiTexCoord1f( GLenum target, GLfloat s ) { }
 static void null_glMultiTexCoord1fARB( GLenum target, GLfloat s ) { }
 static void null_glMultiTexCoord1fSGIS( GLenum target, GLfloat s ) { }
 static void null_glMultiTexCoord1fv( GLenum target, const GLfloat* v ) { }
 static void null_glMultiTexCoord1fvARB( GLenum target, const GLfloat* v ) { }
-static void null_glMultiTexCoord1fvSGIS( GLenum target, const GLfloat * v ) { }
+static void null_glMultiTexCoord1fvSGIS( GLenum target, const GLfloat* v ) { }
 static void null_glMultiTexCoord1hNV( GLenum target, GLhalfNV s ) { }
 static void null_glMultiTexCoord1hvNV( GLenum target, const GLhalfNV* v ) { }
 static void null_glMultiTexCoord1i( GLenum target, GLint s ) { }
@@ -3610,13 +3610,13 @@
 static void null_glMultiTexCoord1iSGIS( GLenum target, GLint s ) { }
 static void null_glMultiTexCoord1iv( GLenum target, const GLint* v ) { }
 static void null_glMultiTexCoord1ivARB( GLenum target, const GLint* v ) { }
-static void null_glMultiTexCoord1ivSGIS( GLenum target, GLint * v ) { }
+static void null_glMultiTexCoord1ivSGIS( GLenum target, GLint* v ) { }
 static void null_glMultiTexCoord1s( GLenum target, GLshort s ) { }
 static void null_glMultiTexCoord1sARB( GLenum target, GLshort s ) { }
 static void null_glMultiTexCoord1sSGIS( GLenum target, GLshort s ) { }
 static void null_glMultiTexCoord1sv( GLenum target, const GLshort* v ) { }
 static void null_glMultiTexCoord1svARB( GLenum target, const GLshort* v ) { }
-static void null_glMultiTexCoord1svSGIS( GLenum target, GLshort * v ) { }
+static void null_glMultiTexCoord1svSGIS( GLenum target, GLshort* v ) { }
 static void null_glMultiTexCoord1xOES( GLenum texture, GLfixed s ) { }
 static void null_glMultiTexCoord1xvOES( GLenum texture, const GLfixed* coords ) { }
 static void null_glMultiTexCoord2bOES( GLenum texture, GLbyte s, GLbyte t ) { }
@@ -3626,13 +3626,13 @@
 static void null_glMultiTexCoord2dSGIS( GLenum target, GLdouble s, GLdouble t ) { }
 static void null_glMultiTexCoord2dv( GLenum target, const GLdouble* v ) { }
 static void null_glMultiTexCoord2dvARB( GLenum target, const GLdouble* v ) { }
-static void null_glMultiTexCoord2dvSGIS( GLenum target, GLdouble * v ) { }
+static void null_glMultiTexCoord2dvSGIS( GLenum target, GLdouble* v ) { }
 static void null_glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t ) { }
 static void null_glMultiTexCoord2fARB( GLenum target, GLfloat s, GLfloat t ) { }
 static void null_glMultiTexCoord2fSGIS( GLenum target, GLfloat s, GLfloat t ) { }
 static void null_glMultiTexCoord2fv( GLenum target, const GLfloat* v ) { }
 static void null_glMultiTexCoord2fvARB( GLenum target, const GLfloat* v ) { }
-static void null_glMultiTexCoord2fvSGIS( GLenum target, GLfloat * v ) { }
+static void null_glMultiTexCoord2fvSGIS( GLenum target, GLfloat* v ) { }
 static void null_glMultiTexCoord2hNV( GLenum target, GLhalfNV s, GLhalfNV t ) { }
 static void null_glMultiTexCoord2hvNV( GLenum target, const GLhalfNV* v ) { }
 static void null_glMultiTexCoord2i( GLenum target, GLint s, GLint t ) { }
@@ -3640,13 +3640,13 @@
 static void null_glMultiTexCoord2iSGIS( GLenum target, GLint s, GLint t ) { }
 static void null_glMultiTexCoord2iv( GLenum target, const GLint* v ) { }
 static void null_glMultiTexCoord2ivARB( GLenum target, const GLint* v ) { }
-static void null_glMultiTexCoord2ivSGIS( GLenum target, GLint * v ) { }
+static void null_glMultiTexCoord2ivSGIS( GLenum target, GLint* v ) { }
 static void null_glMultiTexCoord2s( GLenum target, GLshort s, GLshort t ) { }
 static void null_glMultiTexCoord2sARB( GLenum target, GLshort s, GLshort t ) { }
 static void null_glMultiTexCoord2sSGIS( GLenum target, GLshort s, GLshort t ) { }
 static void null_glMultiTexCoord2sv( GLenum target, const GLshort* v ) { }
 static void null_glMultiTexCoord2svARB( GLenum target, const GLshort* v ) { }
-static void null_glMultiTexCoord2svSGIS( GLenum target, GLshort * v ) { }
+static void null_glMultiTexCoord2svSGIS( GLenum target, GLshort* v ) { }
 static void null_glMultiTexCoord2xOES( GLenum texture, GLfixed s, GLfixed t ) { }
 static void null_glMultiTexCoord2xvOES( GLenum texture, const GLfixed* coords ) { }
 static void null_glMultiTexCoord3bOES( GLenum texture, GLbyte s, GLbyte t, GLbyte r ) { }
@@ -3656,13 +3656,13 @@
 static void null_glMultiTexCoord3dSGIS( GLenum target, GLdouble s, GLdouble t, GLdouble r ) { }
 static void null_glMultiTexCoord3dv( GLenum target, const GLdouble* v ) { }
 static void null_glMultiTexCoord3dvARB( GLenum target, const GLdouble* v ) { }
-static void null_glMultiTexCoord3dvSGIS( GLenum target, GLdouble * v ) { }
+static void null_glMultiTexCoord3dvSGIS( GLenum target, GLdouble* v ) { }
 static void null_glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r ) { }
 static void null_glMultiTexCoord3fARB( GLenum target, GLfloat s, GLfloat t, GLfloat r ) { }
 static void null_glMultiTexCoord3fSGIS( GLenum target, GLfloat s, GLfloat t, GLfloat r ) { }
 static void null_glMultiTexCoord3fv( GLenum target, const GLfloat* v ) { }
 static void null_glMultiTexCoord3fvARB( GLenum target, const GLfloat* v ) { }
-static void null_glMultiTexCoord3fvSGIS( GLenum target, GLfloat * v ) { }
+static void null_glMultiTexCoord3fvSGIS( GLenum target, GLfloat* v ) { }
 static void null_glMultiTexCoord3hNV( GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r ) { }
 static void null_glMultiTexCoord3hvNV( GLenum target, const GLhalfNV* v ) { }
 static void null_glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r ) { }
@@ -3670,13 +3670,13 @@
 static void null_glMultiTexCoord3iSGIS( GLenum target, GLint s, GLint t, GLint r ) { }
 static void null_glMultiTexCoord3iv( GLenum target, const GLint* v ) { }
 static void null_glMultiTexCoord3ivARB( GLenum target, const GLint* v ) { }
-static void null_glMultiTexCoord3ivSGIS( GLenum target, GLint * v ) { }
+static void null_glMultiTexCoord3ivSGIS( GLenum target, GLint* v ) { }
 static void null_glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r ) { }
 static void null_glMultiTexCoord3sARB( GLenum target, GLshort s, GLshort t, GLshort r ) { }
 static void null_glMultiTexCoord3sSGIS( GLenum target, GLshort s, GLshort t, GLshort r ) { }
 static void null_glMultiTexCoord3sv( GLenum target, const GLshort* v ) { }
 static void null_glMultiTexCoord3svARB( GLenum target, const GLshort* v ) { }
-static void null_glMultiTexCoord3svSGIS( GLenum target, GLshort * v ) { }
+static void null_glMultiTexCoord3svSGIS( GLenum target, GLshort* v ) { }
 static void null_glMultiTexCoord3xOES( GLenum texture, GLfixed s, GLfixed t, GLfixed r ) { }
 static void null_glMultiTexCoord3xvOES( GLenum texture, const GLfixed* coords ) { }
 static void null_glMultiTexCoord4bOES( GLenum texture, GLbyte s, GLbyte t, GLbyte r, GLbyte q ) { }
@@ -3686,13 +3686,13 @@
 static void null_glMultiTexCoord4dSGIS( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ) { }
 static void null_glMultiTexCoord4dv( GLenum target, const GLdouble* v ) { }
 static void null_glMultiTexCoord4dvARB( GLenum target, const GLdouble* v ) { }
-static void null_glMultiTexCoord4dvSGIS( GLenum target, GLdouble * v ) { }
+static void null_glMultiTexCoord4dvSGIS( GLenum target, GLdouble* v ) { }
 static void null_glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
 static void null_glMultiTexCoord4fARB( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
 static void null_glMultiTexCoord4fSGIS( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) { }
 static void null_glMultiTexCoord4fv( GLenum target, const GLfloat* v ) { }
 static void null_glMultiTexCoord4fvARB( GLenum target, const GLfloat* v ) { }
-static void null_glMultiTexCoord4fvSGIS( GLenum target, GLfloat * v ) { }
+static void null_glMultiTexCoord4fvSGIS( GLenum target, GLfloat* v ) { }
 static void null_glMultiTexCoord4hNV( GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q ) { }
 static void null_glMultiTexCoord4hvNV( GLenum target, const GLhalfNV* v ) { }
 static void null_glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q ) { }
@@ -3700,13 +3700,13 @@
 static void null_glMultiTexCoord4iSGIS( GLenum target, GLint s, GLint t, GLint r, GLint q ) { }
 static void null_glMultiTexCoord4iv( GLenum target, const GLint* v ) { }
 static void null_glMultiTexCoord4ivARB( GLenum target, const GLint* v ) { }
-static void null_glMultiTexCoord4ivSGIS( GLenum target, GLint * v ) { }
+static void null_glMultiTexCoord4ivSGIS( GLenum target, GLint* v ) { }
 static void null_glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) { }
 static void null_glMultiTexCoord4sARB( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) { }
 static void null_glMultiTexCoord4sSGIS( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ) { }
 static void null_glMultiTexCoord4sv( GLenum target, const GLshort* v ) { }
 static void null_glMultiTexCoord4svARB( GLenum target, const GLshort* v ) { }
-static void null_glMultiTexCoord4svSGIS( GLenum target, GLshort * v ) { }
+static void null_glMultiTexCoord4svSGIS( GLenum target, GLshort* v ) { }
 static void null_glMultiTexCoord4xOES( GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) { }
 static void null_glMultiTexCoord4xvOES( GLenum texture, const GLfixed* coords ) { }
 static void null_glMultiTexCoordP1ui( GLenum texture, GLenum type, GLuint coords ) { }
@@ -3718,7 +3718,7 @@
 static void null_glMultiTexCoordP4ui( GLenum texture, GLenum type, GLuint coords ) { }
 static void null_glMultiTexCoordP4uiv( GLenum texture, GLenum type, const GLuint* coords ) { }
 static void null_glMultiTexCoordPointerEXT( GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer ) { }
-static void null_glMultiTexCoordPointerSGIS( GLenum target, GLint size, GLenum type, GLsizei stride, GLvoid * pointer ) { }
+static void null_glMultiTexCoordPointerSGIS( GLenum target, GLint size, GLenum type, GLsizei stride, GLvoid* pointer ) { }
 static void null_glMultiTexEnvfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param ) { }
 static void null_glMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat* params ) { }
 static void null_glMultiTexEnviEXT( GLenum texunit, GLenum target, GLenum pname, GLint param ) { }
@@ -5005,11 +5005,11 @@
 static BOOL null_wglGetPixelFormatAttribivARB( HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int* piAttributes, int* piValues ) { return 0; }
 static int null_wglGetSwapIntervalEXT( void ) { return 0; }
 static BOOL null_wglMakeContextCurrentARB( HDC hDrawDC, HDC hReadDC, struct wgl_context * hglrc ) { return 0; }
-static BOOL null_wglQueryCurrentRendererIntegerWINE( GLenum attribute, GLuint * value ) { return 0; }
-static const GLchar * null_wglQueryCurrentRendererStringWINE( GLenum attribute ) { return 0; }
+static BOOL null_wglQueryCurrentRendererIntegerWINE( GLenum attribute, GLuint* value ) { return 0; }
+static const GLchar* null_wglQueryCurrentRendererStringWINE( GLenum attribute ) { return 0; }
 static BOOL null_wglQueryPbufferARB( struct wgl_pbuffer * hPbuffer, int iAttribute, int* piValue ) { return 0; }
-static BOOL null_wglQueryRendererIntegerWINE( HDC dc, GLint renderer, GLenum attribute, GLuint * value ) { return 0; }
-static const GLchar * null_wglQueryRendererStringWINE( HDC dc, GLint renderer, GLenum attribute ) { return 0; }
+static BOOL null_wglQueryRendererIntegerWINE( HDC dc, GLint renderer, GLenum attribute, GLuint* value ) { return 0; }
+static const GLchar* null_wglQueryRendererStringWINE( HDC dc, GLint renderer, GLenum attribute ) { return 0; }
 static int null_wglReleasePbufferDCARB( struct wgl_pbuffer * hPbuffer, HDC hDC ) { return 0; }
 static BOOL null_wglReleaseTexImageARB( struct wgl_pbuffer * hPbuffer, int iBuffer ) { return 0; }
 static BOOL null_wglSetPbufferAttribARB( struct wgl_pbuffer * hPbuffer, const int* piAttribList ) { return 0; }
diff --git a/dlls/opengl32/winegl.xml b/dlls/opengl32/winegl.xml
new file mode 100644
index 0000000..683e910
--- /dev/null
+++ b/dlls/opengl32/winegl.xml
@@ -0,0 +1,410 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<registry>
+    <comment>
+This stores various extensions NOT part of the GL extension registry but still
+implemented by most OpenGL libraries out there.
+
+Copyright 2000 Lionel Ulmer
+Copyright 2017 Alexandre Julliard
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+    </comment>
+
+    <commands namespace="GL">
+        <command>
+            <proto>GLint <name>glDebugEntry</name></proto>
+            <param><ptype>GLint</ptype> <name>unknown1</name></param>
+            <param><ptype>GLint</ptype> <name>unknown2</name></param>
+        </command>
+        <command>
+            <proto>GLuint <name>glBufferRegionEnabled</name></proto>
+        </command>
+        <command>
+            <proto>void <name>glDeleteBufferRegion</name></proto>
+            <param><ptype>GLenum</ptype> <name>region</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDrawBufferRegion</name></proto>
+            <param><ptype>GLenum</ptype> <name>region</name></param>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+            <param><ptype>GLint</ptype> <name>xDest</name></param>
+            <param><ptype>GLint</ptype> <name>yDest</name></param>
+        </command>
+        <command>
+            <proto>GLuint <name>glNewBufferRegion</name></proto>
+            <param><ptype>GLenum</ptype> <name>type</name></param>
+        </command>
+        <command>
+            <proto>void <name>glReadBufferRegion</name></proto>
+            <param><ptype>GLenum</ptype> <name>region</name></param>
+            <param><ptype>GLint</ptype> <name>x</name></param>
+            <param><ptype>GLint</ptype> <name>y</name></param>
+            <param><ptype>GLsizei</ptype> <name>width</name></param>
+            <param><ptype>GLsizei</ptype> <name>height</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMTexCoord2fSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat</ptype> <name>s</name></param>
+            <param><ptype>GLfloat</ptype> <name>t</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMTexCoord2fvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1dSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble</ptype> <name>s</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1dvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1fSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat</ptype> <name>s</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1fvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>const GLfloat *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1iSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>s</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1ivSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1sSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort</ptype> <name>s</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord1svSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2dSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble</ptype> <name>s</name></param>
+            <param><ptype>GLdouble</ptype> <name>t</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2dvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2fSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat</ptype> <name>s</name></param>
+            <param><ptype>GLfloat</ptype> <name>t</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2fvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2iSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>s</name></param>
+            <param><ptype>GLint</ptype> <name>t</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2ivSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2sSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort</ptype> <name>s</name></param>
+            <param><ptype>GLshort</ptype> <name>t</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord2svSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3dSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble</ptype> <name>s</name></param>
+            <param><ptype>GLdouble</ptype> <name>t</name></param>
+            <param><ptype>GLdouble</ptype> <name>r</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3dvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3fSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat</ptype> <name>s</name></param>
+            <param><ptype>GLfloat</ptype> <name>t</name></param>
+            <param><ptype>GLfloat</ptype> <name>r</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3fvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3iSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>s</name></param>
+            <param><ptype>GLint</ptype> <name>t</name></param>
+            <param><ptype>GLint</ptype> <name>r</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3ivSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3sSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort</ptype> <name>s</name></param>
+            <param><ptype>GLshort</ptype> <name>t</name></param>
+            <param><ptype>GLshort</ptype> <name>r</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord3svSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4dSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble</ptype> <name>s</name></param>
+            <param><ptype>GLdouble</ptype> <name>t</name></param>
+            <param><ptype>GLdouble</ptype> <name>r</name></param>
+            <param><ptype>GLdouble</ptype> <name>q</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4dvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLdouble *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4fSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat</ptype> <name>s</name></param>
+            <param><ptype>GLfloat</ptype> <name>t</name></param>
+            <param><ptype>GLfloat</ptype> <name>r</name></param>
+            <param><ptype>GLfloat</ptype> <name>q</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4fvSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLfloat *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4iSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>s</name></param>
+            <param><ptype>GLint</ptype> <name>t</name></param>
+            <param><ptype>GLint</ptype> <name>r</name></param>
+            <param><ptype>GLint</ptype> <name>q</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4ivSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4sSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort</ptype> <name>s</name></param>
+            <param><ptype>GLshort</ptype> <name>t</name></param>
+            <param><ptype>GLshort</ptype> <name>r</name></param>
+            <param><ptype>GLshort</ptype> <name>q</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoord4svSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLshort *</ptype> <name>v</name></param>
+        </command>
+        <command>
+            <proto>void <name>glMultiTexCoordPointerSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+            <param><ptype>GLint</ptype> <name>size</name></param>
+            <param><ptype>GLenum</ptype> <name>type</name></param>
+            <param><ptype>GLsizei</ptype> <name>stride</name></param>
+            <param><ptype>GLvoid *</ptype> <name>pointer</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSelectTextureSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+        </command>
+        <command>
+            <proto>void <name>glSelectTextureCoordSetSGIS</name></proto>
+            <param><ptype>GLenum</ptype> <name>target</name></param>
+        </command>
+        <command>
+            <proto>void <name>glDeleteObjectBufferATI</name></proto>
+            <param><ptype>GLuint</ptype> <name>buffer</name></param>
+        </command>
+    </commands>
+
+    <commands namespace="WGL">
+        <command>
+            <proto>BOOL <name>wglSetPixelFormatWINE</name></proto>
+            <param><ptype>HDC</ptype> <name>hdc</name></param>
+            <param>int <name>format</name></param>
+        </command>
+        <command>
+            <proto>BOOL <name>wglQueryCurrentRendererIntegerWINE</name></proto>
+            <param><ptype>GLenum</ptype> <name>attribute</name></param>
+            <param><ptype>GLuint</ptype> *<name>value</name></param>
+        </command>
+        <command>
+            <proto>const GLchar *<name>wglQueryCurrentRendererStringWINE</name></proto>
+            <param><ptype>GLenum</ptype> <name>attribute</name></param>
+        </command>
+        <command>
+            <proto>BOOL <name>wglQueryRendererIntegerWINE</name></proto>
+            <param><ptype>HDC</ptype> <name>dc</name></param>
+            <param><ptype>GLint</ptype> <name>renderer</name></param>
+            <param><ptype>GLenum</ptype> <name>attribute</name></param>
+            <param><ptype>GLuint</ptype> *<name>value</name></param>
+        </command>
+        <command>
+            <proto>const GLchar *<name>wglQueryRendererStringWINE</name></proto>
+            <param><ptype>HDC</ptype> <name>dc</name></param>
+            <param><ptype>GLint</ptype> <name>renderer</name></param>
+            <param><ptype>GLenum</ptype> <name>attribute</name></param>
+        </command>
+    </commands>
+
+    <feature api="gl" name="GL_VERSION_1_0" number="1.0">
+        <require>
+            <command name="glDebugEntry"/>
+        </require>
+    </feature>
+
+    <enums namespace="WGL" group="RendererWINE">
+        <enum value="0x8183" name="WGL_RENDERER_VENDOR_ID_WINE"/>
+        <enum value="0x8184" name="WGL_RENDERER_DEVICE_ID_WINE"/>
+        <enum value="0x8185" name="WGL_RENDERER_VERSION_WINE"/>
+        <enum value="0x8186" name="WGL_RENDERER_ACCELERATED_WINE"/>
+        <enum value="0x8187" name="WGL_RENDERER_VIDEO_MEMORY_WINE"/>
+        <enum value="0x8188" name="WGL_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_WINE"/>
+        <enum value="0x8189" name="WGL_RENDERER_PREFERRED_PROFILE_WINE"/>
+        <enum value="0x818A" name="WGL_RENDERER_OPENGL_CORE_PROFILE_VERSION_WINE"/>
+        <enum value="0x818B" name="WGL_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_WINE"/>
+        <enum value="0x818C" name="WGL_RENDERER_OPENGL_ES_PROFILE_VERSION_WINE"/>
+        <enum value="0x818D" name="WGL_RENDERER_OPENGL_ES2_PROFILE_VERSION_WINE"/>
+        <enum value="0x818E" name="WGL_RENDERER_ID_WINE"/>
+    </enums>
+
+    <extensions>
+        <extension name="GL_KTX_buffer_region" supported="gl">
+            <require>
+                <command name="glBufferRegionEnabled"/>
+                <command name="glDeleteBufferRegion"/>
+                <command name="glDrawBufferRegion"/>
+                <command name="glNewBufferRegion"/>
+                <command name="glReadBufferRegion"/>
+            </require>
+        </extension>
+        <extension name="GL_SGIS_multitexture" supported="gl">
+            <require>
+                <command name="glMTexCoord2fSGIS"/>
+                <command name="glMTexCoord2fvSGIS"/>
+                <command name="glMultiTexCoord1dSGIS"/>
+                <command name="glMultiTexCoord1dvSGIS"/>
+                <command name="glMultiTexCoord1fSGIS"/>
+                <command name="glMultiTexCoord1fvSGIS"/>
+                <command name="glMultiTexCoord1iSGIS"/>
+                <command name="glMultiTexCoord1ivSGIS"/>
+                <command name="glMultiTexCoord1sSGIS"/>
+                <command name="glMultiTexCoord1svSGIS"/>
+                <command name="glMultiTexCoord2dSGIS"/>
+                <command name="glMultiTexCoord2dvSGIS"/>
+                <command name="glMultiTexCoord2fSGIS"/>
+                <command name="glMultiTexCoord2fvSGIS"/>
+                <command name="glMultiTexCoord2iSGIS"/>
+                <command name="glMultiTexCoord2ivSGIS"/>
+                <command name="glMultiTexCoord2sSGIS"/>
+                <command name="glMultiTexCoord2svSGIS"/>
+                <command name="glMultiTexCoord3dSGIS"/>
+                <command name="glMultiTexCoord3dvSGIS"/>
+                <command name="glMultiTexCoord3fSGIS"/>
+                <command name="glMultiTexCoord3fvSGIS"/>
+                <command name="glMultiTexCoord3iSGIS"/>
+                <command name="glMultiTexCoord3ivSGIS"/>
+                <command name="glMultiTexCoord3sSGIS"/>
+                <command name="glMultiTexCoord3svSGIS"/>
+                <command name="glMultiTexCoord4dSGIS"/>
+                <command name="glMultiTexCoord4dvSGIS"/>
+                <command name="glMultiTexCoord4fSGIS"/>
+                <command name="glMultiTexCoord4fvSGIS"/>
+                <command name="glMultiTexCoord4iSGIS"/>
+                <command name="glMultiTexCoord4ivSGIS"/>
+                <command name="glMultiTexCoord4sSGIS"/>
+                <command name="glMultiTexCoord4svSGIS"/>
+                <command name="glMultiTexCoordPointerSGIS"/>
+                <command name="glSelectTextureCoordSetSGIS"/>
+                <command name="glSelectTextureSGIS"/>
+            </require>
+        </extension>
+        <extension name="GL_ATI_vertex_array_object" supported="gl">
+            <require>
+                <command name="glDeleteObjectBufferATI"/>
+            </require>
+        </extension>
+        <extension name="WGL_WINE_pixel_format_passthrough" supported="wgl">
+            <require>
+                <command name="wglSetPixelFormatWINE"/>
+            </require>
+        </extension>
+        <extension name="WGL_WINE_query_renderer" supported="wgl">
+            <require>
+                <enum name="WGL_RENDERER_ACCELERATED_WINE"/>
+                <enum name="WGL_RENDERER_DEVICE_ID_WINE"/>
+                <enum name="WGL_RENDERER_ID_WINE"/>
+                <enum name="WGL_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_WINE"/>
+                <enum name="WGL_RENDERER_OPENGL_CORE_PROFILE_VERSION_WINE"/>
+                <enum name="WGL_RENDERER_OPENGL_ES2_PROFILE_VERSION_WINE"/>
+                <enum name="WGL_RENDERER_OPENGL_ES_PROFILE_VERSION_WINE"/>
+                <enum name="WGL_RENDERER_PREFERRED_PROFILE_WINE"/>
+                <enum name="WGL_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_WINE"/>
+                <enum name="WGL_RENDERER_VENDOR_ID_WINE"/>
+                <enum name="WGL_RENDERER_VERSION_WINE"/>
+                <enum name="WGL_RENDERER_VIDEO_MEMORY_WINE"/>
+                <command name="wglQueryCurrentRendererIntegerWINE"/>
+                <command name="wglQueryCurrentRendererStringWINE"/>
+                <command name="wglQueryRendererIntegerWINE"/>
+                <command name="wglQueryRendererStringWINE"/>
+            </require>
+        </extension>
+    </extensions>
+</registry>
diff --git a/include/wine/wgl_driver.h b/include/wine/wgl_driver.h
index e07e836..16997e4 100644
--- a/include/wine/wgl_driver.h
+++ b/include/wine/wgl_driver.h
@@ -1497,7 +1497,7 @@
         void       (WINE_GLAPI *p_glLoadTransposeMatrixxOES)(const GLfixed*);
         void       (WINE_GLAPI *p_glLockArraysEXT)(GLint,GLsizei);
         void       (WINE_GLAPI *p_glMTexCoord2fSGIS)(GLenum,GLfloat,GLfloat);
-        void       (WINE_GLAPI *p_glMTexCoord2fvSGIS)(GLenum,GLfloat *);
+        void       (WINE_GLAPI *p_glMTexCoord2fvSGIS)(GLenum,GLfloat*);
         void       (WINE_GLAPI *p_glMakeBufferNonResidentNV)(GLenum);
         void       (WINE_GLAPI *p_glMakeBufferResidentNV)(GLenum,GLenum);
         void       (WINE_GLAPI *p_glMakeImageHandleNonResidentARB)(GLuint64);
@@ -1606,13 +1606,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord1dSGIS)(GLenum,GLdouble);
         void       (WINE_GLAPI *p_glMultiTexCoord1dv)(GLenum,const GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord1dvARB)(GLenum,const GLdouble*);
-        void       (WINE_GLAPI *p_glMultiTexCoord1dvSGIS)(GLenum,GLdouble *);
+        void       (WINE_GLAPI *p_glMultiTexCoord1dvSGIS)(GLenum,GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord1f)(GLenum,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord1fARB)(GLenum,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord1fSGIS)(GLenum,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord1fv)(GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord1fvARB)(GLenum,const GLfloat*);
-        void       (WINE_GLAPI *p_glMultiTexCoord1fvSGIS)(GLenum,const GLfloat *);
+        void       (WINE_GLAPI *p_glMultiTexCoord1fvSGIS)(GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord1hNV)(GLenum,GLhalfNV);
         void       (WINE_GLAPI *p_glMultiTexCoord1hvNV)(GLenum,const GLhalfNV*);
         void       (WINE_GLAPI *p_glMultiTexCoord1i)(GLenum,GLint);
@@ -1620,13 +1620,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord1iSGIS)(GLenum,GLint);
         void       (WINE_GLAPI *p_glMultiTexCoord1iv)(GLenum,const GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord1ivARB)(GLenum,const GLint*);
-        void       (WINE_GLAPI *p_glMultiTexCoord1ivSGIS)(GLenum,GLint *);
+        void       (WINE_GLAPI *p_glMultiTexCoord1ivSGIS)(GLenum,GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord1s)(GLenum,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord1sARB)(GLenum,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord1sSGIS)(GLenum,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord1sv)(GLenum,const GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord1svARB)(GLenum,const GLshort*);
-        void       (WINE_GLAPI *p_glMultiTexCoord1svSGIS)(GLenum,GLshort *);
+        void       (WINE_GLAPI *p_glMultiTexCoord1svSGIS)(GLenum,GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord1xOES)(GLenum,GLfixed);
         void       (WINE_GLAPI *p_glMultiTexCoord1xvOES)(GLenum,const GLfixed*);
         void       (WINE_GLAPI *p_glMultiTexCoord2bOES)(GLenum,GLbyte,GLbyte);
@@ -1636,13 +1636,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord2dSGIS)(GLenum,GLdouble,GLdouble);
         void       (WINE_GLAPI *p_glMultiTexCoord2dv)(GLenum,const GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord2dvARB)(GLenum,const GLdouble*);
-        void       (WINE_GLAPI *p_glMultiTexCoord2dvSGIS)(GLenum,GLdouble *);
+        void       (WINE_GLAPI *p_glMultiTexCoord2dvSGIS)(GLenum,GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord2f)(GLenum,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord2fARB)(GLenum,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord2fSGIS)(GLenum,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord2fv)(GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord2fvARB)(GLenum,const GLfloat*);
-        void       (WINE_GLAPI *p_glMultiTexCoord2fvSGIS)(GLenum,GLfloat *);
+        void       (WINE_GLAPI *p_glMultiTexCoord2fvSGIS)(GLenum,GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord2hNV)(GLenum,GLhalfNV,GLhalfNV);
         void       (WINE_GLAPI *p_glMultiTexCoord2hvNV)(GLenum,const GLhalfNV*);
         void       (WINE_GLAPI *p_glMultiTexCoord2i)(GLenum,GLint,GLint);
@@ -1650,13 +1650,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord2iSGIS)(GLenum,GLint,GLint);
         void       (WINE_GLAPI *p_glMultiTexCoord2iv)(GLenum,const GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord2ivARB)(GLenum,const GLint*);
-        void       (WINE_GLAPI *p_glMultiTexCoord2ivSGIS)(GLenum,GLint *);
+        void       (WINE_GLAPI *p_glMultiTexCoord2ivSGIS)(GLenum,GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord2s)(GLenum,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord2sARB)(GLenum,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord2sSGIS)(GLenum,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord2sv)(GLenum,const GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord2svARB)(GLenum,const GLshort*);
-        void       (WINE_GLAPI *p_glMultiTexCoord2svSGIS)(GLenum,GLshort *);
+        void       (WINE_GLAPI *p_glMultiTexCoord2svSGIS)(GLenum,GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord2xOES)(GLenum,GLfixed,GLfixed);
         void       (WINE_GLAPI *p_glMultiTexCoord2xvOES)(GLenum,const GLfixed*);
         void       (WINE_GLAPI *p_glMultiTexCoord3bOES)(GLenum,GLbyte,GLbyte,GLbyte);
@@ -1666,13 +1666,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord3dSGIS)(GLenum,GLdouble,GLdouble,GLdouble);
         void       (WINE_GLAPI *p_glMultiTexCoord3dv)(GLenum,const GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord3dvARB)(GLenum,const GLdouble*);
-        void       (WINE_GLAPI *p_glMultiTexCoord3dvSGIS)(GLenum,GLdouble *);
+        void       (WINE_GLAPI *p_glMultiTexCoord3dvSGIS)(GLenum,GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord3f)(GLenum,GLfloat,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord3fARB)(GLenum,GLfloat,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord3fSGIS)(GLenum,GLfloat,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord3fv)(GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord3fvARB)(GLenum,const GLfloat*);
-        void       (WINE_GLAPI *p_glMultiTexCoord3fvSGIS)(GLenum,GLfloat *);
+        void       (WINE_GLAPI *p_glMultiTexCoord3fvSGIS)(GLenum,GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord3hNV)(GLenum,GLhalfNV,GLhalfNV,GLhalfNV);
         void       (WINE_GLAPI *p_glMultiTexCoord3hvNV)(GLenum,const GLhalfNV*);
         void       (WINE_GLAPI *p_glMultiTexCoord3i)(GLenum,GLint,GLint,GLint);
@@ -1680,13 +1680,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord3iSGIS)(GLenum,GLint,GLint,GLint);
         void       (WINE_GLAPI *p_glMultiTexCoord3iv)(GLenum,const GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord3ivARB)(GLenum,const GLint*);
-        void       (WINE_GLAPI *p_glMultiTexCoord3ivSGIS)(GLenum,GLint *);
+        void       (WINE_GLAPI *p_glMultiTexCoord3ivSGIS)(GLenum,GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord3s)(GLenum,GLshort,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord3sARB)(GLenum,GLshort,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord3sSGIS)(GLenum,GLshort,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord3sv)(GLenum,const GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord3svARB)(GLenum,const GLshort*);
-        void       (WINE_GLAPI *p_glMultiTexCoord3svSGIS)(GLenum,GLshort *);
+        void       (WINE_GLAPI *p_glMultiTexCoord3svSGIS)(GLenum,GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord3xOES)(GLenum,GLfixed,GLfixed,GLfixed);
         void       (WINE_GLAPI *p_glMultiTexCoord3xvOES)(GLenum,const GLfixed*);
         void       (WINE_GLAPI *p_glMultiTexCoord4bOES)(GLenum,GLbyte,GLbyte,GLbyte,GLbyte);
@@ -1696,13 +1696,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord4dSGIS)(GLenum,GLdouble,GLdouble,GLdouble,GLdouble);
         void       (WINE_GLAPI *p_glMultiTexCoord4dv)(GLenum,const GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord4dvARB)(GLenum,const GLdouble*);
-        void       (WINE_GLAPI *p_glMultiTexCoord4dvSGIS)(GLenum,GLdouble *);
+        void       (WINE_GLAPI *p_glMultiTexCoord4dvSGIS)(GLenum,GLdouble*);
         void       (WINE_GLAPI *p_glMultiTexCoord4f)(GLenum,GLfloat,GLfloat,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord4fARB)(GLenum,GLfloat,GLfloat,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord4fSGIS)(GLenum,GLfloat,GLfloat,GLfloat,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexCoord4fv)(GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord4fvARB)(GLenum,const GLfloat*);
-        void       (WINE_GLAPI *p_glMultiTexCoord4fvSGIS)(GLenum,GLfloat *);
+        void       (WINE_GLAPI *p_glMultiTexCoord4fvSGIS)(GLenum,GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexCoord4hNV)(GLenum,GLhalfNV,GLhalfNV,GLhalfNV,GLhalfNV);
         void       (WINE_GLAPI *p_glMultiTexCoord4hvNV)(GLenum,const GLhalfNV*);
         void       (WINE_GLAPI *p_glMultiTexCoord4i)(GLenum,GLint,GLint,GLint,GLint);
@@ -1710,13 +1710,13 @@
         void       (WINE_GLAPI *p_glMultiTexCoord4iSGIS)(GLenum,GLint,GLint,GLint,GLint);
         void       (WINE_GLAPI *p_glMultiTexCoord4iv)(GLenum,const GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord4ivARB)(GLenum,const GLint*);
-        void       (WINE_GLAPI *p_glMultiTexCoord4ivSGIS)(GLenum,GLint *);
+        void       (WINE_GLAPI *p_glMultiTexCoord4ivSGIS)(GLenum,GLint*);
         void       (WINE_GLAPI *p_glMultiTexCoord4s)(GLenum,GLshort,GLshort,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord4sARB)(GLenum,GLshort,GLshort,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord4sSGIS)(GLenum,GLshort,GLshort,GLshort,GLshort);
         void       (WINE_GLAPI *p_glMultiTexCoord4sv)(GLenum,const GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord4svARB)(GLenum,const GLshort*);
-        void       (WINE_GLAPI *p_glMultiTexCoord4svSGIS)(GLenum,GLshort *);
+        void       (WINE_GLAPI *p_glMultiTexCoord4svSGIS)(GLenum,GLshort*);
         void       (WINE_GLAPI *p_glMultiTexCoord4xOES)(GLenum,GLfixed,GLfixed,GLfixed,GLfixed);
         void       (WINE_GLAPI *p_glMultiTexCoord4xvOES)(GLenum,const GLfixed*);
         void       (WINE_GLAPI *p_glMultiTexCoordP1ui)(GLenum,GLenum,GLuint);
@@ -1728,7 +1728,7 @@
         void       (WINE_GLAPI *p_glMultiTexCoordP4ui)(GLenum,GLenum,GLuint);
         void       (WINE_GLAPI *p_glMultiTexCoordP4uiv)(GLenum,GLenum,const GLuint*);
         void       (WINE_GLAPI *p_glMultiTexCoordPointerEXT)(GLenum,GLint,GLenum,GLsizei,const void*);
-        void       (WINE_GLAPI *p_glMultiTexCoordPointerSGIS)(GLenum,GLint,GLenum,GLsizei,GLvoid *);
+        void       (WINE_GLAPI *p_glMultiTexCoordPointerSGIS)(GLenum,GLint,GLenum,GLsizei,GLvoid*);
         void       (WINE_GLAPI *p_glMultiTexEnvfEXT)(GLenum,GLenum,GLenum,GLfloat);
         void       (WINE_GLAPI *p_glMultiTexEnvfvEXT)(GLenum,GLenum,GLenum,const GLfloat*);
         void       (WINE_GLAPI *p_glMultiTexEnviEXT)(GLenum,GLenum,GLenum,GLint);
@@ -3015,11 +3015,11 @@
         BOOL       (WINE_GLAPI *p_wglGetPixelFormatAttribivARB)(HDC,int,int,UINT,const int*,int*);
         int        (WINE_GLAPI *p_wglGetSwapIntervalEXT)(void);
         BOOL       (WINE_GLAPI *p_wglMakeContextCurrentARB)(HDC,HDC,struct wgl_context *);
-        BOOL       (WINE_GLAPI *p_wglQueryCurrentRendererIntegerWINE)(GLenum,GLuint *);
-        const GLchar * (WINE_GLAPI *p_wglQueryCurrentRendererStringWINE)(GLenum);
+        BOOL       (WINE_GLAPI *p_wglQueryCurrentRendererIntegerWINE)(GLenum,GLuint*);
+        const GLchar* (WINE_GLAPI *p_wglQueryCurrentRendererStringWINE)(GLenum);
         BOOL       (WINE_GLAPI *p_wglQueryPbufferARB)(struct wgl_pbuffer *,int,int*);
-        BOOL       (WINE_GLAPI *p_wglQueryRendererIntegerWINE)(HDC,GLint,GLenum,GLuint *);
-        const GLchar * (WINE_GLAPI *p_wglQueryRendererStringWINE)(HDC,GLint,GLenum);
+        BOOL       (WINE_GLAPI *p_wglQueryRendererIntegerWINE)(HDC,GLint,GLenum,GLuint*);
+        const GLchar* (WINE_GLAPI *p_wglQueryRendererStringWINE)(HDC,GLint,GLenum);
         int        (WINE_GLAPI *p_wglReleasePbufferDCARB)(struct wgl_pbuffer *,HDC);
         BOOL       (WINE_GLAPI *p_wglReleaseTexImageARB)(struct wgl_pbuffer *,int);
         BOOL       (WINE_GLAPI *p_wglSetPbufferAttribARB)(struct wgl_pbuffer *,const int*);
