opengl32: Avoid generating a wrapper for internal functions when we can call the internal one directly.
diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl
index 1f4de68..a0a92cf 100755
--- a/dlls/opengl32/make_opengl
+++ b/dlls/opengl32/make_opengl
@@ -208,7 +208,14 @@
     my $ret = "";
     my $call_arg = "";
     my $trace_arg = "";
-    my $wine_func_ref_name = "";
+
+    return "" if $func_ref->[0] eq "glGetString";
+    return "" if $func_ref->[0] eq "glGetIntegerv";
+    return "" if $func_ref->[0] eq "glEnable";
+    return "" if $func_ref->[0] eq "glIsEnabled";
+    return "" if $func_ref->[0] eq "glDisable";
+    return "" if $func_ref->[0] eq "glScissor";
+    return "" if $func_ref->[0] eq "glViewport";
 
     # If for opengl_norm.c, generate a nice heading otherwise Patrik won't be happy :-)
     # Patrik says: Well I would be even happier if a (OPENGL32.@) was added as well. Done. :-)
@@ -259,29 +266,7 @@
     if ($func_ref->[1] ne "void") {
 	$ret = $ret . "ret_value = ";
     }
-    $wine_func_ref_name = $func_ref->[0];
-    if ( $func_ref->[0] eq "glGetString" ) {
-	$wine_func_ref_name = "internal_glGetString";
-    }
-    if ( $func_ref->[0] eq "glGetIntegerv" ) {
-	$wine_func_ref_name = "internal_glGetIntegerv";
-    }
-    if ( $func_ref->[0] eq "glEnable" ) {
-	$wine_func_ref_name = "internal_glEnable";
-    }
-    if ( $func_ref->[0] eq "glIsEnabled" ) {
-	$wine_func_ref_name = "internal_glIsEnabled";
-    }
-    if ( $func_ref->[0] eq "glDisable" ) {
-	$wine_func_ref_name = "internal_glDisable";
-    }
-    if ( $func_ref->[0] eq "glScissor" ) {
-	$wine_func_ref_name = "internal_glScissor";
-    }
-    if ( $func_ref->[0] eq "glViewport" ) {
-	$wine_func_ref_name = "internal_glViewport";
-    }
-    $ret = "$ret$prefix$wine_func_ref_name( $call_arg);\n";
+    $ret = "$ret$prefix$func_ref->[0]( $call_arg);\n";
     if ($thread_safe) {
 	$ret = "$ret  LEAVE_GL();\n";
     }
@@ -614,34 +599,6 @@
 #
 open(SPEC, ">$spec_file");
 
-print SPEC "@  stdcall wglCreateContext(long)
-@  stdcall wglCreateLayerContext(long long)
-@  stdcall wglCopyContext(long long long)
-@  stdcall wglDeleteContext(long)
-@  stdcall wglDescribeLayerPlane(long long long long ptr)
-@  stdcall wglGetCurrentContext()
-@  stdcall wglGetCurrentDC()
-@  stdcall wglGetLayerPaletteEntries(long long long long ptr)
-@  stdcall wglGetProcAddress(str)
-@  stdcall wglMakeCurrent(long long)
-@  stdcall wglRealizeLayerPalette(long long long)
-@  stdcall wglSetLayerPaletteEntries(long long long long ptr)
-@  stdcall wglShareLists(long long)
-@  stdcall wglSwapLayerBuffers(long long)
-@  stdcall wglUseFontBitmapsA(long long long long)
-@  stdcall wglUseFontOutlinesA(long long long long long long long ptr)
-@  stub    glGetLevelParameterfv
-@  stub    glGetLevelParameteriv
-@  stdcall wglUseFontBitmapsW(long long long long)
-@  stub    wglUseFontOutlinesW
-@  stub    wglGetDefaultProcAddress
-@  stdcall wglChoosePixelFormat(long ptr) gdi32.ChoosePixelFormat
-@  stdcall wglDescribePixelFormat(long long long ptr) gdi32.DescribePixelFormat
-@  stdcall wglGetPixelFormat(long) gdi32.GetPixelFormat
-@  stdcall wglSetPixelFormat(long long ptr) gdi32.SetPixelFormat
-@  stdcall wglSwapBuffers(long) gdi32.SwapBuffers
-";
-
 foreach (sort keys %norm_functions) {
     my $func_name = $norm_functions{$_}->[0];
     print SPEC "@  stdcall $func_name( ";
@@ -657,6 +614,35 @@
     }
     print SPEC ") wine_$func_name\n";
 }
+
+print SPEC "@  stub    glGetLevelParameterfv
+@  stub    glGetLevelParameteriv
+@  stdcall wglChoosePixelFormat(long ptr) gdi32.ChoosePixelFormat
+@  stdcall wglCopyContext(long long long)
+@  stdcall wglCreateContext(long) gdi32.wglCreateContext
+@  stdcall wglCreateLayerContext(long long)
+@  stdcall wglDeleteContext(long) gdi32.wglDeleteContext
+@  stdcall wglDescribeLayerPlane(long long long long ptr)
+@  stdcall wglDescribePixelFormat(long long long ptr) gdi32.DescribePixelFormat
+@  stdcall wglGetCurrentContext() gdi32.wglGetCurrentContext
+@  stdcall wglGetCurrentDC() gdi32.wglGetCurrentDC
+@  stub    wglGetDefaultProcAddress
+@  stdcall wglGetLayerPaletteEntries(long long long long ptr)
+@  stdcall wglGetPixelFormat(long) gdi32.GetPixelFormat
+@  stdcall wglGetProcAddress(str)
+@  stdcall wglMakeCurrent(long long) gdi32.wglMakeCurrent
+@  stdcall wglRealizeLayerPalette(long long long)
+@  stdcall wglSetLayerPaletteEntries(long long long long ptr)
+@  stdcall wglSetPixelFormat(long long ptr) gdi32.SetPixelFormat
+@  stdcall wglShareLists(long long) gdi32.wglShareLists
+@  stdcall wglSwapBuffers(long) gdi32.SwapBuffers
+@  stdcall wglSwapLayerBuffers(long long)
+@  stdcall wglUseFontBitmapsA(long long long long) gdi32.wglUseFontBitmapsA
+@  stdcall wglUseFontBitmapsW(long long long long) gdi32.wglUseFontBitmapsW
+@  stdcall wglUseFontOutlinesA(long long long long long long long ptr)
+@  stdcall wglUseFontOutlinesW(long long long long long long long ptr)
+";
+
 close(SPEC);
 
 #
@@ -675,7 +661,7 @@
 foreach (sort keys %norm_functions) {
     my $string = GenerateThunk($norm_functions{$_}, 1, "", $gen_thread_safe, "");
 
-    print NORM "\n$string";
+    print NORM "\n$string" if $string;
 }
 close(NORM);
 
diff --git a/dlls/opengl32/opengl_ext.h b/dlls/opengl32/opengl_ext.h
index d700187..93afd05 100644
--- a/dlls/opengl32/opengl_ext.h
+++ b/dlls/opengl32/opengl_ext.h
@@ -62,12 +62,4 @@
 extern const OpenGL_extension extension_registry[];
 extern const int extension_registry_size;
 
-const GLubyte* internal_glGetString(GLenum name);
-void internal_glGetIntegerv(GLenum pname, GLint* params);
-void internal_glDisable(GLenum cap);
-void internal_glEnable(GLenum cap);
-GLboolean internal_glIsEnabled(GLenum cap);
-void internal_glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
-void internal_glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
-
 #endif /* __DLLS_OPENGL32_OPENGL_EXT_H */
diff --git a/dlls/opengl32/opengl_norm.c b/dlls/opengl32/opengl_norm.c
index 047770f..6534301 100644
--- a/dlls/opengl32/opengl_norm.c
+++ b/dlls/opengl32/opengl_norm.c
@@ -810,16 +810,6 @@
 }
 
 /***********************************************************************
- *              glDisable (OPENGL32.@)
- */
-void WINAPI wine_glDisable( GLenum cap ) {
-  TRACE("(%d)\n", cap );
-  ENTER_GL();
-  internal_glDisable( cap );
-  LEAVE_GL();
-}
-
-/***********************************************************************
  *              glDisableClientState (OPENGL32.@)
  */
 void WINAPI wine_glDisableClientState( GLenum array ) {
@@ -910,16 +900,6 @@
 }
 
 /***********************************************************************
- *              glEnable (OPENGL32.@)
- */
-void WINAPI wine_glEnable( GLenum cap ) {
-  TRACE("(%d)\n", cap );
-  ENTER_GL();
-  internal_glEnable( cap );
-  LEAVE_GL();
-}
-
-/***********************************************************************
  *              glEnableClientState (OPENGL32.@)
  */
 void WINAPI wine_glEnableClientState( GLenum array ) {
@@ -1324,16 +1304,6 @@
 }
 
 /***********************************************************************
- *              glGetIntegerv (OPENGL32.@)
- */
-void WINAPI wine_glGetIntegerv( GLenum pname, GLint* params ) {
-  TRACE("(%d, %p)\n", pname, params );
-  ENTER_GL();
-  internal_glGetIntegerv( pname, params );
-  LEAVE_GL();
-}
-
-/***********************************************************************
  *              glGetLightfv (OPENGL32.@)
  */
 void WINAPI wine_glGetLightfv( GLenum light, GLenum pname, GLfloat* params ) {
@@ -1494,18 +1464,6 @@
 }
 
 /***********************************************************************
- *              glGetString (OPENGL32.@)
- */
-const GLubyte * WINAPI wine_glGetString( GLenum name ) {
-  const GLubyte * ret_value;
-  TRACE("(%d)\n", name );
-  ENTER_GL();
-  ret_value = internal_glGetString( name );
-  LEAVE_GL();
-  return ret_value;
-}
-
-/***********************************************************************
  *              glGetTexEnvfv (OPENGL32.@)
  */
 void WINAPI wine_glGetTexEnvfv( GLenum target, GLenum pname, GLfloat* params ) {
@@ -1766,18 +1724,6 @@
 }
 
 /***********************************************************************
- *              glIsEnabled (OPENGL32.@)
- */
-GLboolean WINAPI wine_glIsEnabled( GLenum cap ) {
-  GLboolean ret_value;
-  TRACE("(%d)\n", cap );
-  ENTER_GL();
-  ret_value = internal_glIsEnabled( cap );
-  LEAVE_GL();
-  return ret_value;
-}
-
-/***********************************************************************
  *              glIsList (OPENGL32.@)
  */
 GLboolean WINAPI wine_glIsList( GLuint list ) {
@@ -2884,16 +2830,6 @@
 }
 
 /***********************************************************************
- *              glScissor (OPENGL32.@)
- */
-void WINAPI wine_glScissor( GLint x, GLint y, GLsizei width, GLsizei height ) {
-  TRACE("(%d, %d, %d, %d)\n", x, y, width, height );
-  ENTER_GL();
-  internal_glScissor( x, y, width, height );
-  LEAVE_GL();
-}
-
-/***********************************************************************
  *              glSelectBuffer (OPENGL32.@)
  */
 void WINAPI wine_glSelectBuffer( GLsizei size, GLuint* buffer ) {
@@ -3752,13 +3688,3 @@
   glVertexPointer( size, type, stride, pointer );
   LEAVE_GL();
 }
-
-/***********************************************************************
- *              glViewport (OPENGL32.@)
- */
-void WINAPI wine_glViewport( GLint x, GLint y, GLsizei width, GLsizei height ) {
-  TRACE("(%d, %d, %d, %d)\n", x, y, width, height );
-  ENTER_GL();
-  internal_glViewport( x, y, width, height );
-  LEAVE_GL();
-}
diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index 51cc71c..792707e 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -108,6 +108,8 @@
     return;
 }
 
+const GLubyte * WINAPI wine_glGetString( GLenum name );
+
 /***********************************************************************
  *		wglCreateLayerContext (OPENGL32.@)
  */
@@ -168,7 +170,7 @@
 /* Check if a GL extension is supported */
 static BOOL is_extension_supported(const char* extension)
 {
-    const char *gl_ext_string = (const char*)internal_glGetString(GL_EXTENSIONS);
+    const char *gl_ext_string = (const char*)wine_glGetString(GL_EXTENSIONS);
 
     TRACE("Checking for extension '%s'\n", extension);
 
@@ -561,58 +563,97 @@
     return wglUseFontOutlines_common(hdc, first, count, listBase, deviation, extrusion, format, lpgmf, TRUE);
 }
 
-void internal_glEnable(GLenum cap)
+/***********************************************************************
+ *              glEnable (OPENGL32.@)
+ */
+void WINAPI wine_glEnable( GLenum cap )
 {
-  wine_wgl.p_wglEnable(cap);
+    TRACE("(%d)\n", cap );
+    ENTER_GL();
+    wine_wgl.p_wglEnable(cap);
+    LEAVE_GL();
 }
 
-GLboolean internal_glIsEnabled(GLenum cap)
+/***********************************************************************
+ *              glIsEnabled (OPENGL32.@)
+ */
+GLboolean WINAPI wine_glIsEnabled( GLenum cap )
 {
-    return wine_wgl.p_wglIsEnabled(cap);
+    GLboolean ret_value;
+    TRACE("(%d)\n", cap );
+    ENTER_GL();
+    ret_value = wine_wgl.p_wglIsEnabled(cap);
+    LEAVE_GL();
+    return ret_value;
 }
 
-void internal_glDisable(GLenum cap)
+/***********************************************************************
+ *              glDisable (OPENGL32.@)
+ */
+void WINAPI wine_glDisable( GLenum cap )
 {
+    TRACE("(%d)\n", cap );
+    ENTER_GL();
     wine_wgl.p_wglDisable(cap);
+    LEAVE_GL();
 }
 
-void internal_glScissor( GLint x, GLint y, GLsizei width, GLsizei height )
+/***********************************************************************
+ *              glScissor (OPENGL32.@)
+ */
+void WINAPI wine_glScissor( GLint x, GLint y, GLsizei width, GLsizei height )
 {
+    TRACE("(%d, %d, %d, %d)\n", x, y, width, height );
+    ENTER_GL();
     wine_wgl.p_wglScissor(x, y, width, height);
+    LEAVE_GL();
 }
 
-void internal_glViewport( GLint x, GLint y, GLsizei width, GLsizei height )
+/***********************************************************************
+ *              glViewport (OPENGL32.@)
+ */
+void WINAPI wine_glViewport( GLint x, GLint y, GLsizei width, GLsizei height )
 {
+    TRACE("(%d, %d, %d, %d)\n", x, y, width, height );
+    ENTER_GL();
     wine_wgl.p_wglViewport(x, y, width, height);
+    LEAVE_GL();
 }
 
-const GLubyte * internal_glGetString(GLenum name) {
+/***********************************************************************
+ *              glGetString (OPENGL32.@)
+ */
+const GLubyte * WINAPI wine_glGetString( GLenum name )
+{
+  const GLubyte *ret;
   const char* GL_Extensions = NULL;
 
   if (GL_EXTENSIONS != name) {
-    return glGetString(name);
+    ENTER_GL();
+    ret = glGetString(name);
+    LEAVE_GL();
+    return ret;
   }
 
   if (NULL == internal_gl_extensions) {
+    ENTER_GL();
     GL_Extensions = (const char *) glGetString(GL_EXTENSIONS);
 
-    TRACE("GL_EXTENSIONS reported:\n");  
-    if (NULL == GL_Extensions) {
-      ERR("GL_EXTENSIONS returns NULL\n");      
-      return NULL;
-    } else {
+    if (GL_Extensions)
+    {
       size_t len = strlen(GL_Extensions);
       internal_gl_extensions = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len + 2);
 
+      TRACE("GL_EXTENSIONS reported:\n");
       while (*GL_Extensions != 0x00) {
 	const char* Start = GL_Extensions;
 	char        ThisExtn[256];
-	 
-	memset(ThisExtn, 0x00, sizeof(ThisExtn));
+
 	while (*GL_Extensions != ' ' && *GL_Extensions != 0x00) {
 	  GL_Extensions++;
 	}
 	memcpy(ThisExtn, Start, (GL_Extensions - Start));
+        ThisExtn[GL_Extensions - Start] = 0;
 	TRACE("- %s:", ThisExtn);
 	
 	/* test if supported API is disabled by config */
@@ -627,15 +668,21 @@
 	if (*GL_Extensions == ' ') GL_Extensions++;
       }
     }
+    LEAVE_GL();
   }
   return (const GLubyte *) internal_gl_extensions;
 }
 
-void internal_glGetIntegerv(GLenum pname, GLint* params) {
-  TRACE("pname: 0x%x, params %p\n", pname, params);
-  glGetIntegerv(pname, params);
-  /* A few parameters like GL_DEPTH_BITS differ between WGL and GLX, the wglGetIntegerv helper function handles those */
-  wine_wgl.p_wglGetIntegerv(pname, params);
+/***********************************************************************
+ *              glGetIntegerv (OPENGL32.@)
+ */
+void WINAPI wine_glGetIntegerv( GLenum pname, GLint* params )
+{
+    ENTER_GL();
+    glGetIntegerv(pname, params);
+    /* A few parameters like GL_DEPTH_BITS differ between WGL and GLX, the wglGetIntegerv helper function handles those */
+    wine_wgl.p_wglGetIntegerv(pname, params);
+    LEAVE_GL();
 }