opengl32: Store GL extensions in a private XML file instead of Perl arrays.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
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*);