Added GLAPIENTRY decorations for all first level OpenGL API function entry
points so that the calling conventions will work correctly with the assembler
stubs with the Open Watcom compiler.
diff --git a/src/mesa/main/accum.c b/src/mesa/main/accum.c
index 3ca7d27..74ea4dc 100644
--- a/src/mesa/main/accum.c
+++ b/src/mesa/main/accum.c
@@ -32,7 +32,7 @@
 #include "mtypes.h"
 
 
-void
+void GLAPIENTRY
 _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
 {
    GLfloat tmp[4];
@@ -53,7 +53,7 @@
 
 /* Should really be a driver-supplied function?
  */
-void
+void GLAPIENTRY
 _mesa_Accum( GLenum op, GLfloat value )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/accum.h b/src/mesa/main/accum.h
index 625d0bf..ce92688 100644
--- a/src/mesa/main/accum.h
+++ b/src/mesa/main/accum.h
@@ -42,11 +42,11 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_Accum( GLenum op, GLfloat value );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
 
 extern void 
diff --git a/src/mesa/main/api_loopback.c b/src/mesa/main/api_loopback.c
index 010a493..a2dc3c6 100644
--- a/src/mesa/main/api_loopback.c
+++ b/src/mesa/main/api_loopback.c
@@ -73,7 +73,7 @@
 #define SECONDARYCOLORF(a,b,c)      _glapi_Dispatch->SecondaryColor3fEXT(a,b,c)
 
 
-static void
+static void GLAPIENTRY
 loopback_Color3b( GLbyte red, GLbyte green, GLbyte blue )
 {
    GLubyte col[4];
@@ -84,7 +84,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3d( GLdouble red, GLdouble green, GLdouble blue )
 {
    GLubyte col[4];
@@ -98,7 +98,7 @@
    COLORUBV( col );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3i( GLint red, GLint green, GLint blue )
 {
    GLubyte col[4];
@@ -109,7 +109,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3s( GLshort red, GLshort green, GLshort blue )
 {
    GLubyte col[4];
@@ -120,7 +120,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3ui( GLuint red, GLuint green, GLuint blue )
 {
    GLubyte col[4];
@@ -131,7 +131,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3us( GLushort red, GLushort green, GLushort blue )
 {
    GLubyte col[4];
@@ -142,7 +142,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha )
 {
    GLubyte col[4];
@@ -153,7 +153,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha )
 {
    GLubyte col[4];
@@ -168,7 +168,7 @@
    COLORUBV( col );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4i( GLint red, GLint green, GLint blue, GLint alpha )
 {
    GLubyte col[4];
@@ -179,7 +179,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4s( GLshort red, GLshort green, GLshort blue,
 			GLshort alpha )
 {
@@ -191,7 +191,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha )
 {
    GLubyte col[4];
@@ -202,7 +202,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4us( GLushort red, GLushort green, GLushort blue,
 			 GLushort alpha )
 {
@@ -214,7 +214,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3bv( const GLbyte *v )
 {
    GLubyte col[4];
@@ -225,7 +225,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3dv( const GLdouble *v )
 {
    GLubyte col[4];
@@ -239,7 +239,7 @@
    COLORUBV( col );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3iv( const GLint *v )
 {
    GLubyte col[4];
@@ -250,7 +250,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3sv( const GLshort *v )
 {
    GLubyte col[4];
@@ -261,7 +261,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3uiv( const GLuint *v )
 {
    GLubyte col[4];
@@ -272,7 +272,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3usv( const GLushort *v )
 {
    GLubyte col[4];
@@ -284,7 +284,7 @@
 
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4bv( const GLbyte *v )
 {
    GLubyte col[4];
@@ -295,7 +295,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4dv( const GLdouble *v )
 {
    GLubyte col[4];
@@ -310,7 +310,7 @@
    COLORUBV( col );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4iv( const GLint *v )
 {
    GLubyte col[4];
@@ -321,7 +321,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4sv( const GLshort *v)
 {
    GLubyte col[4];
@@ -332,7 +332,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4uiv( const GLuint *v)
 {
    GLubyte col[4];
@@ -343,7 +343,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4usv( const GLushort *v)
 {
    GLubyte col[4];
@@ -354,7 +354,7 @@
    COLORUBV(col);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue )
 {
    COLORF( BYTE_TO_FLOAT(red),
@@ -363,34 +363,34 @@
 	   1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue )
 {
    COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, 1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3i_f( GLint red, GLint green, GLint blue )
 {
    COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
 	   INT_TO_FLOAT(blue), 1.0);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3s_f( GLshort red, GLshort green, GLshort blue )
 {
    COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green),
 	   SHORT_TO_FLOAT(blue), 1.0);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue )
 {
    COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
 	   UINT_TO_FLOAT(blue), 1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3us_f( GLushort red, GLushort green, GLushort blue )
 {
    COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
@@ -398,41 +398,41 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Color3bv_f( const GLbyte *v )
 {
    COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
 	   BYTE_TO_FLOAT(v[2]), 1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3dv_f( const GLdouble *v )
 {
    COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3iv_f( const GLint *v )
 {
    COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
 	   INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3sv_f( const GLshort *v )
 {
    COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
 	   SHORT_TO_FLOAT(v[2]), 1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3uiv_f( const GLuint *v )
 {
    COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
 	   UINT_TO_FLOAT(v[2]), 1.0 );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color3usv_f( const GLushort *v )
 {
    COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
@@ -440,7 +440,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue,
 			      GLbyte alpha )
 {
@@ -448,21 +448,21 @@
 	   BYTE_TO_FLOAT(blue), BYTE_TO_FLOAT(alpha) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue,
 			      GLdouble alpha )
 {
    COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, (GLfloat) alpha );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha )
 {
    COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green),
 	   INT_TO_FLOAT(blue), INT_TO_FLOAT(alpha) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4s_f( GLshort red, GLshort green, GLshort blue,
 			      GLshort alpha )
 {
@@ -470,14 +470,14 @@
 	   SHORT_TO_FLOAT(blue), SHORT_TO_FLOAT(alpha) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha )
 {
    COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green),
 	   UINT_TO_FLOAT(blue), UINT_TO_FLOAT(alpha) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, GLushort alpha )
 {
    COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green),
@@ -485,7 +485,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Color4iv_f( const GLint *v )
 {
    COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
@@ -493,21 +493,21 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Color4bv_f( const GLbyte *v )
 {
    COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
 	   BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4dv_f( const GLdouble *v )
 {
    COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] );
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Color4sv_f( const GLshort *v)
 {
    COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
@@ -515,577 +515,577 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Color4uiv_f( const GLuint *v)
 {
    COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
 	   UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Color4usv_f( const GLushort *v)
 {
    COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
 	   USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_FogCoorddEXT( GLdouble d )
 {
    FOGCOORDF( (GLfloat) d );
 }
 
-static void
+static void GLAPIENTRY
 loopback_FogCoorddvEXT( const GLdouble *v )
 {
    FOGCOORDF( (GLfloat) *v );
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Indexd( GLdouble c )
 {
    INDEX( (GLint) c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexf( GLfloat c )
 {
    INDEX( (GLuint) (GLint) c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexs( GLshort c )
 {
    INDEX( (GLint) c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexub( GLubyte c )
 {
    INDEX( (GLint) c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexdv( const GLdouble *c )
 {
    INDEX( (GLint) (GLint) *c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexfv( const GLfloat *c )
 {
    INDEX( (GLint) (GLint) *c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexiv( const GLint *c )
 {
    INDEX( *c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexsv( const GLshort *c )
 {
    INDEX( (GLint) *c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Indexubv( const GLubyte *c )
 {
    INDEX( (GLint) *c );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz )
 {
    NORMAL( BYTE_TO_FLOAT(nx), BYTE_TO_FLOAT(ny), BYTE_TO_FLOAT(nz) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz )
 {
    NORMAL((GLfloat) nx, (GLfloat) ny, (GLfloat) nz);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3i( GLint nx, GLint ny, GLint nz )
 {
    NORMAL( INT_TO_FLOAT(nx), INT_TO_FLOAT(ny), INT_TO_FLOAT(nz) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz )
 {
    NORMAL( SHORT_TO_FLOAT(nx), SHORT_TO_FLOAT(ny), SHORT_TO_FLOAT(nz) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3bv( const GLbyte *v )
 {
    NORMAL( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3dv( const GLdouble *v )
 {
    NORMAL( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3iv( const GLint *v )
 {
    NORMAL( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Normal3sv( const GLshort *v )
 {
    NORMAL( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord1d( GLdouble s )
 {
    TEXCOORD1((GLfloat) s);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord1i( GLint s )
 {
    TEXCOORD1((GLfloat) s);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord1s( GLshort s )
 {
    TEXCOORD1((GLfloat) s);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord2d( GLdouble s, GLdouble t )
 {
    TEXCOORD2((GLfloat) s,(GLfloat) t);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord2s( GLshort s, GLshort t )
 {
    TEXCOORD2((GLfloat) s,(GLfloat) t);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord2i( GLint s, GLint t )
 {
    TEXCOORD2((GLfloat) s,(GLfloat) t);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r )
 {
    TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord3i( GLint s, GLint t, GLint r )
 {
    TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord3s( GLshort s, GLshort t, GLshort r )
 {
    TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q )
 {
    TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q )
 {
    TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q )
 {
    TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord1dv( const GLdouble *v )
 {
    TEXCOORD1((GLfloat) v[0]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord1iv( const GLint *v )
 {
    TEXCOORD1((GLfloat) v[0]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord1sv( const GLshort *v )
 {
    TEXCOORD1((GLfloat) v[0]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord2dv( const GLdouble *v )
 {
    TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord2iv( const GLint *v )
 {
    TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord2sv( const GLshort *v )
 {
    TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord3dv( const GLdouble *v )
 {
    TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord3iv( const GLint *v )
 {
    TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord3sv( const GLshort *v )
 {
    TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord4dv( const GLdouble *v )
 {
    TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord4iv( const GLint *v )
 {
    TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_TexCoord4sv( const GLshort *v )
 {
    TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex2d( GLdouble x, GLdouble y )
 {
    VERTEX2( (GLfloat) x, (GLfloat) y );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex2i( GLint x, GLint y )
 {
    VERTEX2( (GLfloat) x, (GLfloat) y );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex2s( GLshort x, GLshort y )
 {
    VERTEX2( (GLfloat) x, (GLfloat) y );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z )
 {
    VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex3i( GLint x, GLint y, GLint z )
 {
    VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex3s( GLshort x, GLshort y, GLshort z )
 {
    VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
 {
    VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w )
 {
    VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w )
 {
    VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex2dv( const GLdouble *v )
 {
    VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex2iv( const GLint *v )
 {
    VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex2sv( const GLshort *v )
 {
    VERTEX2( (GLfloat) v[0], (GLfloat) v[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex3dv( const GLdouble *v )
 {
    VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex3iv( const GLint *v )
 {
    VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex3sv( const GLshort *v )
 {
    VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex4dv( const GLdouble *v )
 {
    VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
 	    (GLfloat) v[2], (GLfloat) v[3] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex4iv( const GLint *v )
 {
    VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
 	    (GLfloat) v[2], (GLfloat) v[3] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Vertex4sv( const GLshort *v )
 {
    VERTEX4( (GLfloat) v[0], (GLfloat) v[1],
 	    (GLfloat) v[2], (GLfloat) v[3] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord1dARB(GLenum target, GLdouble s)
 {
    MULTI_TEXCOORD1( target, (GLfloat) s );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v)
 {
    MULTI_TEXCOORD1( target, (GLfloat) v[0] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord1iARB(GLenum target, GLint s)
 {
    MULTI_TEXCOORD1( target, (GLfloat) s );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v)
 {
    MULTI_TEXCOORD1( target, (GLfloat) v[0] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord1sARB(GLenum target, GLshort s)
 {
    MULTI_TEXCOORD1( target, (GLfloat) s );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v)
 {
    MULTI_TEXCOORD1( target, (GLfloat) v[0] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t)
 {
    MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v)
 {
    MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t)
 {
    MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v)
 {
    MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t)
 {
    MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v)
 {
    MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r)
 {
    MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v)
 {
    MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r)
 {
    MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v)
 {
    MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r)
 {
    MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v)
 {
    MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
 {
    MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, 
 		    (GLfloat) r, (GLfloat) q );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v)
 {
    MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], 
 		    (GLfloat) v[2], (GLfloat) v[3] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q)
 {
    MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
 		    (GLfloat) r, (GLfloat) q );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v)
 {
    MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
 		    (GLfloat) v[2], (GLfloat) v[3] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
 {
    MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t,
 		    (GLfloat) r, (GLfloat) q );
 }
 
-static void
+static void GLAPIENTRY
 loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v)
 {
    MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1],
 		    (GLfloat) v[2], (GLfloat) v[3] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_EvalCoord2dv( const GLdouble *u )
 {
    EVALCOORD2( (GLfloat) u[0], (GLfloat) u[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_EvalCoord2fv( const GLfloat *u )
 {
    EVALCOORD2( u[0], u[1] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_EvalCoord2d( GLdouble u, GLdouble v )
 {
    EVALCOORD2( (GLfloat) u, (GLfloat) v );
 }
 
-static void
+static void GLAPIENTRY
 loopback_EvalCoord1dv( const GLdouble *u )
 {
    EVALCOORD1( (GLfloat) *u );
 }
 
-static void
+static void GLAPIENTRY
 loopback_EvalCoord1fv( const GLfloat *u )
 {
    EVALCOORD1( (GLfloat) *u );
 }
 
-static void
+static void GLAPIENTRY
 loopback_EvalCoord1d( GLdouble u )
 {
    EVALCOORD1( (GLfloat) u );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Materialf( GLenum face, GLenum pname, GLfloat param )
 {
    GLfloat fparam[4];
@@ -1093,14 +1093,14 @@
    MATERIALFV( face, pname, fparam );
 }
 
-static void
+static void GLAPIENTRY
 loopback_Materiali(GLenum face, GLenum pname, GLint param )
 {
    GLfloat p = (GLfloat) param;
    MATERIALFV(face, pname, &p);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Materialiv(GLenum face, GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
@@ -1130,49 +1130,49 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
 {
    RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Rectdv(const GLdouble *v1, const GLdouble *v2)
 {
    RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Rectfv(const GLfloat *v1, const GLfloat *v2)
 {
    RECTF(v1[0], v1[1], v2[0], v2[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2)
 {
    RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Rectiv(const GLint *v1, const GLint *v2)
 {
    RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
 {
    RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2);
 }
 
-static void
+static void GLAPIENTRY
 loopback_Rectsv(const GLshort *v1, const GLshort *v2)
 {
    RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3bEXT( GLbyte red, GLbyte green, GLbyte blue )
 {
    SECONDARYCOLORUB( BYTE_TO_UBYTE(red),
@@ -1180,7 +1180,7 @@
 		     BYTE_TO_UBYTE(blue) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3dEXT( GLdouble red, GLdouble green, GLdouble blue )
 {
    GLubyte col[3];
@@ -1193,7 +1193,7 @@
    SECONDARYCOLORUB( col[0], col[1], col[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3iEXT( GLint red, GLint green, GLint blue )
 {
    SECONDARYCOLORUB( INT_TO_UBYTE(red),
@@ -1201,7 +1201,7 @@
 		     INT_TO_UBYTE(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3sEXT( GLshort red, GLshort green, GLshort blue )
 {
    SECONDARYCOLORUB(SHORT_TO_UBYTE(red),
@@ -1209,7 +1209,7 @@
 		    SHORT_TO_UBYTE(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3uiEXT( GLuint red, GLuint green, GLuint blue )
 {
    SECONDARYCOLORUB(UINT_TO_UBYTE(red),
@@ -1217,7 +1217,7 @@
 		    UINT_TO_UBYTE(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3usEXT( GLushort red, GLushort green, GLushort blue )
 {
    SECONDARYCOLORUB(USHORT_TO_UBYTE(red),
@@ -1225,7 +1225,7 @@
 		    USHORT_TO_UBYTE(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3bvEXT( const GLbyte *v )
 {
    const GLfloat a = BYTE_TO_FLOAT(v[0]);
@@ -1234,7 +1234,7 @@
    SECONDARYCOLORF(a,b,c);
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3dvEXT( const GLdouble *v )
 {
    GLubyte col[3];
@@ -1247,7 +1247,7 @@
    SECONDARYCOLORUB( col[0], col[1], col[2] );
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3ivEXT( const GLint *v )
 {
    SECONDARYCOLORUB(INT_TO_UBYTE(v[0]),
@@ -1255,7 +1255,7 @@
 		    INT_TO_UBYTE(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3svEXT( const GLshort *v )
 {
    SECONDARYCOLORUB(SHORT_TO_UBYTE(v[0]),
@@ -1263,7 +1263,7 @@
 		    SHORT_TO_UBYTE(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3uivEXT( const GLuint *v )
 {
    SECONDARYCOLORUB(UINT_TO_UBYTE(v[0]),
@@ -1271,7 +1271,7 @@
 		    UINT_TO_UBYTE(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3usvEXT( const GLushort *v )
 {
    SECONDARYCOLORUB(USHORT_TO_UBYTE(v[0]),
@@ -1280,7 +1280,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue )
 {
    SECONDARYCOLORF( BYTE_TO_FLOAT(red),
@@ -1288,13 +1288,13 @@
 		    BYTE_TO_FLOAT(blue) );
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue )
 {
    SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue );
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue )
 {
    SECONDARYCOLORF( INT_TO_FLOAT(red),
@@ -1302,7 +1302,7 @@
 		    INT_TO_FLOAT(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue )
 {
    SECONDARYCOLORF(SHORT_TO_FLOAT(red),
@@ -1310,7 +1310,7 @@
                    SHORT_TO_FLOAT(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue )
 {
    SECONDARYCOLORF(UINT_TO_FLOAT(red),
@@ -1318,7 +1318,7 @@
                    UINT_TO_FLOAT(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue )
 {
    SECONDARYCOLORF(USHORT_TO_FLOAT(red),
@@ -1326,7 +1326,7 @@
                    USHORT_TO_FLOAT(blue));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3bvEXT_f( const GLbyte *v )
 {
    SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]),
@@ -1334,12 +1334,12 @@
                    BYTE_TO_FLOAT(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3dvEXT_f( const GLdouble *v )
 {
    SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] );
 }
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3ivEXT_f( const GLint *v )
 {
    SECONDARYCOLORF(INT_TO_FLOAT(v[0]),
@@ -1347,7 +1347,7 @@
                    INT_TO_FLOAT(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3svEXT_f( const GLshort *v )
 {
    SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]),
@@ -1355,7 +1355,7 @@
                    SHORT_TO_FLOAT(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3uivEXT_f( const GLuint *v )
 {
    SECONDARYCOLORF(UINT_TO_FLOAT(v[0]),
@@ -1363,7 +1363,7 @@
                    UINT_TO_FLOAT(v[2]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_SecondaryColor3usvEXT_f( const GLushort *v )
 {
    SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]),
@@ -1376,153 +1376,153 @@
  * GL_NV_vertex_program
  */
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib1sNV(GLuint index, GLshort x)
 {
    ATTRIB(index, (GLfloat) x, 0.0F, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib1fNV(GLuint index, GLfloat x)
 {
    ATTRIB(index, x, 0.0F, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib1dNV(GLuint index, GLdouble x)
 {
    ATTRIB(index, (GLfloat) x, 0.0F, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y)
 {
    ATTRIB(index, (GLfloat) x, y, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
 {
    ATTRIB(index, (GLfloat) x, y, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y)
 {
    ATTRIB(index, (GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z)
 {
    ATTRIB(index, (GLfloat) x, y, z, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
 {
    ATTRIB(index, x, y, z, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z)
 {
    ATTRIB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
 {
    ATTRIB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
    ATTRIB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
 {
    ATTRIB(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y),
 	UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w));
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib1svNV(GLuint index, const GLshort *v)
 {
    ATTRIB(index, (GLfloat) v[0], 0.0F, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib1fvNV(GLuint index, const GLfloat *v)
 {
    ATTRIB(index, v[0], 0.0F, 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib2svNV(GLuint index, const GLshort *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib2fvNV(GLuint index, const GLfloat *v)
 {
    ATTRIB(index, v[0], v[1], 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib3svNV(GLuint index, const GLshort *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib3fvNV(GLuint index, const GLfloat *v)
 {
    ATTRIB(index, v[0], v[1], v[2], 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4svNV(GLuint index, const GLshort *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 
 	  (GLfloat)v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4fvNV(GLuint index, const GLfloat *v)
 {
    ATTRIB(index, v[0], v[1], v[2], v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v)
 {
    ATTRIB(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]),
@@ -1530,7 +1530,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v)
 {
    GLint i;
@@ -1538,7 +1538,7 @@
       loopback_VertexAttrib1svNV(index + i, v + i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v)
 {
    GLint i;
@@ -1546,7 +1546,7 @@
       loopback_VertexAttrib1fvNV(index + i, v + i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v)
 {
    GLint i;
@@ -1554,7 +1554,7 @@
       loopback_VertexAttrib1dvNV(index + i, v + i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v)
 {
    GLint i;
@@ -1562,7 +1562,7 @@
       loopback_VertexAttrib2svNV(index + i, v + 2 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v)
 {
    GLint i;
@@ -1570,7 +1570,7 @@
       loopback_VertexAttrib2fvNV(index + i, v + 2 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v)
 {
    GLint i;
@@ -1578,7 +1578,7 @@
       loopback_VertexAttrib2dvNV(index + i, v + 2 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v)
 {
    GLint i;
@@ -1586,7 +1586,7 @@
       loopback_VertexAttrib3svNV(index + i, v + 3 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v)
 {
    GLint i;
@@ -1594,7 +1594,7 @@
       loopback_VertexAttrib3fvNV(index + i, v + 3 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v)
 {
    GLint i;
@@ -1602,7 +1602,7 @@
       loopback_VertexAttrib3dvNV(index + i, v + 3 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v)
 {
    GLint i;
@@ -1610,7 +1610,7 @@
       loopback_VertexAttrib4svNV(index + i, v + 4 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v)
 {
    GLint i;
@@ -1618,7 +1618,7 @@
       loopback_VertexAttrib4fvNV(index + i, v + 4 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v)
 {
    GLint i;
@@ -1626,7 +1626,7 @@
       loopback_VertexAttrib4dvNV(index + i, v + 4 * i);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v)
 {
    GLint i;
@@ -1639,65 +1639,65 @@
  * GL_ARB_vertex_program
  */
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4ivARB(GLuint index, const GLint * v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v)
 {
    ATTRIB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v)
 {
    ATTRIB(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]),
           BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v)
 {
    ATTRIB(index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]),
           SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4NivARB(GLuint index, const GLint * v)
 {
    ATTRIB(index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]),
           INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v)
 {
    ATTRIB(index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]),
           USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]));
 }
 
-static void
+static void GLAPIENTRY
 loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v)
 {
    ATTRIB(index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]),
diff --git a/src/mesa/main/arbprogram.c b/src/mesa/main/arbprogram.c
index 8ebae9d..5102758 100644
--- a/src/mesa/main/arbprogram.c
+++ b/src/mesa/main/arbprogram.c
@@ -44,7 +44,7 @@
 #include "nvvertprog.h"
 
 
-void
+void GLAPIENTRY
 _mesa_EnableVertexAttribArrayARB(GLuint index)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -62,7 +62,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_DisableVertexAttribArrayARB(GLuint index)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -80,7 +80,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params)
 {
    GLfloat fparams[4];
@@ -99,7 +99,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -143,7 +143,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribivARB(GLuint index, GLenum pname, GLint *params)
 {
    GLfloat fparams[4];
@@ -162,7 +162,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -182,7 +182,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramStringARB(GLenum target, GLenum format, GLsizei len,
                        const GLvoid *string)
 {
@@ -215,7 +215,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramEnvParameter4dARB(GLenum target, GLuint index,
                                GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
@@ -224,7 +224,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramEnvParameter4dvARB(GLenum target, GLuint index,
                                 const GLdouble *params)
 {
@@ -234,7 +234,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramEnvParameter4fARB(GLenum target, GLuint index,
                                GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -264,7 +264,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramEnvParameter4fvARB(GLenum target, GLuint index,
                                    const GLfloat *params)
 {
@@ -273,7 +273,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetProgramEnvParameterdvARB(GLenum target, GLuint index,
                                   GLdouble *params)
 {
@@ -290,7 +290,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetProgramEnvParameterfvARB(GLenum target, GLuint index, 
                                   GLfloat *params)
 {
@@ -325,7 +325,7 @@
 /**
  * Note, this function is also used by the GL_NV_fragment_program extension.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramLocalParameter4fARB(GLenum target, GLuint index,
                                  GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -367,7 +367,7 @@
 /**
  * Note, this function is also used by the GL_NV_fragment_program extension.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramLocalParameter4fvARB(GLenum target, GLuint index,
                                   const GLfloat *params)
 {
@@ -379,7 +379,7 @@
 /**
  * Note, this function is also used by the GL_NV_fragment_program extension.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramLocalParameter4dARB(GLenum target, GLuint index,
                                  GLdouble x, GLdouble y,
                                  GLdouble z, GLdouble w)
@@ -392,7 +392,7 @@
 /**
  * Note, this function is also used by the GL_NV_fragment_program extension.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramLocalParameter4dvARB(GLenum target, GLuint index,
                                   const GLdouble *params)
 {
@@ -405,7 +405,7 @@
 /**
  * Note, this function is also used by the GL_NV_fragment_program extension.
  */
-void
+void GLAPIENTRY
 _mesa_GetProgramLocalParameterfvARB(GLenum target, GLuint index,
                                     GLfloat *params)
 {
@@ -450,7 +450,7 @@
 /**
  * Note, this function is also used by the GL_NV_fragment_program extension.
  */
-void
+void GLAPIENTRY
 _mesa_GetProgramLocalParameterdvARB(GLenum target, GLuint index,
                                     GLdouble *params)
 {
@@ -463,7 +463,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetProgramivARB(GLenum target, GLenum pname, GLint *params)
 {
    struct program *prog;
@@ -670,7 +670,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetProgramStringARB(GLenum target, GLenum pname, GLvoid *string)
 {
    struct program *prog;
diff --git a/src/mesa/main/arbprogram.h b/src/mesa/main/arbprogram.h
index 8bfb180..e1b99ab 100644
--- a/src/mesa/main/arbprogram.h
+++ b/src/mesa/main/arbprogram.h
@@ -27,101 +27,101 @@
 #define ARBPROGRAM_H
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_EnableVertexAttribArrayARB(GLuint index);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_DisableVertexAttribArrayARB(GLuint index);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribdvARB(GLuint index, GLenum pname, GLdouble *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribfvARB(GLuint index, GLenum pname, GLfloat *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribivARB(GLuint index, GLenum pname, GLint *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribPointervARB(GLuint index, GLenum pname, GLvoid **pointer);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramStringARB(GLenum target, GLenum format, GLsizei len,
                        const GLvoid *string);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramEnvParameter4dARB(GLenum target, GLuint index,
                                GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramEnvParameter4dvARB(GLenum target, GLuint index,
                                 const GLdouble *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramEnvParameter4fARB(GLenum target, GLuint index,
                                GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramEnvParameter4fvARB(GLenum target, GLuint index,
                                 const GLfloat *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramLocalParameter4dARB(GLenum target, GLuint index,
                                  GLdouble x, GLdouble y,
                                  GLdouble z, GLdouble w);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramLocalParameter4dvARB(GLenum target, GLuint index,
                                   const GLdouble *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramLocalParameter4fARB(GLenum target, GLuint index,
                                  GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramLocalParameter4fvARB(GLenum target, GLuint index,
                                   const GLfloat *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramEnvParameterdvARB(GLenum target, GLuint index,
                                   GLdouble *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramEnvParameterfvARB(GLenum target, GLuint index, 
                                   GLfloat *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramLocalParameterdvARB(GLenum target, GLuint index,
                                     GLdouble *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramLocalParameterfvARB(GLenum target, GLuint index, 
                                     GLfloat *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramivARB(GLenum target, GLenum pname, GLint *params);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramStringARB(GLenum target, GLenum pname, GLvoid *string);
 
 
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 198bb34..62d968a 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -65,7 +65,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PushAttrib(GLbitfield mask)
 {
    struct gl_attrib_node *newnode;
@@ -783,7 +783,7 @@
  * We could at least check if the value to restore equals the current value
  * and then skip the Mesa call.
  */
-void
+void GLAPIENTRY
 _mesa_PopAttrib(void)
 {
    struct gl_attrib_node *attr, *next;
@@ -1138,7 +1138,7 @@
 #define GL_CLIENT_UNPACK_BIT (1<<21)
 
 
-void
+void GLAPIENTRY
 _mesa_PushClientAttrib(GLbitfield mask)
 {
    struct gl_attrib_node *newnode;
@@ -1190,7 +1190,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_PopClientAttrib(void)
 {
    struct gl_attrib_node *attr, *next;
diff --git a/src/mesa/main/attrib.h b/src/mesa/main/attrib.h
index 8267624..09d7519 100644
--- a/src/mesa/main/attrib.h
+++ b/src/mesa/main/attrib.h
@@ -43,16 +43,16 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_PushAttrib( GLbitfield mask );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PopAttrib( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PushClientAttrib( GLbitfield mask );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PopClientAttrib( void );
 
 extern void 
diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index dad5184..e3cdbff 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -50,7 +50,7 @@
  * flushes the vertices and notifies the driver via
  * dd_function_table::BlendFunc callback.
  */
-void
+void GLAPIENTRY
 _mesa_BlendFunc( GLenum sfactor, GLenum dfactor )
 {
 
@@ -144,7 +144,7 @@
  * On a change, flush the vertices and notify the driver via
  * dd_function_table::BlendFuncSeparate.
  */
-void
+void GLAPIENTRY
 _mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB,
                             GLenum sfactorA, GLenum dfactorA )
 {
@@ -285,7 +285,7 @@
 
 
 /* This is really an extension function! */
-void
+void GLAPIENTRY
 _mesa_BlendEquation( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -358,7 +358,7 @@
  * change, flushes the vertices and notifies the driver via
  * dd_function_table::BlendColor callback.
  */
-void
+void GLAPIENTRY
 _mesa_BlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
 {
    GLfloat tmp[4];
@@ -391,7 +391,7 @@
  * On a change, flushes the vertices and notifies the driver via
  * dd_function_table::AlphaFunc callback.
  */
-void
+void GLAPIENTRY
 _mesa_AlphaFunc( GLenum func, GLclampf ref )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -436,7 +436,7 @@
  * On a change, flushes the vertices and notifies the driver via the
  * dd_function_table::LogicOpcode callback.
  */
-void
+void GLAPIENTRY
 _mesa_LogicOp( GLenum opcode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -476,7 +476,7 @@
 }
 
 #if _HAVE_FULL_GL
-void
+void GLAPIENTRY
 _mesa_IndexMask( GLuint mask )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -508,7 +508,7 @@
  * change, flushes the vertices and notifies the driver via the
  * dd_function_table::ColorMask callback.
  */
-void
+void GLAPIENTRY
 _mesa_ColorMask( GLboolean red, GLboolean green,
                  GLboolean blue, GLboolean alpha )
 {
diff --git a/src/mesa/main/blend.h b/src/mesa/main/blend.h
index a967937..ae96bd4 100644
--- a/src/mesa/main/blend.h
+++ b/src/mesa/main/blend.h
@@ -36,39 +36,39 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_BlendFunc( GLenum sfactor, GLenum dfactor );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB,
                             GLenum sfactorA, GLenum dfactorA );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_BlendEquation( GLenum mode );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_AlphaFunc( GLenum func, GLclampf ref );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_LogicOp( GLenum opcode );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_IndexMask( GLuint mask );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorMask( GLboolean red, GLboolean green,
                  GLboolean blue, GLboolean alpha );
 
-extern void 
+extern void  
 _mesa_init_color( GLcontext * ctx );
 
 #endif
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 9304a85..0f70829 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -367,7 +367,7 @@
 /* API Functions                                                      */
 /**********************************************************************/
 
-void
+void GLAPIENTRY
 _mesa_BindBufferARB(GLenum target, GLuint buffer)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -436,7 +436,7 @@
  * \param n      Number of buffer objects to delete.
  * \param buffer Array of \c n buffer object IDs.
  */
-void
+void GLAPIENTRY
 _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -511,7 +511,7 @@
  * \param n       Number of IDs to generate.
  * \param buffer  Array of \c n locations to store the IDs.
  */
-void
+void GLAPIENTRY
 _mesa_GenBuffersARB(GLsizei n, GLuint *buffer)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -560,7 +560,7 @@
  * \return  \c GL_TRUE if \c id is the name of a buffer object, 
  *          \c GL_FALSE otherwise.
  */
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_IsBufferARB(GLuint id)
 {
    struct gl_buffer_object * bufObj;
@@ -578,7 +578,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size,
                     const GLvoid * data, GLenum usage)
 {
@@ -626,7 +626,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset,
                        GLsizeiptrARB size, const GLvoid * data)
 {
@@ -651,7 +651,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetBufferSubDataARB(GLenum target, GLintptrARB offset,
                           GLsizeiptrARB size, void * data)
 {
@@ -676,7 +676,7 @@
 }
 
 
-void *
+void * GLAPIENTRY
 _mesa_MapBufferARB(GLenum target, GLenum access)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -717,7 +717,7 @@
 }
 
 
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_UnmapBufferARB(GLenum target)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -747,7 +747,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -780,7 +780,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h
index 70a411b..8490e36 100644
--- a/src/mesa/main/bufferobj.h
+++ b/src/mesa/main/bufferobj.h
@@ -84,37 +84,37 @@
  * API functions
  */
 
-extern void
+extern void GLAPIENTRY
 _mesa_BindBufferARB(GLenum target, GLuint buffer);
 
-extern void
+extern void GLAPIENTRY
 _mesa_DeleteBuffersARB(GLsizei n, const GLuint * buffer);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GenBuffersARB(GLsizei n, GLuint * buffer);
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_IsBufferARB(GLuint buffer);
 
-extern void
+extern void GLAPIENTRY
 _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage);
 
-extern void
+extern void GLAPIENTRY
 _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data);
 
-extern void *
+extern void * GLAPIENTRY
 _mesa_MapBufferARB(GLenum target, GLenum access);
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_UnmapBufferARB(GLenum target);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);
 
 #endif
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index 6c58ed4..519bfb3 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -41,7 +41,7 @@
 
 
 #if _HAVE_FULL_GL
-void
+void GLAPIENTRY
 _mesa_ClearIndex( GLfloat c )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -75,7 +75,7 @@
  * change, flushes the vertices and notifies the driver via the
  * dd_function_table::ClearColor callback.
  */
-void
+void GLAPIENTRY
 _mesa_ClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
 {
    GLfloat tmp[4];
@@ -110,7 +110,7 @@
  * etc. If the rasterization mode is set to GL_RENDER then requests the driver
  * to clear the buffers, via the dd_function_table::Clear callback.
  */ 
-void
+void GLAPIENTRY
 _mesa_Clear( GLbitfield mask )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -176,7 +176,7 @@
  * __GLcontextRec::NewState and notifies the driver via the
  * dd_function_table::DrawBuffer callback.
  */
-void
+void GLAPIENTRY
 _mesa_DrawBuffer( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -327,7 +327,7 @@
  * new pixel state in __GLcontextRec::NewState and notifies the driver via
  * dd_function_table::ReadBuffer.
  */
-void
+void GLAPIENTRY
 _mesa_ReadBuffer( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -436,7 +436,7 @@
  * \note This function may be called from within Mesa or called by the
  * user directly (see the GL_MESA_resize_buffers extension).
  */
-void
+void GLAPIENTRY
 _mesa_ResizeBuffersMESA( void )
 {
    GLcontext *ctx = _mesa_get_current_context();
@@ -488,7 +488,7 @@
 /*
  * XXX move somewhere else someday?
  */
-void
+void GLAPIENTRY
 _mesa_SampleCoverageARB(GLclampf value, GLboolean invert)
 {
    GLcontext *ctx = _mesa_get_current_context();
@@ -520,7 +520,7 @@
  * change flushes the vertices and notifies the driver via
  * the dd_function_table::Scissor callback.
  */
-void
+void GLAPIENTRY
 _mesa_Scissor( GLint x, GLint y, GLsizei width, GLsizei height )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h
index 7c992a9..83e1b48 100644
--- a/src/mesa/main/buffers.h
+++ b/src/mesa/main/buffers.h
@@ -36,29 +36,29 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ClearIndex( GLfloat c );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ClearColor( GLclampf red, GLclampf green,
                   GLclampf blue, GLclampf alpha );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Clear( GLbitfield mask );
 
-extern void
+extern void GLAPIENTRY
 _mesa_DrawBuffer( GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ReadBuffer( GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ResizeBuffersMESA( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Scissor( GLint x, GLint y, GLsizei width, GLsizei height );
 
-extern void
+extern void GLAPIENTRY
 _mesa_SampleCoverageARB(GLclampf value, GLboolean invert);
 
 extern void 
diff --git a/src/mesa/main/clip.c b/src/mesa/main/clip.c
index a061980..31e6af9 100644
--- a/src/mesa/main/clip.c
+++ b/src/mesa/main/clip.c
@@ -41,7 +41,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ClipPlane( GLenum plane, const GLdouble *eq )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -98,7 +98,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetClipPlane( GLenum plane, GLdouble *equation )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/clip.h b/src/mesa/main/clip.h
index 154e3ce..9442e86 100644
--- a/src/mesa/main/clip.h
+++ b/src/mesa/main/clip.h
@@ -33,8 +33,10 @@
 
 #include "mtypes.h"
 
-extern void _mesa_ClipPlane( GLenum plane, const GLdouble *equation );
+extern void GLAPIENTRY 
+_mesa_ClipPlane( GLenum plane, const GLdouble *equation );
 
-extern void _mesa_GetClipPlane( GLenum plane, GLdouble *equation );
+extern void GLAPIENTRY 
+_mesa_GetClipPlane( GLenum plane, GLdouble *equation );
 
 #endif
diff --git a/src/mesa/main/colortab.c b/src/mesa/main/colortab.c
index cc26855..a44f9a0 100644
--- a/src/mesa/main/colortab.c
+++ b/src/mesa/main/colortab.c
@@ -155,7 +155,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ColorTable( GLenum target, GLenum internalFormat,
                   GLsizei width, GLenum format, GLenum type,
                   const GLvoid *data )
@@ -439,7 +439,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ColorSubTable( GLenum target, GLsizei start,
                      GLsizei count, GLenum format, GLenum type,
                      const GLvoid *data )
@@ -637,7 +637,7 @@
 
 
 /* XXX not tested */
-void
+void GLAPIENTRY
 _mesa_CopyColorTable(GLenum target, GLenum internalformat,
                      GLint x, GLint y, GLsizei width)
 {
@@ -651,7 +651,7 @@
 
 
 /* XXX not tested */
-void
+void GLAPIENTRY
 _mesa_CopyColorSubTable(GLenum target, GLsizei start,
                         GLint x, GLint y, GLsizei width)
 {
@@ -663,7 +663,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetColorTable( GLenum target, GLenum format,
                      GLenum type, GLvoid *data )
 {
@@ -864,7 +864,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -957,7 +957,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params)
 {
    GLfloat fparams[4];
@@ -980,7 +980,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1154,7 +1154,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/colortab.h b/src/mesa/main/colortab.h
index 9ccf276..4bd1621 100644
--- a/src/mesa/main/colortab.h
+++ b/src/mesa/main/colortab.h
@@ -41,40 +41,40 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorTable( GLenum target, GLenum internalformat,
                   GLsizei width, GLenum format, GLenum type,
                   const GLvoid *table );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorSubTable( GLenum target, GLsizei start,
                      GLsizei count, GLenum format, GLenum type,
                      const GLvoid *table );
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyColorSubTable(GLenum target, GLsizei start,
                         GLint x, GLint y, GLsizei width);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyColorTable(GLenum target, GLenum internalformat,
                      GLint x, GLint y, GLsizei width);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetColorTable( GLenum target, GLenum format,
                      GLenum type, GLvoid *table );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorTableParameterfv(GLenum target, GLenum pname,
                             const GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorTableParameteriv(GLenum target, GLenum pname,
                             const GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
 
 
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index ce35142..51abf86 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1908,7 +1908,7 @@
  * Calls the #ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH macro and the
  * dd_function_table::Finish driver callback, if not NULL.
  */
-void
+void GLAPIENTRY
 _mesa_Finish( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1924,7 +1924,7 @@
  * Calls the #ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH macro and the
  * dd_function_table::Flush driver callback, if not NULL.
  */
-void
+void GLAPIENTRY
 _mesa_Flush( void )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index 78b2179..838b7bb 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -249,10 +249,10 @@
 _mesa_record_error( GLcontext *ctx, GLenum error );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_Finish( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Flush( void );
 
 /*@}*/
diff --git a/src/mesa/main/convolve.c b/src/mesa/main/convolve.c
index 341d60e..b7d2eeb 100644
--- a/src/mesa/main/convolve.c
+++ b/src/mesa/main/convolve.c
@@ -101,7 +101,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
 {
    GLint baseFormat;
@@ -174,7 +174,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
 {
    GLint baseFormat;
@@ -257,7 +257,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -300,7 +300,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -356,7 +356,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -399,7 +399,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -468,7 +468,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width)
 {
    GLint baseFormat;
@@ -496,7 +496,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height)
 {
    GLint baseFormat;
@@ -529,7 +529,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image)
 {
    const struct gl_convolution_attrib *filter;
@@ -579,7 +579,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -640,7 +640,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -710,7 +710,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
 {
    const GLint colStart = MAX_CONVOLUTION_WIDTH * 4;
@@ -768,7 +768,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
 {
    const GLint colStart = MAX_CONVOLUTION_WIDTH * 4;
diff --git a/src/mesa/main/convolve.h b/src/mesa/main/convolve.h
index deac1e2..4505cda 100644
--- a/src/mesa/main/convolve.h
+++ b/src/mesa/main/convolve.h
@@ -32,51 +32,51 @@
 
 
 #if _HAVE_FULL_GL
-extern void
+extern void GLAPIENTRY
 _mesa_ConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width,
                           GLenum format, GLenum type, const GLvoid *image);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width,
                           GLsizei height, GLenum format, GLenum type,
                           const GLvoid *image);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ConvolutionParameterfv(GLenum target, GLenum pname,
                              const GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalformat,
                               GLint x, GLint y, GLsizei width);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalformat,
                               GLint x, GLint y, GLsizei width, GLsizei height);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
                            GLvoid *image);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
                          GLvoid *row, GLvoid *column, GLvoid *span);
 
-extern void
+extern void GLAPIENTRY
 _mesa_SeparableFilter2D(GLenum target, GLenum internalformat,
                         GLsizei width, GLsizei height,
                         GLenum format, GLenum type,
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index c6760d4..a4aa534 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -896,66 +896,66 @@
     * \name Vertex
     */
    /*@{*/
-   void (*ArrayElement)( GLint ); /* NOTE */
-   void (*Color3f)( GLfloat, GLfloat, GLfloat );
-   void (*Color3fv)( const GLfloat * );
-   void (*Color3ub)( GLubyte, GLubyte, GLubyte );
-   void (*Color3ubv)( const GLubyte * );
-   void (*Color4f)( GLfloat, GLfloat, GLfloat, GLfloat );
-   void (*Color4fv)( const GLfloat * );
-   void (*Color4ub)( GLubyte, GLubyte, GLubyte, GLubyte );
-   void (*Color4ubv)( const GLubyte * );
-   void (*EdgeFlag)( GLboolean );
-   void (*EdgeFlagv)( const GLboolean * );
-   void (*EvalCoord1f)( GLfloat );          /* NOTE */
-   void (*EvalCoord1fv)( const GLfloat * ); /* NOTE */
-   void (*EvalCoord2f)( GLfloat, GLfloat ); /* NOTE */
-   void (*EvalCoord2fv)( const GLfloat * ); /* NOTE */
-   void (*EvalPoint1)( GLint );             /* NOTE */
-   void (*EvalPoint2)( GLint, GLint );      /* NOTE */
-   void (*FogCoordfEXT)( GLfloat );
-   void (*FogCoordfvEXT)( const GLfloat * );
-   void (*Indexi)( GLint );
-   void (*Indexiv)( const GLint * );
-   void (*Materialfv)( GLenum face, GLenum pname, const GLfloat * ); /* NOTE */
-   void (*MultiTexCoord1fARB)( GLenum, GLfloat );
-   void (*MultiTexCoord1fvARB)( GLenum, const GLfloat * );
-   void (*MultiTexCoord2fARB)( GLenum, GLfloat, GLfloat );
-   void (*MultiTexCoord2fvARB)( GLenum, const GLfloat * );
-   void (*MultiTexCoord3fARB)( GLenum, GLfloat, GLfloat, GLfloat );
-   void (*MultiTexCoord3fvARB)( GLenum, const GLfloat * );
-   void (*MultiTexCoord4fARB)( GLenum, GLfloat, GLfloat, GLfloat, GLfloat );
-   void (*MultiTexCoord4fvARB)( GLenum, const GLfloat * );
-   void (*Normal3f)( GLfloat, GLfloat, GLfloat );
-   void (*Normal3fv)( const GLfloat * );
-   void (*SecondaryColor3fEXT)( GLfloat, GLfloat, GLfloat );
-   void (*SecondaryColor3fvEXT)( const GLfloat * );
-   void (*SecondaryColor3ubEXT)( GLubyte, GLubyte, GLubyte );
-   void (*SecondaryColor3ubvEXT)( const GLubyte * );
-   void (*TexCoord1f)( GLfloat );
-   void (*TexCoord1fv)( const GLfloat * );
-   void (*TexCoord2f)( GLfloat, GLfloat );
-   void (*TexCoord2fv)( const GLfloat * );
-   void (*TexCoord3f)( GLfloat, GLfloat, GLfloat );
-   void (*TexCoord3fv)( const GLfloat * );
-   void (*TexCoord4f)( GLfloat, GLfloat, GLfloat, GLfloat );
-   void (*TexCoord4fv)( const GLfloat * );
-   void (*Vertex2f)( GLfloat, GLfloat );
-   void (*Vertex2fv)( const GLfloat * );
-   void (*Vertex3f)( GLfloat, GLfloat, GLfloat );
-   void (*Vertex3fv)( const GLfloat * );
-   void (*Vertex4f)( GLfloat, GLfloat, GLfloat, GLfloat );
-   void (*Vertex4fv)( const GLfloat * );
-   void (*CallList)( GLuint );	/* NOTE */
-   void (*Begin)( GLenum );
-   void (*End)( void );
-   void (*VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-   void (*VertexAttrib4fvNV)( GLuint index, const GLfloat *v );
+   void (GLAPIENTRYP ArrayElement)( GLint ); /* NOTE */
+   void (GLAPIENTRYP Color3f)( GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP Color3fv)( const GLfloat * );
+   void (GLAPIENTRYP Color3ub)( GLubyte, GLubyte, GLubyte );
+   void (GLAPIENTRYP Color3ubv)( const GLubyte * );
+   void (GLAPIENTRYP Color4f)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP Color4fv)( const GLfloat * );
+   void (GLAPIENTRYP Color4ub)( GLubyte, GLubyte, GLubyte, GLubyte );
+   void (GLAPIENTRYP Color4ubv)( const GLubyte * );
+   void (GLAPIENTRYP EdgeFlag)( GLboolean );
+   void (GLAPIENTRYP EdgeFlagv)( const GLboolean * );
+   void (GLAPIENTRYP EvalCoord1f)( GLfloat );          /* NOTE */
+   void (GLAPIENTRYP EvalCoord1fv)( const GLfloat * ); /* NOTE */
+   void (GLAPIENTRYP EvalCoord2f)( GLfloat, GLfloat ); /* NOTE */
+   void (GLAPIENTRYP EvalCoord2fv)( const GLfloat * ); /* NOTE */
+   void (GLAPIENTRYP EvalPoint1)( GLint );             /* NOTE */
+   void (GLAPIENTRYP EvalPoint2)( GLint, GLint );      /* NOTE */
+   void (GLAPIENTRYP FogCoordfEXT)( GLfloat );
+   void (GLAPIENTRYP FogCoordfvEXT)( const GLfloat * );
+   void (GLAPIENTRYP Indexi)( GLint );
+   void (GLAPIENTRYP Indexiv)( const GLint * );
+   void (GLAPIENTRYP Materialfv)( GLenum face, GLenum pname, const GLfloat * ); /* NOTE */
+   void (GLAPIENTRYP MultiTexCoord1fARB)( GLenum, GLfloat );
+   void (GLAPIENTRYP MultiTexCoord1fvARB)( GLenum, const GLfloat * );
+   void (GLAPIENTRYP MultiTexCoord2fARB)( GLenum, GLfloat, GLfloat );
+   void (GLAPIENTRYP MultiTexCoord2fvARB)( GLenum, const GLfloat * );
+   void (GLAPIENTRYP MultiTexCoord3fARB)( GLenum, GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP MultiTexCoord3fvARB)( GLenum, const GLfloat * );
+   void (GLAPIENTRYP MultiTexCoord4fARB)( GLenum, GLfloat, GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP MultiTexCoord4fvARB)( GLenum, const GLfloat * );
+   void (GLAPIENTRYP Normal3f)( GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP Normal3fv)( const GLfloat * );
+   void (GLAPIENTRYP SecondaryColor3fEXT)( GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP SecondaryColor3fvEXT)( const GLfloat * );
+   void (GLAPIENTRYP SecondaryColor3ubEXT)( GLubyte, GLubyte, GLubyte );
+   void (GLAPIENTRYP SecondaryColor3ubvEXT)( const GLubyte * );
+   void (GLAPIENTRYP TexCoord1f)( GLfloat );
+   void (GLAPIENTRYP TexCoord1fv)( const GLfloat * );
+   void (GLAPIENTRYP TexCoord2f)( GLfloat, GLfloat );
+   void (GLAPIENTRYP TexCoord2fv)( const GLfloat * );
+   void (GLAPIENTRYP TexCoord3f)( GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP TexCoord3fv)( const GLfloat * );
+   void (GLAPIENTRYP TexCoord4f)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP TexCoord4fv)( const GLfloat * );
+   void (GLAPIENTRYP Vertex2f)( GLfloat, GLfloat );
+   void (GLAPIENTRYP Vertex2fv)( const GLfloat * );
+   void (GLAPIENTRYP Vertex3f)( GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP Vertex3fv)( const GLfloat * );
+   void (GLAPIENTRYP Vertex4f)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP Vertex4fv)( const GLfloat * );
+   void (GLAPIENTRYP CallList)( GLuint );	/* NOTE */
+   void (GLAPIENTRYP Begin)( GLenum );
+   void (GLAPIENTRYP End)( void );
+   void (GLAPIENTRYP VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
+   void (GLAPIENTRYP VertexAttrib4fvNV)( GLuint index, const GLfloat *v );
    /*@}*/
 
    /*
     */
-   void (*Rectf)( GLfloat, GLfloat, GLfloat, GLfloat );
+   void (GLAPIENTRYP Rectf)( GLfloat, GLfloat, GLfloat, GLfloat );
 
    /**
     * \name Array
@@ -965,10 +965,10 @@
     * its current size natively.
     */
    /*@{*/
-   void (*DrawArrays)( GLenum mode, GLint start, GLsizei count );
-   void (*DrawElements)( GLenum mode, GLsizei count, GLenum type,
+   void (GLAPIENTRYP DrawArrays)( GLenum mode, GLint start, GLsizei count );
+   void (GLAPIENTRYP DrawElements)( GLenum mode, GLsizei count, GLenum type,
 			 const GLvoid *indices );
-   void (*DrawRangeElements)( GLenum mode, GLuint start,
+   void (GLAPIENTRYP DrawRangeElements)( GLenum mode, GLuint start,
 			      GLuint end, GLsizei count,
 			      GLenum type, const GLvoid *indices );
    /*@}*/
@@ -984,8 +984,8 @@
     * accelerated vertex formats, eventually...
     */
    /*@{*/
-   void (*EvalMesh1)( GLenum mode, GLint i1, GLint i2 );
-   void (*EvalMesh2)( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
+   void (GLAPIENTRYP EvalMesh1)( GLenum mode, GLint i1, GLint i2 );
+   void (GLAPIENTRYP EvalMesh2)( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
    /*@}*/
 
    /**
diff --git a/src/mesa/main/depth.c b/src/mesa/main/depth.c
index 8d61ff4..eb8c8b8 100644
--- a/src/mesa/main/depth.c
+++ b/src/mesa/main/depth.c
@@ -39,7 +39,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ClearDepth( GLclampd depth )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -58,7 +58,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_DepthFunc( GLenum func )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -94,7 +94,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_DepthMask( GLboolean flag )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -120,7 +120,7 @@
 
 
 /* GL_EXT_depth_bounds_test */
-void
+void GLAPIENTRY
 _mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/depth.h b/src/mesa/main/depth.h
index ce5f28e..0532a2e 100644
--- a/src/mesa/main/depth.h
+++ b/src/mesa/main/depth.h
@@ -37,19 +37,19 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_ClearDepth( GLclampd depth );
 
-extern void
+extern void GLAPIENTRY
 _mesa_DepthFunc( GLenum func );
 
-extern void
+extern void GLAPIENTRY
 _mesa_DepthMask( GLboolean flag );
 
 extern void 
 _mesa_init_depth( GLcontext * ctx );
 
-extern void
+extern void GLAPIENTRY
 _mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax );
 
 #else
diff --git a/src/mesa/main/dispatch.c b/src/mesa/main/dispatch.c
index 4bda6e1..87dc64f 100644
--- a/src/mesa/main/dispatch.c
+++ b/src/mesa/main/dispatch.c
@@ -41,7 +41,7 @@
 #include "glthread.h"
 
 
-#if !(defined(USE_X86_ASM) || defined(USE_SPARC_ASM)) || defined(__SCITECH_SNAP__)
+#if !(defined(USE_X86_ASM) || defined(USE_SPARC_ASM))
 
 #if defined(WIN32)
 #define KEYWORD1 GLAPI
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 6efe540..c654cb6 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -816,7 +816,7 @@
 /*
  * Display List compilation functions
  */
-static void save_Accum( GLenum op, GLfloat value )
+static void GLAPIENTRY save_Accum( GLenum op, GLfloat value )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -832,7 +832,7 @@
 }
 
 
-static void save_AlphaFunc( GLenum func, GLclampf ref )
+static void GLAPIENTRY save_AlphaFunc( GLenum func, GLclampf ref )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -848,7 +848,7 @@
 }
 
 
-static void save_BindTexture( GLenum target, GLuint texture )
+static void GLAPIENTRY save_BindTexture( GLenum target, GLuint texture )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -864,7 +864,7 @@
 }
 
 
-static void save_Bitmap( GLsizei width, GLsizei height,
+static void GLAPIENTRY save_Bitmap( GLsizei width, GLsizei height,
                          GLfloat xorig, GLfloat yorig,
                          GLfloat xmove, GLfloat ymove,
                          const GLubyte *pixels )
@@ -893,7 +893,7 @@
 }
 
 
-static void save_BlendEquation( GLenum mode )
+static void GLAPIENTRY save_BlendEquation( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -908,7 +908,7 @@
 }
 
 
-static void save_BlendFunc( GLenum sfactor, GLenum dfactor )
+static void GLAPIENTRY save_BlendFunc( GLenum sfactor, GLenum dfactor )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -924,7 +924,7 @@
 }
 
 
-static void save_BlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB,
+static void GLAPIENTRY save_BlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB,
                                       GLenum sfactorA, GLenum dfactorA)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -944,7 +944,7 @@
 }
 
 
-static void save_BlendColor( GLfloat red, GLfloat green,
+static void GLAPIENTRY save_BlendColor( GLfloat red, GLfloat green,
                              GLfloat blue, GLfloat alpha )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -963,7 +963,7 @@
 }
 
 
-void _mesa_save_CallList( GLuint list )
+void GLAPIENTRY _mesa_save_CallList( GLuint list )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -980,7 +980,7 @@
 }
 
 
-void _mesa_save_CallLists( GLsizei n, GLenum type, const GLvoid *lists )
+void GLAPIENTRY _mesa_save_CallLists( GLsizei n, GLenum type, const GLvoid *lists )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLint i;
@@ -1020,7 +1020,7 @@
 }
 
 
-static void save_Clear( GLbitfield mask )
+static void GLAPIENTRY save_Clear( GLbitfield mask )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1035,7 +1035,7 @@
 }
 
 
-static void save_ClearAccum( GLfloat red, GLfloat green,
+static void GLAPIENTRY save_ClearAccum( GLfloat red, GLfloat green,
                              GLfloat blue, GLfloat alpha )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1054,7 +1054,7 @@
 }
 
 
-static void save_ClearColor( GLclampf red, GLclampf green,
+static void GLAPIENTRY save_ClearColor( GLclampf red, GLclampf green,
                              GLclampf blue, GLclampf alpha )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1073,7 +1073,7 @@
 }
 
 
-static void save_ClearDepth( GLclampd depth )
+static void GLAPIENTRY save_ClearDepth( GLclampd depth )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1088,7 +1088,7 @@
 }
 
 
-static void save_ClearIndex( GLfloat c )
+static void GLAPIENTRY save_ClearIndex( GLfloat c )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1103,7 +1103,7 @@
 }
 
 
-static void save_ClearStencil( GLint s )
+static void GLAPIENTRY save_ClearStencil( GLint s )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1118,7 +1118,7 @@
 }
 
 
-static void save_ClipPlane( GLenum plane, const GLdouble *equ )
+static void GLAPIENTRY save_ClipPlane( GLenum plane, const GLdouble *equ )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1138,7 +1138,7 @@
 
 
 
-static void save_ColorMask( GLboolean red, GLboolean green,
+static void GLAPIENTRY save_ColorMask( GLboolean red, GLboolean green,
                             GLboolean blue, GLboolean alpha )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1157,7 +1157,7 @@
 }
 
 
-static void save_ColorMaterial( GLenum face, GLenum mode )
+static void GLAPIENTRY save_ColorMaterial( GLenum face, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1175,7 +1175,7 @@
 }
 
 
-static void save_ColorTable( GLenum target, GLenum internalFormat,
+static void GLAPIENTRY save_ColorTable( GLenum target, GLenum internalFormat,
                              GLsizei width, GLenum format, GLenum type,
                              const GLvoid *table )
 {
@@ -1214,7 +1214,7 @@
 
 
 
-static void
+static void GLAPIENTRY
 save_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1243,7 +1243,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1273,7 +1273,7 @@
 
 
 
-static void save_ColorSubTable( GLenum target, GLsizei start, GLsizei count,
+static void GLAPIENTRY save_ColorSubTable( GLenum target, GLsizei start, GLsizei count,
                                 GLenum format, GLenum type,
                                 const GLvoid *table)
 {
@@ -1300,7 +1300,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CopyColorSubTable(GLenum target, GLsizei start,
                        GLint x, GLint y, GLsizei width)
 {
@@ -1322,7 +1322,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CopyColorTable(GLenum target, GLenum internalformat,
                     GLint x, GLint y, GLsizei width)
 {
@@ -1344,7 +1344,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width,
                          GLenum format, GLenum type, const GLvoid *filter)
 {
@@ -1372,7 +1372,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ConvolutionFilter2D(GLenum target, GLenum internalFormat,
                          GLsizei width, GLsizei height, GLenum format,
                          GLenum type, const GLvoid *filter)
@@ -1402,7 +1402,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ConvolutionParameteri(GLenum target, GLenum pname, GLint param)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1420,7 +1420,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1448,7 +1448,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1466,7 +1466,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1494,7 +1494,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CopyPixels( GLint x, GLint y,
 		 GLsizei width, GLsizei height, GLenum type )
 {
@@ -1516,7 +1516,7 @@
 
 
 
-static void
+static void GLAPIENTRY
 save_CopyTexImage1D( GLenum target, GLint level, GLenum internalformat,
                      GLint x, GLint y, GLsizei width, GLint border )
 {
@@ -1540,7 +1540,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CopyTexImage2D( GLenum target, GLint level,
                      GLenum internalformat,
                      GLint x, GLint y, GLsizei width,
@@ -1568,7 +1568,7 @@
 
 
 
-static void
+static void GLAPIENTRY
 save_CopyTexSubImage1D( GLenum target, GLint level,
                         GLint xoffset, GLint x, GLint y,
                         GLsizei width )
@@ -1591,7 +1591,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CopyTexSubImage2D( GLenum target, GLint level,
                         GLint xoffset, GLint yoffset,
                         GLint x, GLint y,
@@ -1618,7 +1618,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CopyTexSubImage3D( GLenum target, GLint level,
                         GLint xoffset, GLint yoffset, GLint zoffset,
                         GLint x, GLint y,
@@ -1647,7 +1647,7 @@
 }
 
 
-static void save_CullFace( GLenum mode )
+static void GLAPIENTRY save_CullFace( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1662,7 +1662,7 @@
 }
 
 
-static void save_DepthFunc( GLenum func )
+static void GLAPIENTRY save_DepthFunc( GLenum func )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1677,7 +1677,7 @@
 }
 
 
-static void save_DepthMask( GLboolean mask )
+static void GLAPIENTRY save_DepthMask( GLboolean mask )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1692,7 +1692,7 @@
 }
 
 
-static void save_DepthRange( GLclampd nearval, GLclampd farval )
+static void GLAPIENTRY save_DepthRange( GLclampd nearval, GLclampd farval )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1708,7 +1708,7 @@
 }
 
 
-static void save_Disable( GLenum cap )
+static void GLAPIENTRY save_Disable( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1723,7 +1723,7 @@
 }
 
 
-static void save_DrawBuffer( GLenum mode )
+static void GLAPIENTRY save_DrawBuffer( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1738,7 +1738,7 @@
 }
 
 
-static void save_DrawPixels( GLsizei width, GLsizei height,
+static void GLAPIENTRY save_DrawPixels( GLsizei width, GLsizei height,
                              GLenum format, GLenum type,
                              const GLvoid *pixels )
 {
@@ -1765,7 +1765,7 @@
 
 
 
-static void save_Enable( GLenum cap )
+static void GLAPIENTRY save_Enable( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1781,7 +1781,7 @@
 
 
 
-void _mesa_save_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
+void GLAPIENTRY _mesa_save_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1798,7 +1798,7 @@
 }
 
 
-void _mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
+void GLAPIENTRY _mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1819,7 +1819,7 @@
 
 
 
-static void save_Fogfv( GLenum pname, const GLfloat *params )
+static void GLAPIENTRY save_Fogfv( GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1838,13 +1838,13 @@
 }
 
 
-static void save_Fogf( GLenum pname, GLfloat param )
+static void GLAPIENTRY save_Fogf( GLenum pname, GLfloat param )
 {
    save_Fogfv(pname, &param);
 }
 
 
-static void save_Fogiv(GLenum pname, const GLint *params )
+static void GLAPIENTRY save_Fogiv(GLenum pname, const GLint *params )
 {
    GLfloat p[4];
    switch (pname) {
@@ -1869,13 +1869,13 @@
 }
 
 
-static void save_Fogi(GLenum pname, GLint param )
+static void GLAPIENTRY save_Fogi(GLenum pname, GLint param )
 {
    save_Fogiv(pname, &param);
 }
 
 
-static void save_FrontFace( GLenum mode )
+static void GLAPIENTRY save_FrontFace( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1890,7 +1890,7 @@
 }
 
 
-static void save_Frustum( GLdouble left, GLdouble right,
+static void GLAPIENTRY save_Frustum( GLdouble left, GLdouble right,
                       GLdouble bottom, GLdouble top,
                       GLdouble nearval, GLdouble farval )
 {
@@ -1912,7 +1912,7 @@
 }
 
 
-static void save_Hint( GLenum target, GLenum mode )
+static void GLAPIENTRY save_Hint( GLenum target, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1928,7 +1928,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1948,7 +1948,7 @@
 }
 
 
-static void save_IndexMask( GLuint mask )
+static void GLAPIENTRY save_IndexMask( GLuint mask )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -1963,7 +1963,7 @@
 }
 
 
-static void save_InitNames( void )
+static void GLAPIENTRY save_InitNames( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
@@ -1974,7 +1974,7 @@
 }
 
 
-static void save_Lightfv( GLenum light, GLenum pname, const GLfloat *params )
+static void GLAPIENTRY save_Lightfv( GLenum light, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2028,13 +2028,13 @@
 }
 
 
-static void save_Lightf( GLenum light, GLenum pname, GLfloat params )
+static void GLAPIENTRY save_Lightf( GLenum light, GLenum pname, GLfloat params )
 {
    save_Lightfv(light, pname, &params);
 }
 
 
-static void save_Lightiv( GLenum light, GLenum pname, const GLint *params )
+static void GLAPIENTRY save_Lightiv( GLenum light, GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
    switch (pname) {
@@ -2072,13 +2072,13 @@
 }
 
 
-static void save_Lighti( GLenum light, GLenum pname, GLint param )
+static void GLAPIENTRY save_Lighti( GLenum light, GLenum pname, GLint param )
 {
    save_Lightiv( light, pname, &param );
 }
 
 
-static void save_LightModelfv( GLenum pname, const GLfloat *params )
+static void GLAPIENTRY save_LightModelfv( GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2097,13 +2097,13 @@
 }
 
 
-static void save_LightModelf( GLenum pname, GLfloat param )
+static void GLAPIENTRY save_LightModelf( GLenum pname, GLfloat param )
 {
    save_LightModelfv(pname, &param);
 }
 
 
-static void save_LightModeliv( GLenum pname, const GLint *params )
+static void GLAPIENTRY save_LightModeliv( GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
    switch (pname) {
@@ -2126,13 +2126,13 @@
 }
 
 
-static void save_LightModeli( GLenum pname, GLint param )
+static void GLAPIENTRY save_LightModeli( GLenum pname, GLint param )
 {
    save_LightModeliv(pname, &param);
 }
 
 
-static void save_LineStipple( GLint factor, GLushort pattern )
+static void GLAPIENTRY save_LineStipple( GLint factor, GLushort pattern )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2148,7 +2148,7 @@
 }
 
 
-static void save_LineWidth( GLfloat width )
+static void GLAPIENTRY save_LineWidth( GLfloat width )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2163,7 +2163,7 @@
 }
 
 
-static void save_ListBase( GLuint base )
+static void GLAPIENTRY save_ListBase( GLuint base )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2178,7 +2178,7 @@
 }
 
 
-static void save_LoadIdentity( void )
+static void GLAPIENTRY save_LoadIdentity( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
@@ -2189,7 +2189,7 @@
 }
 
 
-static void save_LoadMatrixf( const GLfloat *m )
+static void GLAPIENTRY save_LoadMatrixf( const GLfloat *m )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2207,7 +2207,7 @@
 }
 
 
-static void save_LoadMatrixd( const GLdouble *m )
+static void GLAPIENTRY save_LoadMatrixd( const GLdouble *m )
 {
    GLfloat f[16];
    GLint i;
@@ -2218,7 +2218,7 @@
 }
 
 
-static void save_LoadName( GLuint name )
+static void GLAPIENTRY save_LoadName( GLuint name )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2233,7 +2233,7 @@
 }
 
 
-static void save_LogicOp( GLenum opcode )
+static void GLAPIENTRY save_LogicOp( GLenum opcode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2248,7 +2248,7 @@
 }
 
 
-static void save_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
+static void GLAPIENTRY save_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
                         GLint order, const GLdouble *points)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2269,7 +2269,7 @@
    }
 }
 
-static void save_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
+static void GLAPIENTRY save_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
                         GLint order, const GLfloat *points)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2291,7 +2291,7 @@
 }
 
 
-static void save_Map2d( GLenum target,
+static void GLAPIENTRY save_Map2d( GLenum target,
                         GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
                         GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
                         const GLdouble *points )
@@ -2323,7 +2323,7 @@
 }
 
 
-static void save_Map2f( GLenum target,
+static void GLAPIENTRY save_Map2f( GLenum target,
                         GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
                         GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
                         const GLfloat *points )
@@ -2354,7 +2354,7 @@
 }
 
 
-static void save_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
+static void GLAPIENTRY save_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2371,13 +2371,13 @@
 }
 
 
-static void save_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 )
+static void GLAPIENTRY save_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 )
 {
    save_MapGrid1f(un, (GLfloat) u1, (GLfloat) u2);
 }
 
 
-static void save_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
+static void GLAPIENTRY save_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
                             GLint vn, GLfloat v1, GLfloat v2 )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2399,7 +2399,7 @@
 
 
 
-static void save_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
+static void GLAPIENTRY save_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
                             GLint vn, GLdouble v1, GLdouble v2 )
 {
    save_MapGrid2f(un, (GLfloat) u1, (GLfloat) u2,
@@ -2407,7 +2407,7 @@
 }
 
 
-static void save_MatrixMode( GLenum mode )
+static void GLAPIENTRY save_MatrixMode( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2422,7 +2422,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2441,7 +2441,7 @@
 }
 
 
-static void save_MultMatrixf( const GLfloat *m )
+static void GLAPIENTRY save_MultMatrixf( const GLfloat *m )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2459,7 +2459,7 @@
 }
 
 
-static void save_MultMatrixd( const GLdouble *m )
+static void GLAPIENTRY save_MultMatrixd( const GLdouble *m )
 {
    GLfloat f[16];
    GLint i;
@@ -2470,7 +2470,7 @@
 }
 
 
-static void save_NewList( GLuint list, GLenum mode )
+static void GLAPIENTRY save_NewList( GLuint list, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    /* It's an error to call this function while building a display list */
@@ -2481,7 +2481,7 @@
 
 
 
-static void save_Ortho( GLdouble left, GLdouble right,
+static void GLAPIENTRY save_Ortho( GLdouble left, GLdouble right,
                     GLdouble bottom, GLdouble top,
                     GLdouble nearval, GLdouble farval )
 {
@@ -2503,7 +2503,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelMapfv( GLenum map, GLint mapsize, const GLfloat *values )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2522,7 +2522,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelMapuiv(GLenum map, GLint mapsize, const GLuint *values )
 {
    GLfloat fvalues[MAX_PIXEL_MAP_TABLE];
@@ -2541,7 +2541,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelMapusv(GLenum map, GLint mapsize, const GLushort *values)
 {
    GLfloat fvalues[MAX_PIXEL_MAP_TABLE];
@@ -2560,7 +2560,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelTransferf( GLenum pname, GLfloat param )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2577,14 +2577,14 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelTransferi( GLenum pname, GLint param )
 {
    save_PixelTransferf( pname, (GLfloat) param );
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelZoom( GLfloat xfactor, GLfloat yfactor )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2601,7 +2601,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PointParameterfvEXT( GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2620,25 +2620,25 @@
 }
 
 
-static void save_PointParameterfEXT( GLenum pname, GLfloat param )
+static void GLAPIENTRY save_PointParameterfEXT( GLenum pname, GLfloat param )
 {
    save_PointParameterfvEXT(pname, &param);
 }
 
-static void save_PointParameteriNV( GLenum pname, GLint param )
+static void GLAPIENTRY save_PointParameteriNV( GLenum pname, GLint param )
 {
    GLfloat p = (GLfloat) param;
    save_PointParameterfvEXT(pname, &p);
 }
 
-static void save_PointParameterivNV( GLenum pname, const GLint *param )
+static void GLAPIENTRY save_PointParameterivNV( GLenum pname, const GLint *param )
 {
    GLfloat p = (GLfloat) param[0];
    save_PointParameterfvEXT(pname, &p);
 }
 
 
-static void save_PointSize( GLfloat size )
+static void GLAPIENTRY save_PointSize( GLfloat size )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2653,7 +2653,7 @@
 }
 
 
-static void save_PolygonMode( GLenum face, GLenum mode )
+static void GLAPIENTRY save_PolygonMode( GLenum face, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2672,7 +2672,7 @@
 /*
  * Polygon stipple must have been upacked already!
  */
-static void save_PolygonStipple( const GLubyte *pattern )
+static void GLAPIENTRY save_PolygonStipple( const GLubyte *pattern )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2690,7 +2690,7 @@
 }
 
 
-static void save_PolygonOffset( GLfloat factor, GLfloat units )
+static void GLAPIENTRY save_PolygonOffset( GLfloat factor, GLfloat units )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2706,14 +2706,14 @@
 }
 
 
-static void save_PolygonOffsetEXT( GLfloat factor, GLfloat bias )
+static void GLAPIENTRY save_PolygonOffsetEXT( GLfloat factor, GLfloat bias )
 {
    GET_CURRENT_CONTEXT(ctx);
    save_PolygonOffset(factor, ctx->DepthMaxF * bias);
 }
 
 
-static void save_PopAttrib( void )
+static void GLAPIENTRY save_PopAttrib( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
@@ -2724,7 +2724,7 @@
 }
 
 
-static void save_PopMatrix( void )
+static void GLAPIENTRY save_PopMatrix( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
@@ -2736,7 +2736,7 @@
 }
 
 
-static void save_PopName( void )
+static void GLAPIENTRY save_PopName( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
@@ -2747,7 +2747,7 @@
 }
 
 
-static void save_PrioritizeTextures( GLsizei num, const GLuint *textures,
+static void GLAPIENTRY save_PrioritizeTextures( GLsizei num, const GLuint *textures,
                                      const GLclampf *priorities )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2768,7 +2768,7 @@
 }
 
 
-static void save_PushAttrib( GLbitfield mask )
+static void GLAPIENTRY save_PushAttrib( GLbitfield mask )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2784,7 +2784,7 @@
 }
 
 
-static void save_PushMatrix( void )
+static void GLAPIENTRY save_PushMatrix( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
@@ -2795,7 +2795,7 @@
 }
 
 
-static void save_PushName( GLuint name )
+static void GLAPIENTRY save_PushName( GLuint name )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2810,7 +2810,7 @@
 }
 
 
-static void save_RasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY save_RasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2828,125 +2828,125 @@
    }
 }
 
-static void save_RasterPos2d(GLdouble x, GLdouble y)
+static void GLAPIENTRY save_RasterPos2d(GLdouble x, GLdouble y)
 {
    save_RasterPos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-static void save_RasterPos2f(GLfloat x, GLfloat y)
+static void GLAPIENTRY save_RasterPos2f(GLfloat x, GLfloat y)
 {
    save_RasterPos4f(x, y, 0.0F, 1.0F);
 }
 
-static void save_RasterPos2i(GLint x, GLint y)
+static void GLAPIENTRY save_RasterPos2i(GLint x, GLint y)
 {
    save_RasterPos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-static void save_RasterPos2s(GLshort x, GLshort y)
+static void GLAPIENTRY save_RasterPos2s(GLshort x, GLshort y)
 {
    save_RasterPos4f(x, y, 0.0F, 1.0F);
 }
 
-static void save_RasterPos3d(GLdouble x, GLdouble y, GLdouble z)
+static void GLAPIENTRY save_RasterPos3d(GLdouble x, GLdouble y, GLdouble z)
 {
    save_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-static void save_RasterPos3f(GLfloat x, GLfloat y, GLfloat z)
+static void GLAPIENTRY save_RasterPos3f(GLfloat x, GLfloat y, GLfloat z)
 {
    save_RasterPos4f(x, y, z, 1.0F);
 }
 
-static void save_RasterPos3i(GLint x, GLint y, GLint z)
+static void GLAPIENTRY save_RasterPos3i(GLint x, GLint y, GLint z)
 {
    save_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-static void save_RasterPos3s(GLshort x, GLshort y, GLshort z)
+static void GLAPIENTRY save_RasterPos3s(GLshort x, GLshort y, GLshort z)
 {
    save_RasterPos4f(x, y, z, 1.0F);
 }
 
-static void save_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+static void GLAPIENTRY save_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
    save_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-static void save_RasterPos4i(GLint x, GLint y, GLint z, GLint w)
+static void GLAPIENTRY save_RasterPos4i(GLint x, GLint y, GLint z, GLint w)
 {
    save_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-static void save_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
+static void GLAPIENTRY save_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
 {
    save_RasterPos4f(x, y, z, w);
 }
 
-static void save_RasterPos2dv(const GLdouble *v)
+static void GLAPIENTRY save_RasterPos2dv(const GLdouble *v)
 {
    save_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void save_RasterPos2fv(const GLfloat *v)
+static void GLAPIENTRY save_RasterPos2fv(const GLfloat *v)
 {
    save_RasterPos4f(v[0], v[1], 0.0F, 1.0F);
 }
 
-static void save_RasterPos2iv(const GLint *v)
+static void GLAPIENTRY save_RasterPos2iv(const GLint *v)
 {
    save_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void save_RasterPos2sv(const GLshort *v)
+static void GLAPIENTRY save_RasterPos2sv(const GLshort *v)
 {
    save_RasterPos4f(v[0], v[1], 0.0F, 1.0F);
 }
 
-static void save_RasterPos3dv(const GLdouble *v)
+static void GLAPIENTRY save_RasterPos3dv(const GLdouble *v)
 {
    save_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-static void save_RasterPos3fv(const GLfloat *v)
+static void GLAPIENTRY save_RasterPos3fv(const GLfloat *v)
 {
    save_RasterPos4f(v[0], v[1], v[2], 1.0F);
 }
 
-static void save_RasterPos3iv(const GLint *v)
+static void GLAPIENTRY save_RasterPos3iv(const GLint *v)
 {
    save_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-static void save_RasterPos3sv(const GLshort *v)
+static void GLAPIENTRY save_RasterPos3sv(const GLshort *v)
 {
    save_RasterPos4f(v[0], v[1], v[2], 1.0F);
 }
 
-static void save_RasterPos4dv(const GLdouble *v)
+static void GLAPIENTRY save_RasterPos4dv(const GLdouble *v)
 {
    save_RasterPos4f((GLfloat) v[0], (GLfloat) v[1],
 		    (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void save_RasterPos4fv(const GLfloat *v)
+static void GLAPIENTRY save_RasterPos4fv(const GLfloat *v)
 {
    save_RasterPos4f(v[0], v[1], v[2], v[3]);
 }
 
-static void save_RasterPos4iv(const GLint *v)
+static void GLAPIENTRY save_RasterPos4iv(const GLint *v)
 {
    save_RasterPos4f((GLfloat) v[0], (GLfloat) v[1],
 		    (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void save_RasterPos4sv(const GLshort *v)
+static void GLAPIENTRY save_RasterPos4sv(const GLshort *v)
 {
    save_RasterPos4f(v[0], v[1], v[2], v[3]);
 }
 
 
-static void save_PassThrough( GLfloat token )
+static void GLAPIENTRY save_PassThrough( GLfloat token )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2961,7 +2961,7 @@
 }
 
 
-static void save_ReadBuffer( GLenum mode )
+static void GLAPIENTRY save_ReadBuffer( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -2976,7 +2976,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ResetHistogram(GLenum target)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2992,7 +2992,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ResetMinmax(GLenum target)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -3008,7 +3008,7 @@
 }
 
 
-static void save_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3026,13 +3026,13 @@
 }
 
 
-static void save_Rotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z )
+static void GLAPIENTRY save_Rotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z )
 {
    save_Rotatef((GLfloat) angle, (GLfloat) x, (GLfloat) y, (GLfloat) z);
 }
 
 
-static void save_Scalef( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_Scalef( GLfloat x, GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3049,13 +3049,13 @@
 }
 
 
-static void save_Scaled( GLdouble x, GLdouble y, GLdouble z )
+static void GLAPIENTRY save_Scaled( GLdouble x, GLdouble y, GLdouble z )
 {
    save_Scalef((GLfloat) x, (GLfloat) y, (GLfloat) z);
 }
 
 
-static void save_Scissor( GLint x, GLint y, GLsizei width, GLsizei height )
+static void GLAPIENTRY save_Scissor( GLint x, GLint y, GLsizei width, GLsizei height )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3073,7 +3073,7 @@
 }
 
 
-static void save_ShadeModel( GLenum mode )
+static void GLAPIENTRY save_ShadeModel( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3088,7 +3088,7 @@
 }
 
 
-static void save_StencilFunc( GLenum func, GLint ref, GLuint mask )
+static void GLAPIENTRY save_StencilFunc( GLenum func, GLint ref, GLuint mask )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3105,7 +3105,7 @@
 }
 
 
-static void save_StencilMask( GLuint mask )
+static void GLAPIENTRY save_StencilMask( GLuint mask )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3120,7 +3120,7 @@
 }
 
 
-static void save_StencilOp( GLenum fail, GLenum zfail, GLenum zpass )
+static void GLAPIENTRY save_StencilOp( GLenum fail, GLenum zfail, GLenum zpass )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3137,7 +3137,7 @@
 }
 
 
-static void save_TexEnvfv( GLenum target, GLenum pname, const GLfloat *params )
+static void GLAPIENTRY save_TexEnvfv( GLenum target, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3157,13 +3157,13 @@
 }
 
 
-static void save_TexEnvf( GLenum target, GLenum pname, GLfloat param )
+static void GLAPIENTRY save_TexEnvf( GLenum target, GLenum pname, GLfloat param )
 {
    save_TexEnvfv( target, pname, &param );
 }
 
 
-static void save_TexEnvi( GLenum target, GLenum pname, GLint param )
+static void GLAPIENTRY save_TexEnvi( GLenum target, GLenum pname, GLint param )
 {
    GLfloat p[4];
    p[0] = (GLfloat) param;
@@ -3172,7 +3172,7 @@
 }
 
 
-static void save_TexEnviv( GLenum target, GLenum pname, const GLint *param )
+static void GLAPIENTRY save_TexEnviv( GLenum target, GLenum pname, const GLint *param )
 {
    GLfloat p[4];
    p[0] = INT_TO_FLOAT( param[0] );
@@ -3183,7 +3183,7 @@
 }
 
 
-static void save_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params )
+static void GLAPIENTRY save_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3203,7 +3203,7 @@
 }
 
 
-static void save_TexGeniv(GLenum coord, GLenum pname, const GLint *params )
+static void GLAPIENTRY save_TexGeniv(GLenum coord, GLenum pname, const GLint *params )
 {
    GLfloat p[4];
    p[0] = (GLfloat) params[0];
@@ -3214,14 +3214,14 @@
 }
 
 
-static void save_TexGend(GLenum coord, GLenum pname, GLdouble param )
+static void GLAPIENTRY save_TexGend(GLenum coord, GLenum pname, GLdouble param )
 {
    GLfloat p = (GLfloat) param;
    save_TexGenfv( coord, pname, &p );
 }
 
 
-static void save_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
+static void GLAPIENTRY save_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
 {
    GLfloat p[4];
    p[0] = (GLfloat) params[0];
@@ -3232,19 +3232,19 @@
 }
 
 
-static void save_TexGenf( GLenum coord, GLenum pname, GLfloat param )
+static void GLAPIENTRY save_TexGenf( GLenum coord, GLenum pname, GLfloat param )
 {
    save_TexGenfv(coord, pname, &param);
 }
 
 
-static void save_TexGeni( GLenum coord, GLenum pname, GLint param )
+static void GLAPIENTRY save_TexGeni( GLenum coord, GLenum pname, GLint param )
 {
    save_TexGeniv( coord, pname, &param );
 }
 
 
-static void save_TexParameterfv( GLenum target,
+static void GLAPIENTRY save_TexParameterfv( GLenum target,
                              GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -3265,13 +3265,13 @@
 }
 
 
-static void save_TexParameterf( GLenum target, GLenum pname, GLfloat param )
+static void GLAPIENTRY save_TexParameterf( GLenum target, GLenum pname, GLfloat param )
 {
    save_TexParameterfv(target, pname, &param);
 }
 
 
-static void save_TexParameteri( GLenum target, GLenum pname, GLint param )
+static void GLAPIENTRY save_TexParameteri( GLenum target, GLenum pname, GLint param )
 {
    GLfloat fparam[4];
    fparam[0] = (GLfloat) param;
@@ -3280,7 +3280,7 @@
 }
 
 
-static void save_TexParameteriv( GLenum target, GLenum pname, const GLint *params )
+static void GLAPIENTRY save_TexParameteriv( GLenum target, GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
    fparam[0] = (GLfloat) params[0];
@@ -3289,7 +3289,7 @@
 }
 
 
-static void save_TexImage1D( GLenum target,
+static void GLAPIENTRY save_TexImage1D( GLenum target,
                              GLint level, GLint components,
                              GLsizei width, GLint border,
                              GLenum format, GLenum type,
@@ -3328,7 +3328,7 @@
 }
 
 
-static void save_TexImage2D( GLenum target,
+static void GLAPIENTRY save_TexImage2D( GLenum target,
                              GLint level, GLint components,
                              GLsizei width, GLsizei height, GLint border,
                              GLenum format, GLenum type,
@@ -3368,7 +3368,7 @@
 }
 
 
-static void save_TexImage3D( GLenum target,
+static void GLAPIENTRY save_TexImage3D( GLenum target,
                              GLint level, GLint internalFormat,
                              GLsizei width, GLsizei height, GLsizei depth,
                              GLint border,
@@ -3410,7 +3410,7 @@
 }
 
 
-static void save_TexSubImage1D( GLenum target, GLint level, GLint xoffset,
+static void GLAPIENTRY save_TexSubImage1D( GLenum target, GLint level, GLint xoffset,
                                 GLsizei width, GLenum format, GLenum type,
                                 const GLvoid *pixels )
 {
@@ -3439,7 +3439,7 @@
 }
 
 
-static void save_TexSubImage2D( GLenum target, GLint level,
+static void GLAPIENTRY save_TexSubImage2D( GLenum target, GLint level,
                                 GLint xoffset, GLint yoffset,
                                 GLsizei width, GLsizei height,
                                 GLenum format, GLenum type,
@@ -3472,7 +3472,7 @@
 }
 
 
-static void save_TexSubImage3D( GLenum target, GLint level,
+static void GLAPIENTRY save_TexSubImage3D( GLenum target, GLint level,
                                 GLint xoffset, GLint yoffset,GLint zoffset,
                                 GLsizei width, GLsizei height, GLsizei depth,
                                 GLenum format, GLenum type,
@@ -3508,7 +3508,7 @@
 }
 
 
-static void save_Translatef( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_Translatef( GLfloat x, GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3525,14 +3525,14 @@
 }
 
 
-static void save_Translated( GLdouble x, GLdouble y, GLdouble z )
+static void GLAPIENTRY save_Translated( GLdouble x, GLdouble y, GLdouble z )
 {
    save_Translatef((GLfloat) x, (GLfloat) y, (GLfloat) z);
 }
 
 
 
-static void save_Viewport( GLint x, GLint y, GLsizei width, GLsizei height )
+static void GLAPIENTRY save_Viewport( GLint x, GLint y, GLsizei width, GLsizei height )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3550,7 +3550,7 @@
 }
 
 
-static void save_WindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY save_WindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3568,119 +3568,119 @@
    }
 }
 
-static void save_WindowPos2dMESA(GLdouble x, GLdouble y)
+static void GLAPIENTRY save_WindowPos2dMESA(GLdouble x, GLdouble y)
 {
    save_WindowPos4fMESA((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-static void save_WindowPos2fMESA(GLfloat x, GLfloat y)
+static void GLAPIENTRY save_WindowPos2fMESA(GLfloat x, GLfloat y)
 {
    save_WindowPos4fMESA(x, y, 0.0F, 1.0F);
 }
 
-static void save_WindowPos2iMESA(GLint x, GLint y)
+static void GLAPIENTRY save_WindowPos2iMESA(GLint x, GLint y)
 {
    save_WindowPos4fMESA((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-static void save_WindowPos2sMESA(GLshort x, GLshort y)
+static void GLAPIENTRY save_WindowPos2sMESA(GLshort x, GLshort y)
 {
    save_WindowPos4fMESA(x, y, 0.0F, 1.0F);
 }
 
-static void save_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z)
+static void GLAPIENTRY save_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z)
 {
    save_WindowPos4fMESA((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-static void save_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z)
+static void GLAPIENTRY save_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z)
 {
    save_WindowPos4fMESA(x, y, z, 1.0F);
 }
 
-static void save_WindowPos3iMESA(GLint x, GLint y, GLint z)
+static void GLAPIENTRY save_WindowPos3iMESA(GLint x, GLint y, GLint z)
 {
    save_WindowPos4fMESA((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-static void save_WindowPos3sMESA(GLshort x, GLshort y, GLshort z)
+static void GLAPIENTRY save_WindowPos3sMESA(GLshort x, GLshort y, GLshort z)
 {
    save_WindowPos4fMESA(x, y, z, 1.0F);
 }
 
-static void save_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
+static void GLAPIENTRY save_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
    save_WindowPos4fMESA((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-static void save_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w)
+static void GLAPIENTRY save_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w)
 {
    save_WindowPos4fMESA((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-static void save_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w)
+static void GLAPIENTRY save_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w)
 {
    save_WindowPos4fMESA(x, y, z, w);
 }
 
-static void save_WindowPos2dvMESA(const GLdouble *v)
+static void GLAPIENTRY save_WindowPos2dvMESA(const GLdouble *v)
 {
    save_WindowPos4fMESA((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void save_WindowPos2fvMESA(const GLfloat *v)
+static void GLAPIENTRY save_WindowPos2fvMESA(const GLfloat *v)
 {
    save_WindowPos4fMESA(v[0], v[1], 0.0F, 1.0F);
 }
 
-static void save_WindowPos2ivMESA(const GLint *v)
+static void GLAPIENTRY save_WindowPos2ivMESA(const GLint *v)
 {
    save_WindowPos4fMESA((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-static void save_WindowPos2svMESA(const GLshort *v)
+static void GLAPIENTRY save_WindowPos2svMESA(const GLshort *v)
 {
    save_WindowPos4fMESA(v[0], v[1], 0.0F, 1.0F);
 }
 
-static void save_WindowPos3dvMESA(const GLdouble *v)
+static void GLAPIENTRY save_WindowPos3dvMESA(const GLdouble *v)
 {
    save_WindowPos4fMESA((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-static void save_WindowPos3fvMESA(const GLfloat *v)
+static void GLAPIENTRY save_WindowPos3fvMESA(const GLfloat *v)
 {
    save_WindowPos4fMESA(v[0], v[1], v[2], 1.0F);
 }
 
-static void save_WindowPos3ivMESA(const GLint *v)
+static void GLAPIENTRY save_WindowPos3ivMESA(const GLint *v)
 {
    save_WindowPos4fMESA((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-static void save_WindowPos3svMESA(const GLshort *v)
+static void GLAPIENTRY save_WindowPos3svMESA(const GLshort *v)
 {
    save_WindowPos4fMESA(v[0], v[1], v[2], 1.0F);
 }
 
-static void save_WindowPos4dvMESA(const GLdouble *v)
+static void GLAPIENTRY save_WindowPos4dvMESA(const GLdouble *v)
 {
    save_WindowPos4fMESA((GLfloat) v[0], (GLfloat) v[1],
 			(GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void save_WindowPos4fvMESA(const GLfloat *v)
+static void GLAPIENTRY save_WindowPos4fvMESA(const GLfloat *v)
 {
    save_WindowPos4fMESA(v[0], v[1], v[2], v[3]);
 }
 
-static void save_WindowPos4ivMESA(const GLint *v)
+static void GLAPIENTRY save_WindowPos4ivMESA(const GLint *v)
 {
    save_WindowPos4fMESA((GLfloat) v[0], (GLfloat) v[1],
 			(GLfloat) v[2], (GLfloat) v[3]);
 }
 
-static void save_WindowPos4svMESA(const GLshort *v)
+static void GLAPIENTRY save_WindowPos4svMESA(const GLshort *v)
 {
    save_WindowPos4fMESA(v[0], v[1], v[2], v[3]);
 }
@@ -3688,7 +3688,7 @@
 
 
 /* GL_ARB_multitexture */
-static void save_ActiveTextureARB( GLenum target )
+static void GLAPIENTRY save_ActiveTextureARB( GLenum target )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -3705,7 +3705,7 @@
 
 /* GL_ARB_transpose_matrix */
 
-static void save_LoadTransposeMatrixdARB( const GLdouble m[16] )
+static void GLAPIENTRY save_LoadTransposeMatrixdARB( const GLdouble m[16] )
 {
    GLfloat tm[16];
    _math_transposefd(tm, m);
@@ -3713,7 +3713,7 @@
 }
 
 
-static void save_LoadTransposeMatrixfARB( const GLfloat m[16] )
+static void GLAPIENTRY save_LoadTransposeMatrixfARB( const GLfloat m[16] )
 {
    GLfloat tm[16];
    _math_transposef(tm, m);
@@ -3721,7 +3721,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_MultTransposeMatrixdARB( const GLdouble m[16] )
 {
    GLfloat tm[16];
@@ -3730,7 +3730,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_MultTransposeMatrixfARB( const GLfloat m[16] )
 {
    GLfloat tm[16];
@@ -3739,7 +3739,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelTexGenSGIX(GLenum mode)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -3756,7 +3756,7 @@
 
 
 /* GL_ARB_texture_compression */
-static void
+static void GLAPIENTRY
 save_CompressedTexImage1DARB(GLenum target, GLint level,
                              GLenum internalFormat, GLsizei width,
                              GLint border, GLsizei imageSize,
@@ -3800,7 +3800,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CompressedTexImage2DARB(GLenum target, GLint level,
                              GLenum internalFormat, GLsizei width,
                              GLsizei height, GLint border, GLsizei imageSize,
@@ -3845,7 +3845,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CompressedTexImage3DARB(GLenum target, GLint level,
                              GLenum internalFormat, GLsizei width,
                              GLsizei height, GLsizei depth, GLint border,
@@ -3891,7 +3891,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset,
                                 GLsizei width, GLenum format,
                                 GLsizei imageSize, const GLvoid *data)
@@ -3929,7 +3929,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset,
                                 GLint yoffset, GLsizei width, GLsizei height,
                                 GLenum format, GLsizei imageSize,
@@ -3970,7 +3970,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
                                 GLint yoffset, GLint zoffset, GLsizei width,
                                 GLsizei height, GLsizei depth, GLenum format,
@@ -4014,7 +4014,7 @@
 
 
 /* GL_ARB_multisample */
-static void
+static void GLAPIENTRY
 save_SampleCoverageARB(GLclampf value, GLboolean invert)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -4033,7 +4033,7 @@
 
 /* GL_SGIS_pixel_texture */
 
-static void
+static void GLAPIENTRY
 save_PixelTexGenParameteriSGIS(GLenum target, GLint value)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -4050,21 +4050,21 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelTexGenParameterfSGIS(GLenum target, GLfloat value)
 {
    save_PixelTexGenParameteriSGIS(target, (GLint) value);
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelTexGenParameterivSGIS(GLenum target, const GLint *value)
 {
    save_PixelTexGenParameteriSGIS(target, *value);
 }
 
 
-static void
+static void GLAPIENTRY
 save_PixelTexGenParameterfvSGIS(GLenum target, const GLfloat *value)
 {
    save_PixelTexGenParameteriSGIS(target, (GLint) *value);
@@ -4075,7 +4075,7 @@
  * GL_NV_vertex_program
  */
 #if FEATURE_NV_vertex_program
-static void
+static void GLAPIENTRY
 save_BindProgramNV(GLenum target, GLuint id)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -4091,7 +4091,7 @@
    }
 }
 
-static void
+static void GLAPIENTRY
 save_ExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -4112,7 +4112,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramParameter4fNV(GLenum target, GLuint index,
                           GLfloat x, GLfloat y,
                           GLfloat z, GLfloat w)
@@ -4135,7 +4135,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *params)
 {
    save_ProgramParameter4fNV(target, index, params[0], params[1],
@@ -4143,7 +4143,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramParameter4dNV(GLenum target, GLuint index,
                           GLdouble x, GLdouble y,
                           GLdouble z, GLdouble w)
@@ -4153,7 +4153,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramParameter4dvNV(GLenum target, GLuint index,
                            const GLdouble *params)
 {
@@ -4163,7 +4163,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramParameters4dvNV(GLenum target, GLuint index,
                             GLuint num, const GLdouble *params)
 {
@@ -4174,7 +4174,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramParameters4fvNV(GLenum target, GLuint index,
                             GLuint num, const GLfloat *params)
 {
@@ -4185,7 +4185,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_LoadProgramNV(GLenum target, GLuint id, GLsizei len,
                    const GLubyte *program)
 {
@@ -4214,7 +4214,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_RequestResidentProgramsNV(GLsizei num, const GLuint *ids)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -4237,7 +4237,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_TrackMatrixNV(GLenum target, GLuint address,
                    GLenum matrix, GLenum transform)
 {
@@ -4262,7 +4262,7 @@
  * GL_NV_fragment_program
  */
 #if FEATURE_NV_fragment_program
-static void
+static void GLAPIENTRY
 save_ProgramLocalParameter4fARB(GLenum target, GLuint index,
                                 GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -4284,7 +4284,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramLocalParameter4fvARB(GLenum target, GLuint index,
                                  const GLfloat *params)
 {
@@ -4306,7 +4306,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramLocalParameter4dARB(GLenum target, GLuint index,
                                 GLdouble x, GLdouble y,
                                 GLdouble z, GLdouble w)
@@ -4329,7 +4329,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramLocalParameter4dvARB(GLenum target, GLuint index,
                                  const GLdouble *params)
 {
@@ -4350,7 +4350,7 @@
    }
 }
 
-static void
+static void GLAPIENTRY
 save_ProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name,
                                GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -4380,7 +4380,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name,
                                 const float v[])
 {
@@ -4388,7 +4388,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name,
                                GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
@@ -4397,7 +4397,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name,
                                 const double v[])
 {
@@ -4411,7 +4411,7 @@
 
 
 /* GL_EXT_stencil_two_side */
-static void save_ActiveStencilFaceEXT( GLenum face )
+static void GLAPIENTRY save_ActiveStencilFaceEXT( GLenum face )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -4427,7 +4427,7 @@
 
 
 /* GL_EXT_depth_bounds_test */
-static void save_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
+static void GLAPIENTRY save_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
 {
    GET_CURRENT_CONTEXT(ctx);
    Node *n;
@@ -4446,7 +4446,7 @@
 
 #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
 
-static void
+static void GLAPIENTRY
 save_ProgramStringARB(GLenum target, GLenum format, GLsizei len,
                       const GLvoid *string)
 {
@@ -4475,7 +4475,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramEnvParameter4fARB(GLenum target, GLuint index,
                               GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -4497,7 +4497,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramEnvParameter4fvARB(GLenum target, GLuint index,
                                const GLfloat *params)
 {
@@ -4506,7 +4506,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramEnvParameter4dARB(GLenum target, GLuint index,
                               GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
@@ -4518,7 +4518,7 @@
 }
 
 
-static void
+static void GLAPIENTRY
 save_ProgramEnvParameter4dvARB(GLenum target, GLuint index,
                                const GLdouble *params)
 {
@@ -4590,7 +4590,7 @@
  * the absolute list number, not relative to ListBase.
  * \param list - display list number
  */
-static void
+static void GLAPIENTRY
 execute_list( GLcontext *ctx, GLuint list )
 {
    Node *n;
@@ -5332,7 +5332,7 @@
 /*
  * Test if a display list number is valid.
  */
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_IsList( GLuint list )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5345,7 +5345,7 @@
 /*
  * Delete a sequence of consecutive display lists.
  */
-void
+void GLAPIENTRY
 _mesa_DeleteLists( GLuint list, GLsizei range )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5368,7 +5368,7 @@
  * Return a display list number, n, such that lists n through n+range-1
  * are free.
  */
-GLuint
+GLuint GLAPIENTRY
 _mesa_GenLists(GLsizei range )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5408,7 +5408,7 @@
 /*
  * Begin a new display list.
  */
-void
+void GLAPIENTRY
 _mesa_NewList( GLuint list, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5456,7 +5456,7 @@
  * ASSERT_OUTSIDE_BEGIN_END strong enough to really guarentee that
  * we are outside begin/end calls?
  */
-void
+void GLAPIENTRY
 _mesa_EndList( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5496,7 +5496,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CallList( GLuint list )
 {
    GLboolean save_compile_flag;
@@ -5535,7 +5535,7 @@
 /*
  * Execute glCallLists:  call multiple display lists.
  */
-void
+void GLAPIENTRY
 _mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5589,7 +5589,7 @@
 /*
  * Set the offset added to list numbers in glCallLists.
  */
-void
+void GLAPIENTRY
 _mesa_ListBase( GLuint base )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5601,182 +5601,182 @@
 
 /* Can no longer assume ctx->Exec->Func is equal to _mesa_Func.
  */
-static void exec_Finish( void )
+static void GLAPIENTRY exec_Finish( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->Finish();
 }
 
-static void exec_Flush( void )
+static void GLAPIENTRY exec_Flush( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->Flush( );
 }
 
-static void exec_GetBooleanv( GLenum pname, GLboolean *params )
+static void GLAPIENTRY exec_GetBooleanv( GLenum pname, GLboolean *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetBooleanv( pname, params );
 }
 
-static void exec_GetClipPlane( GLenum plane, GLdouble *equation )
+static void GLAPIENTRY exec_GetClipPlane( GLenum plane, GLdouble *equation )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetClipPlane( plane, equation );
 }
 
-static void exec_GetDoublev( GLenum pname, GLdouble *params )
+static void GLAPIENTRY exec_GetDoublev( GLenum pname, GLdouble *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetDoublev(  pname, params );
 }
 
-static GLenum exec_GetError( void )
+static GLenum GLAPIENTRY exec_GetError( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    return ctx->Exec->GetError( );
 }
 
-static void exec_GetFloatv( GLenum pname, GLfloat *params )
+static void GLAPIENTRY exec_GetFloatv( GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetFloatv( pname, params );
 }
 
-static void exec_GetIntegerv( GLenum pname, GLint *params )
+static void GLAPIENTRY exec_GetIntegerv( GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetIntegerv( pname, params );
 }
 
-static void exec_GetLightfv( GLenum light, GLenum pname, GLfloat *params )
+static void GLAPIENTRY exec_GetLightfv( GLenum light, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetLightfv( light, pname, params );
 }
 
-static void exec_GetLightiv( GLenum light, GLenum pname, GLint *params )
+static void GLAPIENTRY exec_GetLightiv( GLenum light, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetLightiv( light, pname, params );
 }
 
-static void exec_GetMapdv( GLenum target, GLenum query, GLdouble *v )
+static void GLAPIENTRY exec_GetMapdv( GLenum target, GLenum query, GLdouble *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetMapdv( target, query, v );
 }
 
-static void exec_GetMapfv( GLenum target, GLenum query, GLfloat *v )
+static void GLAPIENTRY exec_GetMapfv( GLenum target, GLenum query, GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetMapfv( target, query, v );
 }
 
-static void exec_GetMapiv( GLenum target, GLenum query, GLint *v )
+static void GLAPIENTRY exec_GetMapiv( GLenum target, GLenum query, GLint *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetMapiv( target, query, v );
 }
 
-static void exec_GetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
+static void GLAPIENTRY exec_GetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetMaterialfv( face, pname, params );
 }
 
-static void exec_GetMaterialiv( GLenum face, GLenum pname, GLint *params )
+static void GLAPIENTRY exec_GetMaterialiv( GLenum face, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetMaterialiv( face, pname, params );
 }
 
-static void exec_GetPixelMapfv( GLenum map, GLfloat *values )
+static void GLAPIENTRY exec_GetPixelMapfv( GLenum map, GLfloat *values )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPixelMapfv( map,  values );
 }
 
-static void exec_GetPixelMapuiv( GLenum map, GLuint *values )
+static void GLAPIENTRY exec_GetPixelMapuiv( GLenum map, GLuint *values )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPixelMapuiv( map, values );
 }
 
-static void exec_GetPixelMapusv( GLenum map, GLushort *values )
+static void GLAPIENTRY exec_GetPixelMapusv( GLenum map, GLushort *values )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPixelMapusv( map, values );
 }
 
-static void exec_GetPolygonStipple( GLubyte *dest )
+static void GLAPIENTRY exec_GetPolygonStipple( GLubyte *dest )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPolygonStipple( dest );
 }
 
-static const GLubyte *exec_GetString( GLenum name )
+static const GLubyte * GLAPIENTRY exec_GetString( GLenum name )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    return ctx->Exec->GetString( name );
 }
 
-static void exec_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params )
+static void GLAPIENTRY exec_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetTexEnvfv( target, pname, params );
 }
 
-static void exec_GetTexEnviv( GLenum target, GLenum pname, GLint *params )
+static void GLAPIENTRY exec_GetTexEnviv( GLenum target, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetTexEnviv( target, pname, params );
 }
 
-static void exec_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
+static void GLAPIENTRY exec_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetTexGendv( coord, pname, params );
 }
 
-static void exec_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params )
+static void GLAPIENTRY exec_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetTexGenfv( coord, pname, params );
 }
 
-static void exec_GetTexGeniv( GLenum coord, GLenum pname, GLint *params )
+static void GLAPIENTRY exec_GetTexGeniv( GLenum coord, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetTexGeniv( coord, pname, params );
 }
 
-static void exec_GetTexImage( GLenum target, GLint level, GLenum format,
+static void GLAPIENTRY exec_GetTexImage( GLenum target, GLint level, GLenum format,
                    GLenum type, GLvoid *pixels )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5784,7 +5784,7 @@
    ctx->Exec->GetTexImage( target, level, format, type, pixels );
 }
 
-static void exec_GetTexLevelParameterfv( GLenum target, GLint level,
+static void GLAPIENTRY exec_GetTexLevelParameterfv( GLenum target, GLint level,
                               GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5792,7 +5792,7 @@
    ctx->Exec->GetTexLevelParameterfv( target, level, pname, params );
 }
 
-static void exec_GetTexLevelParameteriv( GLenum target, GLint level,
+static void GLAPIENTRY exec_GetTexLevelParameteriv( GLenum target, GLint level,
                               GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5800,7 +5800,7 @@
    ctx->Exec->GetTexLevelParameteriv( target, level, pname, params );
 }
 
-static void exec_GetTexParameterfv( GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetTexParameterfv( GLenum target, GLenum pname,
 				    GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5808,35 +5808,35 @@
    ctx->Exec->GetTexParameterfv( target, pname, params );
 }
 
-static void exec_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
+static void GLAPIENTRY exec_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetTexParameteriv( target, pname, params );
 }
 
-static GLboolean exec_IsEnabled( GLenum cap )
+static GLboolean GLAPIENTRY exec_IsEnabled( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    return ctx->Exec->IsEnabled( cap );
 }
 
-static void exec_PixelStoref( GLenum pname, GLfloat param )
+static void GLAPIENTRY exec_PixelStoref( GLenum pname, GLfloat param )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->PixelStoref( pname, param );
 }
 
-static void exec_PixelStorei( GLenum pname, GLint param )
+static void GLAPIENTRY exec_PixelStorei( GLenum pname, GLint param )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->PixelStorei( pname, param );
 }
 
-static void exec_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
+static void GLAPIENTRY exec_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
 		  GLenum format, GLenum type, GLvoid *pixels )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5844,28 +5844,28 @@
    ctx->Exec->ReadPixels( x, y, width, height, format, type, pixels );
 }
 
-static GLint exec_RenderMode( GLenum mode )
+static GLint GLAPIENTRY exec_RenderMode( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    return ctx->Exec->RenderMode( mode );
 }
 
-static void exec_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
+static void GLAPIENTRY exec_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->FeedbackBuffer( size, type, buffer );
 }
 
-static void exec_SelectBuffer( GLsizei size, GLuint *buffer )
+static void GLAPIENTRY exec_SelectBuffer( GLsizei size, GLuint *buffer )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->SelectBuffer( size, buffer );
 }
 
-static GLboolean exec_AreTexturesResident(GLsizei n, const GLuint *texName,
+static GLboolean GLAPIENTRY exec_AreTexturesResident(GLsizei n, const GLuint *texName,
 					  GLboolean *residences)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5873,7 +5873,7 @@
    return ctx->Exec->AreTexturesResident( n, texName, residences);
 }
 
-static void exec_ColorPointer(GLint size, GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_ColorPointer(GLint size, GLenum type, GLsizei stride,
 			      const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5881,56 +5881,56 @@
    ctx->Exec->ColorPointer( size, type, stride, ptr);
 }
 
-static void exec_DeleteTextures( GLsizei n, const GLuint *texName)
+static void GLAPIENTRY exec_DeleteTextures( GLsizei n, const GLuint *texName)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->DeleteTextures( n, texName);
 }
 
-static void exec_DisableClientState( GLenum cap )
+static void GLAPIENTRY exec_DisableClientState( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->DisableClientState( cap );
 }
 
-static void exec_EdgeFlagPointer(GLsizei stride, const GLvoid *vptr)
+static void GLAPIENTRY exec_EdgeFlagPointer(GLsizei stride, const GLvoid *vptr)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->EdgeFlagPointer( stride, vptr);
 }
 
-static void exec_EnableClientState( GLenum cap )
+static void GLAPIENTRY exec_EnableClientState( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->EnableClientState( cap );
 }
 
-static void exec_GenTextures( GLsizei n, GLuint *texName )
+static void GLAPIENTRY exec_GenTextures( GLsizei n, GLuint *texName )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GenTextures( n, texName );
 }
 
-static void exec_GetPointerv( GLenum pname, GLvoid **params )
+static void GLAPIENTRY exec_GetPointerv( GLenum pname, GLvoid **params )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPointerv( pname, params );
 }
 
-static void exec_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr)
+static void GLAPIENTRY exec_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->IndexPointer( type, stride, ptr);
 }
 
-static void exec_InterleavedArrays(GLenum format, GLsizei stride,
+static void GLAPIENTRY exec_InterleavedArrays(GLenum format, GLsizei stride,
 				   const GLvoid *pointer)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5938,35 +5938,35 @@
    ctx->Exec->InterleavedArrays( format, stride, pointer);
 }
 
-static GLboolean exec_IsTexture( GLuint texture )
+static GLboolean GLAPIENTRY exec_IsTexture( GLuint texture )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    return ctx->Exec->IsTexture( texture );
 }
 
-static void exec_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
+static void GLAPIENTRY exec_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->NormalPointer( type, stride, ptr );
 }
 
-static void exec_PopClientAttrib(void)
+static void GLAPIENTRY exec_PopClientAttrib(void)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->PopClientAttrib();
 }
 
-static void exec_PushClientAttrib(GLbitfield mask)
+static void GLAPIENTRY exec_PushClientAttrib(GLbitfield mask)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->PushClientAttrib( mask);
 }
 
-static void exec_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
 				 const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5974,7 +5974,7 @@
    ctx->Exec->TexCoordPointer( size,  type,  stride, ptr);
 }
 
-static void exec_GetCompressedTexImageARB(GLenum target, GLint level,
+static void GLAPIENTRY exec_GetCompressedTexImageARB(GLenum target, GLint level,
 					  GLvoid *img)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5982,7 +5982,7 @@
    ctx->Exec->GetCompressedTexImageARB( target, level, img);
 }
 
-static void exec_VertexPointer(GLint size, GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_VertexPointer(GLint size, GLenum type, GLsizei stride,
 			       const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5990,7 +5990,7 @@
    ctx->Exec->VertexPointer( size, type, stride, ptr);
 }
 
-static void exec_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat,
+static void GLAPIENTRY exec_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat,
 					 GLint x, GLint y, GLsizei width)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -5998,7 +5998,7 @@
    ctx->Exec->CopyConvolutionFilter1D( target, internalFormat, x, y, width);
 }
 
-static void exec_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat,
+static void GLAPIENTRY exec_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat,
 					 GLint x, GLint y, GLsizei width,
 					 GLsizei height)
 {
@@ -6008,7 +6008,7 @@
 				       height);
 }
 
-static void exec_GetColorTable( GLenum target, GLenum format,
+static void GLAPIENTRY exec_GetColorTable( GLenum target, GLenum format,
 				GLenum type, GLvoid *data )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6016,7 +6016,7 @@
    ctx->Exec->GetColorTable( target, format, type, data );
 }
 
-static void exec_GetColorTableParameterfv( GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetColorTableParameterfv( GLenum target, GLenum pname,
 					   GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6024,7 +6024,7 @@
    ctx->Exec->GetColorTableParameterfv( target, pname, params );
 }
 
-static void exec_GetColorTableParameteriv( GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetColorTableParameteriv( GLenum target, GLenum pname,
 					   GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6032,7 +6032,7 @@
    ctx->Exec->GetColorTableParameteriv( target, pname, params );
 }
 
-static void exec_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
+static void GLAPIENTRY exec_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
 				      GLvoid *image)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6040,7 +6040,7 @@
    ctx->Exec->GetConvolutionFilter( target, format, type, image);
 }
 
-static void exec_GetConvolutionParameterfv(GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetConvolutionParameterfv(GLenum target, GLenum pname,
 					   GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6048,7 +6048,7 @@
    ctx->Exec->GetConvolutionParameterfv( target, pname, params);
 }
 
-static void exec_GetConvolutionParameteriv(GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetConvolutionParameteriv(GLenum target, GLenum pname,
 					   GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6056,7 +6056,7 @@
    ctx->Exec->GetConvolutionParameteriv( target, pname, params);
 }
 
-static void exec_GetHistogram(GLenum target, GLboolean reset, GLenum format,
+static void GLAPIENTRY exec_GetHistogram(GLenum target, GLboolean reset, GLenum format,
 			      GLenum type, GLvoid *values)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6064,7 +6064,7 @@
    ctx->Exec->GetHistogram( target, reset, format, type, values);
 }
 
-static void exec_GetHistogramParameterfv(GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetHistogramParameterfv(GLenum target, GLenum pname,
 					 GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6072,7 +6072,7 @@
    ctx->Exec->GetHistogramParameterfv( target, pname, params);
 }
 
-static void exec_GetHistogramParameteriv(GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetHistogramParameteriv(GLenum target, GLenum pname,
 					 GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6080,7 +6080,7 @@
    ctx->Exec->GetHistogramParameteriv( target, pname, params);
 }
 
-static void exec_GetMinmax(GLenum target, GLboolean reset, GLenum format,
+static void GLAPIENTRY exec_GetMinmax(GLenum target, GLboolean reset, GLenum format,
 			   GLenum type, GLvoid *values)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6088,7 +6088,7 @@
    ctx->Exec->GetMinmax( target, reset, format, type, values);
 }
 
-static void exec_GetMinmaxParameterfv(GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetMinmaxParameterfv(GLenum target, GLenum pname,
 				      GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6096,7 +6096,7 @@
    ctx->Exec->GetMinmaxParameterfv( target, pname, params);
 }
 
-static void exec_GetMinmaxParameteriv(GLenum target, GLenum pname,
+static void GLAPIENTRY exec_GetMinmaxParameteriv(GLenum target, GLenum pname,
 				      GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6104,7 +6104,7 @@
    ctx->Exec->GetMinmaxParameteriv( target, pname, params);
 }
 
-static void exec_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
+static void GLAPIENTRY exec_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
 				    GLvoid *row, GLvoid *column, GLvoid *span)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6112,7 +6112,7 @@
    ctx->Exec->GetSeparableFilter( target, format, type, row, column, span);
 }
 
-static void exec_SeparableFilter2D(GLenum target, GLenum internalFormat,
+static void GLAPIENTRY exec_SeparableFilter2D(GLenum target, GLenum internalFormat,
 				   GLsizei width, GLsizei height, GLenum format,
 				   GLenum type, const GLvoid *row,
 				   const GLvoid *column)
@@ -6123,21 +6123,21 @@
 				 type, row, column);
 }
 
-static void exec_GetPixelTexGenParameterivSGIS(GLenum target, GLint *value)
+static void GLAPIENTRY exec_GetPixelTexGenParameterivSGIS(GLenum target, GLint *value)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPixelTexGenParameterivSGIS( target, value);
 }
 
-static void exec_GetPixelTexGenParameterfvSGIS(GLenum target, GLfloat *value)
+static void GLAPIENTRY exec_GetPixelTexGenParameterfvSGIS(GLenum target, GLfloat *value)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->GetPixelTexGenParameterfvSGIS( target, value);
 }
 
-static void exec_ColorPointerEXT(GLint size, GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_ColorPointerEXT(GLint size, GLenum type, GLsizei stride,
 				 GLsizei count, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6145,7 +6145,7 @@
    ctx->Exec->ColorPointerEXT( size, type, stride, count, ptr);
 }
 
-static void exec_EdgeFlagPointerEXT(GLsizei stride, GLsizei count,
+static void GLAPIENTRY exec_EdgeFlagPointerEXT(GLsizei stride, GLsizei count,
 				    const GLboolean *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6153,7 +6153,7 @@
    ctx->Exec->EdgeFlagPointerEXT( stride, count, ptr);
 }
 
-static void exec_IndexPointerEXT(GLenum type, GLsizei stride, GLsizei count,
+static void GLAPIENTRY exec_IndexPointerEXT(GLenum type, GLsizei stride, GLsizei count,
                       const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6161,7 +6161,7 @@
    ctx->Exec->IndexPointerEXT( type, stride, count, ptr);
 }
 
-static void exec_NormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
+static void GLAPIENTRY exec_NormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
                        const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6169,7 +6169,7 @@
    ctx->Exec->NormalPointerEXT( type, stride, count, ptr);
 }
 
-static void exec_TexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_TexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
 				    GLsizei count, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6177,7 +6177,7 @@
    ctx->Exec->TexCoordPointerEXT( size, type, stride, count, ptr);
 }
 
-static void exec_VertexPointerEXT(GLint size, GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_VertexPointerEXT(GLint size, GLenum type, GLsizei stride,
                        GLsizei count, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6185,21 +6185,21 @@
    ctx->Exec->VertexPointerEXT( size, type, stride, count, ptr);
 }
 
-static void exec_LockArraysEXT(GLint first, GLsizei count)
+static void GLAPIENTRY exec_LockArraysEXT(GLint first, GLsizei count)
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->LockArraysEXT( first, count);
 }
 
-static void exec_UnlockArraysEXT( void )
+static void GLAPIENTRY exec_UnlockArraysEXT( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->UnlockArraysEXT( );
 }
 
-static void exec_ResizeBuffersMESA( void )
+static void GLAPIENTRY exec_ResizeBuffersMESA( void )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
@@ -6207,14 +6207,14 @@
 }
 
 
-static void exec_ClientActiveTextureARB( GLenum target )
+static void GLAPIENTRY exec_ClientActiveTextureARB( GLenum target )
 {
    GET_CURRENT_CONTEXT(ctx);
    FLUSH_VERTICES(ctx, 0);
    ctx->Exec->ClientActiveTextureARB(target);
 }
 
-static void exec_SecondaryColorPointerEXT(GLint size, GLenum type,
+static void GLAPIENTRY exec_SecondaryColorPointerEXT(GLint size, GLenum type,
 			       GLsizei stride, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6222,7 +6222,7 @@
    ctx->Exec->SecondaryColorPointerEXT( size, type, stride, ptr);
 }
 
-static void exec_FogCoordPointerEXT(GLenum type, GLsizei stride,
+static void GLAPIENTRY exec_FogCoordPointerEXT(GLenum type, GLsizei stride,
 				    const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6231,7 +6231,7 @@
 }
 
 /* GL_EXT_multi_draw_arrays */
-static void exec_MultiDrawArraysEXT(GLenum mode, GLint *first,
+static void GLAPIENTRY exec_MultiDrawArraysEXT(GLenum mode, GLint *first,
                                     GLsizei *count, GLsizei primcount)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6240,7 +6240,7 @@
 }
 
 /* GL_EXT_multi_draw_arrays */
-static void exec_MultiDrawElementsEXT(GLenum mode, const GLsizei *count,
+static void GLAPIENTRY exec_MultiDrawElementsEXT(GLenum mode, const GLsizei *count,
                                       GLenum type, const GLvoid **indices,
                                       GLsizei primcount)
 {
@@ -6250,7 +6250,7 @@
 }
 
 /* GL_IBM_multimode_draw_arrays */
-static void exec_MultiModeDrawArraysIBM(const GLenum *mode, const GLint *first,
+static void GLAPIENTRY exec_MultiModeDrawArraysIBM(const GLenum *mode, const GLint *first,
 					const GLsizei *count, GLsizei primcount,
 					GLint modestride)
 {
@@ -6260,7 +6260,7 @@
 }
 
 /* GL_IBM_multimode_draw_arrays */
-static void exec_MultiModeDrawElementsIBM(const GLenum *mode,
+static void GLAPIENTRY exec_MultiModeDrawElementsIBM(const GLenum *mode,
 					  const GLsizei *count,
 					  GLenum type,
 					  const GLvoid * const *indices,
@@ -6804,7 +6804,7 @@
  * Print the commands in a display list.  For debugging only.
  * TODO: many commands aren't handled yet.
  */
-static void print_list( GLcontext *ctx, GLuint list )
+static void GLAPIENTRY print_list( GLcontext *ctx, GLuint list )
 {
    Node *n;
    GLboolean done;
diff --git a/src/mesa/main/dlist.h b/src/mesa/main/dlist.h
index 945cebb..ec2430e 100644
--- a/src/mesa/main/dlist.h
+++ b/src/mesa/main/dlist.h
@@ -42,21 +42,21 @@
 
 extern void _mesa_destroy_list( GLcontext *ctx, GLuint list );
 
-extern void _mesa_CallList( GLuint list );
+extern void GLAPIENTRY _mesa_CallList( GLuint list );
 
-extern void _mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
+extern void GLAPIENTRY _mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
 
-extern void _mesa_DeleteLists( GLuint list, GLsizei range );
+extern void GLAPIENTRY _mesa_DeleteLists( GLuint list, GLsizei range );
 
-extern void _mesa_EndList( void );
+extern void GLAPIENTRY _mesa_EndList( void );
 
-extern GLuint _mesa_GenLists( GLsizei range );
+extern GLuint GLAPIENTRY _mesa_GenLists( GLsizei range );
 
-extern GLboolean _mesa_IsList( GLuint list );
+extern GLboolean GLAPIENTRY _mesa_IsList( GLuint list );
 
-extern void _mesa_ListBase( GLuint base );
+extern void GLAPIENTRY _mesa_ListBase( GLuint base );
 
-extern void _mesa_NewList( GLuint list, GLenum mode );
+extern void GLAPIENTRY _mesa_NewList( GLuint list, GLenum mode );
 
 extern void _mesa_init_dlist_table( struct _glapi_table *table,
                                     GLuint tableSize );
@@ -73,11 +73,11 @@
                                void (*destroy)( GLcontext *, void * ),
                                void (*print)( GLcontext *, void * ) );
 
-extern void _mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2,
+extern void GLAPIENTRY _mesa_save_EvalMesh2(GLenum mode, GLint i1, GLint i2,
 				 GLint j1, GLint j2 );
-extern void _mesa_save_EvalMesh1( GLenum mode, GLint i1, GLint i2 );
-extern void _mesa_save_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
-extern void _mesa_save_CallList( GLuint list );
+extern void GLAPIENTRY _mesa_save_EvalMesh1( GLenum mode, GLint i1, GLint i2 );
+extern void GLAPIENTRY _mesa_save_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
+extern void GLAPIENTRY _mesa_save_CallList( GLuint list );
 extern void _mesa_init_display_list( GLcontext * ctx );
 
 #else
diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c
index b9b4724..12b9f29 100644
--- a/src/mesa/main/drawpix.c
+++ b/src/mesa/main/drawpix.c
@@ -38,7 +38,7 @@
 /*
  * Execute glDrawPixels
  */
-void
+void GLAPIENTRY
 _mesa_DrawPixels( GLsizei width, GLsizei height,
                   GLenum format, GLenum type, const GLvoid *pixels )
 {
@@ -87,7 +87,7 @@
    }
 }
 
-void
+void GLAPIENTRY
 _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
                   GLenum type )
 {
@@ -139,7 +139,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
 		  GLenum format, GLenum type, GLvoid *pixels )
 {
@@ -168,7 +168,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_Bitmap( GLsizei width, GLsizei height,
               GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove,
               const GLubyte *bitmap )
@@ -232,7 +232,7 @@
  * Z-compositing.  Normally, this operation requires two glDrawPixels
  * calls with stencil testing.
  */
-void
+void GLAPIENTRY
 _mesa_DrawDepthPixelsMESA( GLsizei width, GLsizei height,
                            GLenum colorFormat, GLenum colorType,
                            const GLvoid *colors,
diff --git a/src/mesa/main/drawpix.h b/src/mesa/main/drawpix.h
index 478767a..2a2d7de 100644
--- a/src/mesa/main/drawpix.h
+++ b/src/mesa/main/drawpix.h
@@ -31,22 +31,22 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_DrawPixels( GLsizei width, GLsizei height,
                   GLenum format, GLenum type, const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
                   GLenum format, GLenum type, GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
                   GLenum type );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_Bitmap( GLsizei width, GLsizei height,
               GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove,
               const GLubyte *bitmap );
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index 8cb84d5..f882f94 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -156,7 +156,7 @@
  * Get's the current context, assures that we're outside glBegin()/glEnd() and
  * calls client_state().
  */
-void
+void GLAPIENTRY
 _mesa_EnableClientState( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -175,7 +175,7 @@
  * Get's the current context, assures that we're outside glBegin()/glEnd() and
  * calls client_state().
  */
-void
+void GLAPIENTRY
 _mesa_DisableClientState( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1009,7 +1009,7 @@
  * Get's the current context, assures that we're outside glBegin()/glEnd() and
  * calls _mesa_set_enable().
  */
-void
+void GLAPIENTRY
 _mesa_Enable( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1029,7 +1029,7 @@
  * Get's the current context, assures that we're outside glBegin()/glEnd() and
  * calls _mesa_set_enable().
  */
-void
+void GLAPIENTRY
 _mesa_Disable( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1056,7 +1056,7 @@
  * For the capabilities associated with extensions verifies that those
  * extensions are effectively present before reporting.
  */
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_IsEnabled( GLenum cap )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/enable.h b/src/mesa/main/enable.h
index eeafb2d..25c90b0 100644
--- a/src/mesa/main/enable.h
+++ b/src/mesa/main/enable.h
@@ -38,19 +38,19 @@
 extern void
 _mesa_set_enable( GLcontext* ctx, GLenum cap, GLboolean state );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Disable( GLenum cap );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Enable( GLenum cap );
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_IsEnabled( GLenum cap );
 
-extern void
+extern void GLAPIENTRY
 _mesa_EnableClientState( GLenum cap );
 
-extern void
+extern void GLAPIENTRY
 _mesa_DisableClientState( GLenum cap );
 
 
diff --git a/src/mesa/main/eval.c b/src/mesa/main/eval.c
index 314ecf0..3f89f9c 100644
--- a/src/mesa/main/eval.c
+++ b/src/mesa/main/eval.c
@@ -417,7 +417,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
              GLint order, const GLfloat *points )
 {
@@ -425,7 +425,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
              GLint order, const GLdouble *points )
 {
@@ -516,7 +516,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Map2f( GLenum target,
              GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
              GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
@@ -527,7 +527,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Map2d( GLenum target,
              GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
              GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
@@ -539,7 +539,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -604,7 +604,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -669,7 +669,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetMapiv( GLenum target, GLenum query, GLint *v )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -735,7 +735,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -753,14 +753,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 )
 {
    _mesa_MapGrid1f( un, (GLfloat) u1, (GLfloat) u2 );
 }
 
 
-void
+void GLAPIENTRY
 _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
                  GLint vn, GLfloat v1, GLfloat v2 )
 {
@@ -788,7 +788,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
                  GLint vn, GLdouble v1, GLdouble v2 )
 {
diff --git a/src/mesa/main/eval.h b/src/mesa/main/eval.h
index 525835c..b3ff0a9 100644
--- a/src/mesa/main/eval.h
+++ b/src/mesa/main/eval.h
@@ -72,47 +72,47 @@
 
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
              GLint order, const GLfloat *points );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Map2f( GLenum target,
              GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
              GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
              const GLfloat *points );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride,
              GLint order, const GLdouble *points );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Map2d( GLenum target,
              GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
              GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
              const GLdouble *points );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2,
                  GLint vn, GLfloat v1, GLfloat v2 );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2,
                  GLint vn, GLdouble v1, GLdouble v2 );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetMapiv( GLenum target, GLenum query, GLint *v );
 
 #else
diff --git a/src/mesa/main/feedback.c b/src/mesa/main/feedback.c
index 731fdf8..106f343 100644
--- a/src/mesa/main/feedback.c
+++ b/src/mesa/main/feedback.c
@@ -48,7 +48,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -102,7 +102,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PassThrough( GLfloat token )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -171,7 +171,7 @@
  * Verifies we're not in selection mode, flushes the vertices and initialize
  * the fields in __GLcontextRec::Select with the given buffer.
  */
-void
+void GLAPIENTRY
 _mesa_SelectBuffer( GLsizei size, GLuint *buffer )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -273,7 +273,7 @@
  * the hit record data in gl_selection. Marks new render mode in
  * __GLcontextRec::NewState.
  */
-void
+void GLAPIENTRY
 _mesa_InitNames( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -304,7 +304,7 @@
  *
  * sa __GLcontextRec::Select.
  */
-void
+void GLAPIENTRY
 _mesa_LoadName( GLuint name )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -343,7 +343,7 @@
  *
  * sa __GLcontextRec::Select.
  */
-void
+void GLAPIENTRY
 _mesa_PushName( GLuint name )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -374,7 +374,7 @@
  *
  * sa __GLcontextRec::Select.
  */
-void
+void GLAPIENTRY
 _mesa_PopName( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -417,7 +417,7 @@
  * __GLcontextRec::RenderMode and notifies the driver via the
  * dd_function_table::RenderMode callback.
  */
-GLint
+GLint GLAPIENTRY
 _mesa_RenderMode( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/feedback.h b/src/mesa/main/feedback.h
index e1f4703..bbd27e3 100644
--- a/src/mesa/main/feedback.h
+++ b/src/mesa/main/feedback.h
@@ -54,28 +54,28 @@
 extern void _mesa_update_hitflag( GLcontext *ctx, GLfloat z );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_PassThrough( GLfloat token );
 
-extern void
+extern void GLAPIENTRY
 _mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
 
-extern void
+extern void GLAPIENTRY
 _mesa_SelectBuffer( GLsizei size, GLuint *buffer );
 
-extern void
+extern void GLAPIENTRY
 _mesa_InitNames( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadName( GLuint name );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PushName( GLuint name );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PopName( void );
 
-extern GLint
+extern GLint GLAPIENTRY
 _mesa_RenderMode( GLenum mode );
 
 
diff --git a/src/mesa/main/fog.c b/src/mesa/main/fog.c
index b7f967e..d3b8a92 100644
--- a/src/mesa/main/fog.c
+++ b/src/mesa/main/fog.c
@@ -31,14 +31,14 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_Fogf(GLenum pname, GLfloat param)
 {
    _mesa_Fogfv(pname, &param);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Fogi(GLenum pname, GLint param )
 {
    GLfloat fparam = (GLfloat) param;
@@ -46,7 +46,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Fogiv(GLenum pname, const GLint *params )
 {
    GLfloat p[4];
@@ -73,7 +73,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Fogfv( GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/fog.h b/src/mesa/main/fog.h
index 4a04175..a14d19c 100644
--- a/src/mesa/main/fog.h
+++ b/src/mesa/main/fog.h
@@ -42,16 +42,16 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_Fogf(GLenum pname, GLfloat param);
 
-extern void
+extern void GLAPIENTRY
 _mesa_Fogi(GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Fogfv(GLenum pname, const GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Fogiv(GLenum pname, const GLint *params );
 
 extern void _mesa_init_fog( GLcontext * ctx );
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 6d98840..d2d5b78 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -133,7 +133,7 @@
  * otherwise gets the specified parameter from the current context, converting
  * it value into GLboolean.
  */
-void
+void GLAPIENTRY
 _mesa_GetBooleanv( GLenum pname, GLboolean *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1676,7 +1676,7 @@
  * otherwise gets the specified parameter from the current context, converting
  * it value into GLdouble.
  */
-void
+void GLAPIENTRY
 _mesa_GetDoublev( GLenum pname, GLdouble *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -3213,7 +3213,7 @@
  * otherwise gets the specified parameter from the current context, converting
  * it value into GLfloat.
  */
-void
+void GLAPIENTRY
 _mesa_GetFloatv( GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -4726,7 +4726,7 @@
  * otherwise gets the specified parameter from the current context, converting
  * it value into GLinteger.
  */
-void
+void GLAPIENTRY
 _mesa_GetIntegerv( GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6276,7 +6276,7 @@
  * Tries to get the specified pointer via dd_function_table::GetPointerv,
  * otherwise gets the specified pointer from the current context.
  */
-void
+void GLAPIENTRY
 _mesa_GetPointerv( GLenum pname, GLvoid **params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6371,7 +6371,7 @@
  * Tries to get the string from dd_function_table::GetString, otherwise returns
  * the hardcoded strings.
  */
-const GLubyte *
+const GLubyte * GLAPIENTRY
 _mesa_GetString( GLenum name )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -6466,7 +6466,7 @@
  *
  * Returns __GLcontextRec::ErrorValue.
  */
-GLenum
+GLenum GLAPIENTRY
 _mesa_GetError( void )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/get.h b/src/mesa/main/get.h
index 5c7a81e..9b47b23 100644
--- a/src/mesa/main/get.h
+++ b/src/mesa/main/get.h
@@ -35,25 +35,25 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetBooleanv( GLenum pname, GLboolean *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetDoublev( GLenum pname, GLdouble *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetFloatv( GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetIntegerv( GLenum pname, GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetPointerv( GLenum pname, GLvoid **params );
 
-extern const GLubyte *
+extern const GLubyte * GLAPIENTRY
 _mesa_GetString( GLenum name );
 
-extern GLenum
+extern GLenum GLAPIENTRY
 _mesa_GetError( void );
 
 #endif
diff --git a/src/mesa/main/hint.c b/src/mesa/main/hint.c
index 5af8191..23ab1e6 100644
--- a/src/mesa/main/hint.c
+++ b/src/mesa/main/hint.c
@@ -32,7 +32,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_Hint( GLenum target, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/hint.h b/src/mesa/main/hint.h
index 57f3823..bfc3887 100644
--- a/src/mesa/main/hint.h
+++ b/src/mesa/main/hint.h
@@ -41,7 +41,7 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_Hint( GLenum target, GLenum mode );
 
 extern void 
diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c
index ea2c465..f390a2d 100644
--- a/src/mesa/main/histogram.c
+++ b/src/mesa/main/histogram.c
@@ -662,7 +662,7 @@
  */
 
 
-void
+void GLAPIENTRY
 _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -729,7 +729,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -792,7 +792,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -839,7 +839,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -886,7 +886,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -912,7 +912,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -938,7 +938,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink)
 {
    GLuint i;
@@ -1021,7 +1021,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1049,7 +1049,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ResetHistogram(GLenum target)
 {
    GLuint i;
@@ -1077,7 +1077,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ResetMinmax(GLenum target)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/histogram.h b/src/mesa/main/histogram.h
index 548e0ba..67ddce0 100644
--- a/src/mesa/main/histogram.h
+++ b/src/mesa/main/histogram.h
@@ -48,25 +48,35 @@
 _mesa_update_histogram(GLcontext *ctx, GLuint n, const GLfloat rgba[][4]);
 
 
-extern void _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);
+extern void GLAPIENTRY 
+_mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);
 
-extern void _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
+extern void GLAPIENTRY 
+_mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
 
-extern void _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
+extern void GLAPIENTRY 
+_mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params);
 
-extern void _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
+extern void GLAPIENTRY 
+_mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params);
 
-extern void _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
+extern void GLAPIENTRY 
+_mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params);
 
-extern void _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
+extern void GLAPIENTRY 
+_mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params);
 
-extern void _mesa_Histogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
+extern void GLAPIENTRY 
+_mesa_Histogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
 
-extern void _mesa_Minmax(GLenum target, GLenum internalformat, GLboolean sink);
+extern void GLAPIENTRY 
+_mesa_Minmax(GLenum target, GLenum internalformat, GLboolean sink);
 
-extern void _mesa_ResetHistogram(GLenum target);
+extern void GLAPIENTRY 
+_mesa_ResetHistogram(GLenum target);
 
-extern void _mesa_ResetMinmax(GLenum target);
+extern void GLAPIENTRY 
+_mesa_ResetMinmax(GLenum target);
 
 extern void
 _mesa_update_minmax(GLcontext *ctx, GLuint n, const GLfloat rgba[][4]);
diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c
index 5d47313..4febf6f 100644
--- a/src/mesa/main/light.c
+++ b/src/mesa/main/light.c
@@ -34,7 +34,7 @@
 #include "math/m_matrix.h"
 
 
-void
+void GLAPIENTRY
 _mesa_ShadeModel( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -59,14 +59,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Lightf( GLenum light, GLenum pname, GLfloat param )
 {
    _mesa_Lightfv( light, pname, &param );
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Lightfv( GLenum light, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -192,14 +192,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Lighti( GLenum light, GLenum pname, GLint param )
 {
    _mesa_Lightiv( light, pname, &param );
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Lightiv( GLenum light, GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
@@ -241,7 +241,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetLightfv( GLenum light, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -291,7 +291,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetLightiv( GLenum light, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -361,7 +361,7 @@
 /**********************************************************************/
 
 
-void
+void GLAPIENTRY
 _mesa_LightModelfv( GLenum pname, const GLfloat *params )
 {
    GLenum newenum;
@@ -428,7 +428,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_LightModeliv( GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
@@ -453,14 +453,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_LightModeli( GLenum pname, GLint param )
 {
    _mesa_LightModeliv( pname, &param );
 }
 
 
-void
+void GLAPIENTRY
 _mesa_LightModelf( GLenum pname, GLfloat param )
 {
    _mesa_LightModelfv( pname, &param );
@@ -649,7 +649,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ColorMaterial( GLenum face, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -687,7 +687,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -733,7 +733,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetMaterialiv( GLenum face, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/light.h b/src/mesa/main/light.h
index 1eb7f56..1f19019 100644
--- a/src/mesa/main/light.h
+++ b/src/mesa/main/light.h
@@ -34,47 +34,47 @@
 
 #include "mtypes.h"
 
-extern void
+extern void GLAPIENTRY
 _mesa_ShadeModel( GLenum mode );
 
 #if _HAVE_FULL_GL
-extern void
+extern void GLAPIENTRY
 _mesa_ColorMaterial( GLenum face, GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Lightf( GLenum light, GLenum pname, GLfloat param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Lightfv( GLenum light, GLenum pname, const GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Lightiv( GLenum light, GLenum pname, const GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Lighti( GLenum light, GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LightModelf( GLenum pname, GLfloat param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LightModelfv( GLenum pname, const GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LightModeli( GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LightModeliv( GLenum pname, const GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetLightfv( GLenum light, GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetLightiv( GLenum light, GLenum pname, GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetMaterialiv( GLenum face, GLenum pname, GLint *params );
 
 
diff --git a/src/mesa/main/lines.c b/src/mesa/main/lines.c
index 27f778a3..122a27f 100644
--- a/src/mesa/main/lines.c
+++ b/src/mesa/main/lines.c
@@ -50,7 +50,7 @@
  * width is different from one. Notifies the driver via the
  * dd_function_table::LineWidth callback.
  */
-void
+void GLAPIENTRY
 _mesa_LineWidth( GLfloat width )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -93,7 +93,7 @@
  * change flushes the vertices and notifies the driver via
  * the dd_function_table::LineStipple callback.
  */
-void
+void GLAPIENTRY
 _mesa_LineStipple( GLint factor, GLushort pattern )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/lines.h b/src/mesa/main/lines.h
index 7305a98..5a47e98 100644
--- a/src/mesa/main/lines.h
+++ b/src/mesa/main/lines.h
@@ -36,13 +36,13 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_LineWidth( GLfloat width );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LineStipple( GLint factor, GLushort pattern );
 
-extern void 
+extern void GLAPIENTRY 
 _mesa_init_line( GLcontext * ctx );
 
 #endif
diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
index fcb63f5..e449ee3 100644
--- a/src/mesa/main/macros.h
+++ b/src/mesa/main/macros.h
@@ -44,45 +44,45 @@
 #define UBYTE_TO_FLOAT(u) _mesa_ubyte_to_float_color_tab[(unsigned int)(u)]
 
 /** Convert GLfloat in [0.0,1.0] to GLubyte in [0,255] */
-#define FLOAT_TO_UBYTE(X)	((GLubyte) (GLint) ((X) * 255.0F))
+#define FLOAT_TO_UBYTE(X)   ((GLubyte) (GLint) ((X) * 255.0F))
 
 
 /** Convert GLbyte in [-128,127] to GLfloat in [-1.0,1.0] */
-#define BYTE_TO_FLOAT(B)	((2.0F * (B) + 1.0F) * (1.0F/255.0F))
+#define BYTE_TO_FLOAT(B)    ((2.0F * (B) + 1.0F) * (1.0F/255.0F))
 
 /** Convert GLfloat in [-1.0,1.0] to GLbyte in [-128,127] */
-#define FLOAT_TO_BYTE(X)	( (((GLint) (255.0F * (X))) - 1) / 2 )
+#define FLOAT_TO_BYTE(X)    ( (((GLint) (255.0F * (X))) - 1) / 2 )
 
 
 /** Convert GLushort in [0,65536] to GLfloat in [0.0,1.0] */
-#define USHORT_TO_FLOAT(S)	((GLfloat) (S) * (1.0F / 65535.0F))
+#define USHORT_TO_FLOAT(S)  ((GLfloat) (S) * (1.0F / 65535.0F))
 
 /** Convert GLfloat in [0.0,1.0] to GLushort in [0,65536] */
-#define FLOAT_TO_USHORT(X)	((GLushort) (GLint) ((X) * 65535.0F))
+#define FLOAT_TO_USHORT(X)  ((GLushort) (GLint) ((X) * 65535.0F))
 
 /** Convert GLshort in [-32768,32767] to GLfloat in [-1.0,1.0] */
-#define SHORT_TO_FLOAT(S)	((2.0F * (S) + 1.0F) * (1.0F/65535.0F))
+#define SHORT_TO_FLOAT(S)   ((2.0F * (S) + 1.0F) * (1.0F/65535.0F))
 
 /** Convert GLfloat in [0.0,1.0] to GLshort in [-32768,32767] */
-#define FLOAT_TO_SHORT(X)	( (((GLint) (65535.0F * (X))) - 1) / 2 )
+#define FLOAT_TO_SHORT(X)   ( (((GLint) (65535.0F * (X))) - 1) / 2 )
 
 
 /** Convert GLuint in [0,4294967295] to GLfloat in [0.0,1.0] */
-#define UINT_TO_FLOAT(U)	((GLfloat) (U) * (1.0F / 4294967295.0F))
+#define UINT_TO_FLOAT(U)    ((GLfloat) (U) * (1.0F / 4294967295.0F))
 
 /** Convert GLfloat in [0.0,1.0] to GLuint in [0,4294967295] */
-#define FLOAT_TO_UINT(X)	((GLuint) ((X) * 4294967295.0))
+#define FLOAT_TO_UINT(X)    ((GLuint) ((X) * 4294967295.0))
 
 
 /** Convert GLint in [-2147483648,2147483647] to GLfloat in [-1.0,1.0] */
-#define INT_TO_FLOAT(I)		((2.0F * (I) + 1.0F) * (1.0F/4294967294.0F))
+#define INT_TO_FLOAT(I)     ((2.0F * (I) + 1.0F) * (1.0F/4294967294.0F))
 
 /** Convert GLfloat in [-1.0,1.0] to GLint in [-2147483648,2147483647] */
 /* causes overflow:
-#define FLOAT_TO_INT(X)		( (((GLint) (4294967294.0F * (X))) - 1) / 2 )
+#define FLOAT_TO_INT(X)     ( (((GLint) (4294967294.0F * (X))) - 1) / 2 )
 */
 /* a close approximation: */
-#define FLOAT_TO_INT(X)		( (GLint) (2147483647.0 * (X)) )
+#define FLOAT_TO_INT(X)     ( (GLint) (2147483647.0 * (X)) )
 
 
 #define BYTE_TO_UBYTE(b)   ((GLubyte) ((b) < 0 ? 0 : (GLubyte) (b)))
@@ -122,13 +122,13 @@
 /*@{*/
 
 /** Zero */
-#define ZERO_4V( DST )	(DST)[0] = (DST)[1] = (DST)[2] = (DST)[3] = 0
+#define ZERO_4V( DST )  (DST)[0] = (DST)[1] = (DST)[2] = (DST)[3] = 0
 
 /** Test for equality */
-#define TEST_EQ_4V(a,b)  ((a)[0] == (b)[0] && 	\
-			  (a)[1] == (b)[1] &&	\
-			  (a)[2] == (b)[2] &&	\
-			  (a)[3] == (b)[3])
+#define TEST_EQ_4V(a,b)  ((a)[0] == (b)[0] &&   \
+              (a)[1] == (b)[1] &&   \
+              (a)[2] == (b)[2] &&   \
+              (a)[3] == (b)[3])
 
 /** Test for equality (unsigned bytes) */
 #if defined(__i386__)
@@ -138,149 +138,148 @@
 #endif
 
 /** Copy a 4-element vector */
-#define COPY_4V( DST, SRC )			\
-do {						\
-   (DST)[0] = (SRC)[0];				\
-   (DST)[1] = (SRC)[1];				\
-   (DST)[2] = (SRC)[2];				\
-   (DST)[3] = (SRC)[3];				\
+#define COPY_4V( DST, SRC )         \
+do {                                \
+   (DST)[0] = (SRC)[0];             \
+   (DST)[1] = (SRC)[1];             \
+   (DST)[2] = (SRC)[2];             \
+   (DST)[3] = (SRC)[3];             \
 } while (0)
 
 /** Copy a 4-element vector with cast */
-#define COPY_4V_CAST( DST, SRC, CAST )		\
-do {						\
-   (DST)[0] = (CAST)(SRC)[0];			\
-   (DST)[1] = (CAST)(SRC)[1];			\
-   (DST)[2] = (CAST)(SRC)[2];			\
-   (DST)[3] = (CAST)(SRC)[3];			\
+#define COPY_4V_CAST( DST, SRC, CAST )  \
+do {                                    \
+   (DST)[0] = (CAST)(SRC)[0];           \
+   (DST)[1] = (CAST)(SRC)[1];           \
+   (DST)[2] = (CAST)(SRC)[2];           \
+   (DST)[3] = (CAST)(SRC)[3];           \
 } while (0)
 
 /** Copy a 4-element unsigned byte vector */
 #if defined(__i386__)
-#define COPY_4UBV(DST, SRC)			\
-do {						\
-   *((GLuint*)(DST)) = *((GLuint*)(SRC));	\
+#define COPY_4UBV(DST, SRC)         \
+do {                                \
+   *((GLuint*)(DST)) = *((GLuint*)(SRC));   \
 } while (0)
 #else
 /* The GLuint cast might fail if DST or SRC are not dword-aligned (RISC) */
-#define COPY_4UBV(DST, SRC)			\
-do {						\
-   (DST)[0] = (SRC)[0];				\
-   (DST)[1] = (SRC)[1];				\
-   (DST)[2] = (SRC)[2];				\
-   (DST)[3] = (SRC)[3];				\
+#define COPY_4UBV(DST, SRC)         \
+do {                                \
+   (DST)[0] = (SRC)[0];             \
+   (DST)[1] = (SRC)[1];             \
+   (DST)[2] = (SRC)[2];             \
+   (DST)[3] = (SRC)[3];             \
 } while (0)
 #endif
 
-/** Copy a 4-element float vector */
-#define COPY_4FV( DST, SRC )			\
-do {						\
-   const GLfloat *_tmp = (SRC);			\
-   (DST)[0] = _tmp[0];				\
-   (DST)[1] = _tmp[1];				\
-   (DST)[2] = _tmp[2];				\
-   (DST)[3] = _tmp[3];				\
+/** Copy a 4-element float vector (Use COPY_FLOAT to avoid loading FPU) */
+#define COPY_4FV( DST, SRC )        \
+do {                                \
+   COPY_FLOAT((DST)[0], (SRC)[0]);  \
+   COPY_FLOAT((DST)[1], (SRC)[1]);  \
+   COPY_FLOAT((DST)[2], (SRC)[2]);  \
+   COPY_FLOAT((DST)[3], (SRC)[3]);  \
 } while (0)
 
 
 /** Copy \p SZ elements into a 4-element vector */
-#define COPY_SZ_4V(DST, SZ, SRC) 		\
-do {						\
-   switch (SZ) {				\
-   case 4: (DST)[3] = (SRC)[3];			\
-   case 3: (DST)[2] = (SRC)[2];			\
-   case 2: (DST)[1] = (SRC)[1];			\
-   case 1: (DST)[0] = (SRC)[0];			\
-   }  						\
+#define COPY_SZ_4V(DST, SZ, SRC)        \
+do {                        \
+   switch (SZ) {                \
+   case 4: (DST)[3] = (SRC)[3];         \
+   case 3: (DST)[2] = (SRC)[2];         \
+   case 2: (DST)[1] = (SRC)[1];         \
+   case 1: (DST)[0] = (SRC)[0];         \
+   }                        \
 } while(0)
 
 /** Copy \p SZ elements into a homegeneous (4-element) vector, giving
  * default values to the remaining */
-#define COPY_CLEAN_4V(DST, SZ, SRC) 		\
-do {						\
-      ASSIGN_4V( DST, 0, 0, 0, 1 );		\
-      COPY_SZ_4V( DST, SZ, SRC );		\
+#define COPY_CLEAN_4V(DST, SZ, SRC)         \
+do {                        \
+      ASSIGN_4V( DST, 0, 0, 0, 1 );     \
+      COPY_SZ_4V( DST, SZ, SRC );       \
 } while (0)
 
 /** Subtraction */
-#define SUB_4V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] - (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] - (SRCB)[1];		\
-      (DST)[2] = (SRCA)[2] - (SRCB)[2];		\
-      (DST)[3] = (SRCA)[3] - (SRCB)[3];		\
+#define SUB_4V( DST, SRCA, SRCB )       \
+do {                        \
+      (DST)[0] = (SRCA)[0] - (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] - (SRCB)[1];     \
+      (DST)[2] = (SRCA)[2] - (SRCB)[2];     \
+      (DST)[3] = (SRCA)[3] - (SRCB)[3];     \
 } while (0)
 
 /** Addition */
-#define ADD_4V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] + (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] + (SRCB)[1];		\
-      (DST)[2] = (SRCA)[2] + (SRCB)[2];		\
-      (DST)[3] = (SRCA)[3] + (SRCB)[3];		\
+#define ADD_4V( DST, SRCA, SRCB )       \
+do {                        \
+      (DST)[0] = (SRCA)[0] + (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] + (SRCB)[1];     \
+      (DST)[2] = (SRCA)[2] + (SRCB)[2];     \
+      (DST)[3] = (SRCA)[3] + (SRCB)[3];     \
 } while (0)
 
 /** Element-wise multiplication */
-#define SCALE_4V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] * (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] * (SRCB)[1];		\
-      (DST)[2] = (SRCA)[2] * (SRCB)[2];		\
-      (DST)[3] = (SRCA)[3] * (SRCB)[3];		\
+#define SCALE_4V( DST, SRCA, SRCB )     \
+do {                        \
+      (DST)[0] = (SRCA)[0] * (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] * (SRCB)[1];     \
+      (DST)[2] = (SRCA)[2] * (SRCB)[2];     \
+      (DST)[3] = (SRCA)[3] * (SRCB)[3];     \
 } while (0)
 
 /** In-place addition */
-#define ACC_4V( DST, SRC )			\
-do {						\
-      (DST)[0] += (SRC)[0];			\
-      (DST)[1] += (SRC)[1];			\
-      (DST)[2] += (SRC)[2];			\
-      (DST)[3] += (SRC)[3];			\
+#define ACC_4V( DST, SRC )          \
+do {                        \
+      (DST)[0] += (SRC)[0];         \
+      (DST)[1] += (SRC)[1];         \
+      (DST)[2] += (SRC)[2];         \
+      (DST)[3] += (SRC)[3];         \
 } while (0)
 
 /** Element-wise multiplication and addition */
-#define ACC_SCALE_4V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] += (SRCA)[0] * (SRCB)[0];	\
-      (DST)[1] += (SRCA)[1] * (SRCB)[1];	\
-      (DST)[2] += (SRCA)[2] * (SRCB)[2];	\
-      (DST)[3] += (SRCA)[3] * (SRCB)[3];	\
+#define ACC_SCALE_4V( DST, SRCA, SRCB )     \
+do {                        \
+      (DST)[0] += (SRCA)[0] * (SRCB)[0];    \
+      (DST)[1] += (SRCA)[1] * (SRCB)[1];    \
+      (DST)[2] += (SRCA)[2] * (SRCB)[2];    \
+      (DST)[3] += (SRCA)[3] * (SRCB)[3];    \
 } while (0)
 
 /** In-place scalar multiplication and addition */
-#define ACC_SCALE_SCALAR_4V( DST, S, SRCB )	\
-do {						\
-      (DST)[0] += S * (SRCB)[0];		\
-      (DST)[1] += S * (SRCB)[1];		\
-      (DST)[2] += S * (SRCB)[2];		\
-      (DST)[3] += S * (SRCB)[3];		\
+#define ACC_SCALE_SCALAR_4V( DST, S, SRCB ) \
+do {                        \
+      (DST)[0] += S * (SRCB)[0];        \
+      (DST)[1] += S * (SRCB)[1];        \
+      (DST)[2] += S * (SRCB)[2];        \
+      (DST)[3] += S * (SRCB)[3];        \
 } while (0)
 
 /** Scalar multiplication */
-#define SCALE_SCALAR_4V( DST, S, SRCB )		\
-do {						\
-      (DST)[0] = S * (SRCB)[0];			\
-      (DST)[1] = S * (SRCB)[1];			\
-      (DST)[2] = S * (SRCB)[2];			\
-      (DST)[3] = S * (SRCB)[3];			\
+#define SCALE_SCALAR_4V( DST, S, SRCB )     \
+do {                        \
+      (DST)[0] = S * (SRCB)[0];         \
+      (DST)[1] = S * (SRCB)[1];         \
+      (DST)[2] = S * (SRCB)[2];         \
+      (DST)[3] = S * (SRCB)[3];         \
 } while (0)
 
 /** In-place scalar multiplication */
-#define SELF_SCALE_SCALAR_4V( DST, S )		\
-do {						\
-      (DST)[0] *= S;				\
-      (DST)[1] *= S;				\
-      (DST)[2] *= S;				\
-      (DST)[3] *= S;				\
+#define SELF_SCALE_SCALAR_4V( DST, S )      \
+do {                        \
+      (DST)[0] *= S;                \
+      (DST)[1] *= S;                \
+      (DST)[2] *= S;                \
+      (DST)[3] *= S;                \
 } while (0)
 
 /** Assignment */
-#define ASSIGN_4V( V, V0, V1, V2, V3 ) 		\
-do { 						\
-    V[0] = V0;					\
-    V[1] = V1;					\
-    V[2] = V2;					\
-    V[3] = V3; 					\
+#define ASSIGN_4V( V, V0, V1, V2, V3 )      \
+do {                        \
+    V[0] = V0;                  \
+    V[1] = V1;                  \
+    V[2] = V2;                  \
+    V[3] = V3;                  \
 } while(0)
 
 /*@}*/
@@ -291,124 +290,124 @@
 /*@{*/
 
 /** Zero */
-#define ZERO_3V( DST )	(DST)[0] = (DST)[1] = (DST)[2] = 0
+#define ZERO_3V( DST )  (DST)[0] = (DST)[1] = (DST)[2] = 0
 
 /** Test for equality */
-#define TEST_EQ_3V(a,b)  ((a)[0] == (b)[0] && 	\
-			  (a)[1] == (b)[1] &&	\
-			  (a)[2] == (b)[2])
+#define TEST_EQ_3V(a,b)  ((a)[0] == (b)[0] &&   \
+              (a)[1] == (b)[1] &&   \
+              (a)[2] == (b)[2])
 
 /** Copy a 3-element vector */
-#define COPY_3V( DST, SRC )			\
-do {						\
-   (DST)[0] = (SRC)[0];				\
-   (DST)[1] = (SRC)[1];				\
-   (DST)[2] = (SRC)[2];				\
+#define COPY_3V( DST, SRC )         \
+do {                        \
+   (DST)[0] = (SRC)[0];             \
+   (DST)[1] = (SRC)[1];             \
+   (DST)[2] = (SRC)[2];             \
 } while (0)
 
 /** Copy a 3-element vector with cast */
-#define COPY_3V_CAST( DST, SRC, CAST )		\
-do {						\
-   (DST)[0] = (CAST)(SRC)[0];			\
-   (DST)[1] = (CAST)(SRC)[1];			\
-   (DST)[2] = (CAST)(SRC)[2];			\
+#define COPY_3V_CAST( DST, SRC, CAST )      \
+do {                        \
+   (DST)[0] = (CAST)(SRC)[0];           \
+   (DST)[1] = (CAST)(SRC)[1];           \
+   (DST)[2] = (CAST)(SRC)[2];           \
 } while (0)
 
 /** Copy a 3-element float vector */
-#define COPY_3FV( DST, SRC )			\
-do {						\
-   const GLfloat *_tmp = (SRC);			\
-   (DST)[0] = _tmp[0];				\
-   (DST)[1] = _tmp[1];				\
-   (DST)[2] = _tmp[2];				\
+#define COPY_3FV( DST, SRC )            \
+do {                        \
+   const GLfloat *_tmp = (SRC);         \
+   (DST)[0] = _tmp[0];              \
+   (DST)[1] = _tmp[1];              \
+   (DST)[2] = _tmp[2];              \
 } while (0)
 
 /** Subtraction */
-#define SUB_3V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] - (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] - (SRCB)[1];		\
-      (DST)[2] = (SRCA)[2] - (SRCB)[2];		\
+#define SUB_3V( DST, SRCA, SRCB )       \
+do {                        \
+      (DST)[0] = (SRCA)[0] - (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] - (SRCB)[1];     \
+      (DST)[2] = (SRCA)[2] - (SRCB)[2];     \
 } while (0)
 
 /** Addition */
-#define ADD_3V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] + (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] + (SRCB)[1];		\
-      (DST)[2] = (SRCA)[2] + (SRCB)[2];		\
+#define ADD_3V( DST, SRCA, SRCB )       \
+do {                        \
+      (DST)[0] = (SRCA)[0] + (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] + (SRCB)[1];     \
+      (DST)[2] = (SRCA)[2] + (SRCB)[2];     \
 } while (0)
 
 /** In-place scalar multiplication */
-#define SCALE_3V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] * (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] * (SRCB)[1];		\
-      (DST)[2] = (SRCA)[2] * (SRCB)[2];		\
+#define SCALE_3V( DST, SRCA, SRCB )     \
+do {                        \
+      (DST)[0] = (SRCA)[0] * (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] * (SRCB)[1];     \
+      (DST)[2] = (SRCA)[2] * (SRCB)[2];     \
 } while (0)
 
 /** In-place element-wise multiplication */
-#define SELF_SCALE_3V( DST, SRC )		\
-do {						\
-      (DST)[0] *= (SRC)[0];			\
-      (DST)[1] *= (SRC)[1];			\
-      (DST)[2] *= (SRC)[2];			\
+#define SELF_SCALE_3V( DST, SRC )       \
+do {                        \
+      (DST)[0] *= (SRC)[0];         \
+      (DST)[1] *= (SRC)[1];         \
+      (DST)[2] *= (SRC)[2];         \
 } while (0)
 
 /** In-place addition */
-#define ACC_3V( DST, SRC )			\
-do {						\
-      (DST)[0] += (SRC)[0];			\
-      (DST)[1] += (SRC)[1];			\
-      (DST)[2] += (SRC)[2];			\
+#define ACC_3V( DST, SRC )          \
+do {                        \
+      (DST)[0] += (SRC)[0];         \
+      (DST)[1] += (SRC)[1];         \
+      (DST)[2] += (SRC)[2];         \
 } while (0)
 
 /** Element-wise multiplication and addition */
-#define ACC_SCALE_3V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] += (SRCA)[0] * (SRCB)[0];	\
-      (DST)[1] += (SRCA)[1] * (SRCB)[1];	\
-      (DST)[2] += (SRCA)[2] * (SRCB)[2];	\
+#define ACC_SCALE_3V( DST, SRCA, SRCB )     \
+do {                        \
+      (DST)[0] += (SRCA)[0] * (SRCB)[0];    \
+      (DST)[1] += (SRCA)[1] * (SRCB)[1];    \
+      (DST)[2] += (SRCA)[2] * (SRCB)[2];    \
 } while (0)
 
 /** Scalar multiplication */
-#define SCALE_SCALAR_3V( DST, S, SRCB ) 	\
-do {						\
-      (DST)[0] = S * (SRCB)[0];			\
-      (DST)[1] = S * (SRCB)[1];			\
-      (DST)[2] = S * (SRCB)[2];			\
+#define SCALE_SCALAR_3V( DST, S, SRCB )     \
+do {                        \
+      (DST)[0] = S * (SRCB)[0];         \
+      (DST)[1] = S * (SRCB)[1];         \
+      (DST)[2] = S * (SRCB)[2];         \
 } while (0)
 
 /** In-place scalar multiplication and addition */
-#define ACC_SCALE_SCALAR_3V( DST, S, SRCB )	\
-do {						\
-      (DST)[0] += S * (SRCB)[0];		\
-      (DST)[1] += S * (SRCB)[1];		\
-      (DST)[2] += S * (SRCB)[2];		\
+#define ACC_SCALE_SCALAR_3V( DST, S, SRCB ) \
+do {                        \
+      (DST)[0] += S * (SRCB)[0];        \
+      (DST)[1] += S * (SRCB)[1];        \
+      (DST)[2] += S * (SRCB)[2];        \
 } while (0)
 
 /** In-place scalar multiplication */
-#define SELF_SCALE_SCALAR_3V( DST, S )		\
-do {						\
-      (DST)[0] *= S;				\
-      (DST)[1] *= S;				\
-      (DST)[2] *= S;				\
+#define SELF_SCALE_SCALAR_3V( DST, S )      \
+do {                        \
+      (DST)[0] *= S;                \
+      (DST)[1] *= S;                \
+      (DST)[2] *= S;                \
 } while (0)
 
 /** In-place scalar addition */
-#define ACC_SCALAR_3V( DST, S ) 		\
-do {						\
-      (DST)[0] += S;				\
-      (DST)[1] += S;				\
-      (DST)[2] += S;				\
+#define ACC_SCALAR_3V( DST, S )         \
+do {                        \
+      (DST)[0] += S;                \
+      (DST)[1] += S;                \
+      (DST)[2] += S;                \
 } while (0)
 
 /** Assignment */
-#define ASSIGN_3V( V, V0, V1, V2 )	\
-do { 				 	\
-    V[0] = V0; 				\
-    V[1] = V1; 				\
-    V[2] = V2; 				\
+#define ASSIGN_3V( V, V0, V1, V2 )  \
+do {                    \
+    V[0] = V0;              \
+    V[1] = V1;              \
+    V[2] = V2;              \
 } while(0)
 
 /*@}*/
@@ -419,91 +418,91 @@
 /*@{*/
 
 /** Zero */
-#define ZERO_2V( DST )	(DST)[0] = (DST)[1] = 0
+#define ZERO_2V( DST )  (DST)[0] = (DST)[1] = 0
 
 /** Copy a 2-element vector */
-#define COPY_2V( DST, SRC )			\
-do {						\
-   (DST)[0] = (SRC)[0];				\
-   (DST)[1] = (SRC)[1];				\
+#define COPY_2V( DST, SRC )         \
+do {                        \
+   (DST)[0] = (SRC)[0];             \
+   (DST)[1] = (SRC)[1];             \
 } while (0)
 
 /** Copy a 2-element vector with cast */
-#define COPY_2V_CAST( DST, SRC, CAST )		\
-do {						\
-   (DST)[0] = (CAST)(SRC)[0];			\
-   (DST)[1] = (CAST)(SRC)[1];			\
+#define COPY_2V_CAST( DST, SRC, CAST )      \
+do {                        \
+   (DST)[0] = (CAST)(SRC)[0];           \
+   (DST)[1] = (CAST)(SRC)[1];           \
 } while (0)
 
 /** Copy a 2-element float vector */
-#define COPY_2FV( DST, SRC )			\
-do {						\
-   const GLfloat *_tmp = (SRC);			\
-   (DST)[0] = _tmp[0];				\
-   (DST)[1] = _tmp[1];				\
+#define COPY_2FV( DST, SRC )            \
+do {                        \
+   const GLfloat *_tmp = (SRC);         \
+   (DST)[0] = _tmp[0];              \
+   (DST)[1] = _tmp[1];              \
 } while (0)
 
 /** Subtraction */
-#define SUB_2V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] - (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] - (SRCB)[1];		\
+#define SUB_2V( DST, SRCA, SRCB )       \
+do {                        \
+      (DST)[0] = (SRCA)[0] - (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] - (SRCB)[1];     \
 } while (0)
 
 /** Addition */
-#define ADD_2V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] + (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] + (SRCB)[1];		\
+#define ADD_2V( DST, SRCA, SRCB )       \
+do {                        \
+      (DST)[0] = (SRCA)[0] + (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] + (SRCB)[1];     \
 } while (0)
 
 /** In-place scalar multiplication */
-#define SCALE_2V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] = (SRCA)[0] * (SRCB)[0];		\
-      (DST)[1] = (SRCA)[1] * (SRCB)[1];		\
+#define SCALE_2V( DST, SRCA, SRCB )     \
+do {                        \
+      (DST)[0] = (SRCA)[0] * (SRCB)[0];     \
+      (DST)[1] = (SRCA)[1] * (SRCB)[1];     \
 } while (0)
 
 /** In-place addition */
-#define ACC_2V( DST, SRC )			\
-do {						\
-      (DST)[0] += (SRC)[0];			\
-      (DST)[1] += (SRC)[1];			\
+#define ACC_2V( DST, SRC )          \
+do {                        \
+      (DST)[0] += (SRC)[0];         \
+      (DST)[1] += (SRC)[1];         \
 } while (0)
 
 /** Element-wise multiplication and addition */
-#define ACC_SCALE_2V( DST, SRCA, SRCB )		\
-do {						\
-      (DST)[0] += (SRCA)[0] * (SRCB)[0];	\
-      (DST)[1] += (SRCA)[1] * (SRCB)[1];	\
+#define ACC_SCALE_2V( DST, SRCA, SRCB )     \
+do {                        \
+      (DST)[0] += (SRCA)[0] * (SRCB)[0];    \
+      (DST)[1] += (SRCA)[1] * (SRCB)[1];    \
 } while (0)
 
 /** Scalar multiplication */
-#define SCALE_SCALAR_2V( DST, S, SRCB ) 	\
-do {						\
-      (DST)[0] = S * (SRCB)[0];			\
-      (DST)[1] = S * (SRCB)[1];			\
+#define SCALE_SCALAR_2V( DST, S, SRCB )     \
+do {                        \
+      (DST)[0] = S * (SRCB)[0];         \
+      (DST)[1] = S * (SRCB)[1];         \
 } while (0)
 
 /** In-place scalar multiplication and addition */
-#define ACC_SCALE_SCALAR_2V( DST, S, SRCB )	\
-do {						\
-      (DST)[0] += S * (SRCB)[0];		\
-      (DST)[1] += S * (SRCB)[1];		\
+#define ACC_SCALE_SCALAR_2V( DST, S, SRCB ) \
+do {                        \
+      (DST)[0] += S * (SRCB)[0];        \
+      (DST)[1] += S * (SRCB)[1];        \
 } while (0)
 
 /** In-place scalar multiplication */
-#define SELF_SCALE_SCALAR_2V( DST, S )		\
-do {						\
-      (DST)[0] *= S;				\
-      (DST)[1] *= S;				\
+#define SELF_SCALE_SCALAR_2V( DST, S )      \
+do {                        \
+      (DST)[0] *= S;                \
+      (DST)[1] *= S;                \
 } while (0)
 
 /** In-place scalar addition */
-#define ACC_SCALAR_2V( DST, S ) 		\
-do {						\
-      (DST)[0] += S;				\
-      (DST)[1] += S;				\
+#define ACC_SCALAR_2V( DST, S )         \
+do {                        \
+      (DST)[0] += S;                \
+      (DST)[1] += S;                \
 } while (0)
 
 
@@ -514,79 +513,79 @@
  * \note \p OUT argument is evaluated twice!
  * \note Be wary of using *coord++ as an argument to any of these macros!
  */
-#define LINTERP(T, OUT, IN)	((OUT) + (T) * ((IN) - (OUT)))
+#define LINTERP(T, OUT, IN) ((OUT) + (T) * ((IN) - (OUT)))
 
 /* Can do better with integer math
  */
-#define INTERP_UB( t, dstub, outub, inub )	\
-do {						\
-   GLfloat inf = UBYTE_TO_FLOAT( inub );	\
-   GLfloat outf = UBYTE_TO_FLOAT( outub );	\
-   GLfloat dstf = LINTERP( t, outf, inf );	\
-   UNCLAMPED_FLOAT_TO_UBYTE( dstub, dstf );	\
+#define INTERP_UB( t, dstub, outub, inub )  \
+do {                        \
+   GLfloat inf = UBYTE_TO_FLOAT( inub );    \
+   GLfloat outf = UBYTE_TO_FLOAT( outub );  \
+   GLfloat dstf = LINTERP( t, outf, inf );  \
+   UNCLAMPED_FLOAT_TO_UBYTE( dstub, dstf ); \
 } while (0)
 
-#define INTERP_CHAN( t, dstc, outc, inc )	\
-do {						\
-   GLfloat inf = CHAN_TO_FLOAT( inc );		\
-   GLfloat outf = CHAN_TO_FLOAT( outc );	\
-   GLfloat dstf = LINTERP( t, outf, inf );	\
-   UNCLAMPED_FLOAT_TO_CHAN( dstc, dstf );	\
+#define INTERP_CHAN( t, dstc, outc, inc )   \
+do {                        \
+   GLfloat inf = CHAN_TO_FLOAT( inc );      \
+   GLfloat outf = CHAN_TO_FLOAT( outc );    \
+   GLfloat dstf = LINTERP( t, outf, inf );  \
+   UNCLAMPED_FLOAT_TO_CHAN( dstc, dstf );   \
 } while (0)
 
-#define INTERP_UI( t, dstui, outui, inui )	\
+#define INTERP_UI( t, dstui, outui, inui )  \
    dstui = (GLuint) (GLint) LINTERP( (t), (GLfloat) (outui), (GLfloat) (inui) )
 
-#define INTERP_F( t, dstf, outf, inf )		\
+#define INTERP_F( t, dstf, outf, inf )      \
    dstf = LINTERP( t, outf, inf )
 
-#define INTERP_4F( t, dst, out, in )		\
-do {						\
-   dst[0] = LINTERP( (t), (out)[0], (in)[0] );	\
-   dst[1] = LINTERP( (t), (out)[1], (in)[1] );	\
-   dst[2] = LINTERP( (t), (out)[2], (in)[2] );	\
-   dst[3] = LINTERP( (t), (out)[3], (in)[3] );	\
+#define INTERP_4F( t, dst, out, in )        \
+do {                        \
+   dst[0] = LINTERP( (t), (out)[0], (in)[0] );  \
+   dst[1] = LINTERP( (t), (out)[1], (in)[1] );  \
+   dst[2] = LINTERP( (t), (out)[2], (in)[2] );  \
+   dst[3] = LINTERP( (t), (out)[3], (in)[3] );  \
 } while (0)
 
-#define INTERP_3F( t, dst, out, in )		\
-do {						\
-   dst[0] = LINTERP( (t), (out)[0], (in)[0] );	\
-   dst[1] = LINTERP( (t), (out)[1], (in)[1] );	\
-   dst[2] = LINTERP( (t), (out)[2], (in)[2] );	\
+#define INTERP_3F( t, dst, out, in )        \
+do {                        \
+   dst[0] = LINTERP( (t), (out)[0], (in)[0] );  \
+   dst[1] = LINTERP( (t), (out)[1], (in)[1] );  \
+   dst[2] = LINTERP( (t), (out)[2], (in)[2] );  \
 } while (0)
 
-#define INTERP_4CHAN( t, dst, out, in )			\
-do {							\
-   INTERP_CHAN( (t), (dst)[0], (out)[0], (in)[0] );	\
-   INTERP_CHAN( (t), (dst)[1], (out)[1], (in)[1] );	\
-   INTERP_CHAN( (t), (dst)[2], (out)[2], (in)[2] );	\
-   INTERP_CHAN( (t), (dst)[3], (out)[3], (in)[3] );	\
+#define INTERP_4CHAN( t, dst, out, in )         \
+do {                            \
+   INTERP_CHAN( (t), (dst)[0], (out)[0], (in)[0] ); \
+   INTERP_CHAN( (t), (dst)[1], (out)[1], (in)[1] ); \
+   INTERP_CHAN( (t), (dst)[2], (out)[2], (in)[2] ); \
+   INTERP_CHAN( (t), (dst)[3], (out)[3], (in)[3] ); \
 } while (0)
 
-#define INTERP_3CHAN( t, dst, out, in )			\
-do {							\
-   INTERP_CHAN( (t), (dst)[0], (out)[0], (in)[0] );	\
-   INTERP_CHAN( (t), (dst)[1], (out)[1], (in)[1] );	\
-   INTERP_CHAN( (t), (dst)[2], (out)[2], (in)[2] );	\
+#define INTERP_3CHAN( t, dst, out, in )         \
+do {                            \
+   INTERP_CHAN( (t), (dst)[0], (out)[0], (in)[0] ); \
+   INTERP_CHAN( (t), (dst)[1], (out)[1], (in)[1] ); \
+   INTERP_CHAN( (t), (dst)[2], (out)[2], (in)[2] ); \
 } while (0)
 
-#define INTERP_SZ( t, vec, to, out, in, sz )				\
-do {									\
-   switch (sz) {							\
-   case 4: vec[to][3] = LINTERP( (t), (vec)[out][3], (vec)[in][3] );	\
-   case 3: vec[to][2] = LINTERP( (t), (vec)[out][2], (vec)[in][2] );	\
-   case 2: vec[to][1] = LINTERP( (t), (vec)[out][1], (vec)[in][1] );	\
-   case 1: vec[to][0] = LINTERP( (t), (vec)[out][0], (vec)[in][0] );	\
-   }									\
+#define INTERP_SZ( t, vec, to, out, in, sz )                \
+do {                                    \
+   switch (sz) {                            \
+   case 4: vec[to][3] = LINTERP( (t), (vec)[out][3], (vec)[in][3] );    \
+   case 3: vec[to][2] = LINTERP( (t), (vec)[out][2], (vec)[in][2] );    \
+   case 2: vec[to][1] = LINTERP( (t), (vec)[out][1], (vec)[in][1] );    \
+   case 1: vec[to][0] = LINTERP( (t), (vec)[out][0], (vec)[in][0] );    \
+   }                                    \
 } while(0)
 
 
 
 /** Assign scalers to short vectors */
-#define ASSIGN_2V( V, V0, V1 )	\
-do { 				\
-    V[0] = V0; 			\
-    V[1] = V1; 			\
+#define ASSIGN_2V( V, V0, V1 )  \
+do {                \
+    V[0] = V0;          \
+    V[1] = V1;          \
 } while(0)
 
 /*@}*/
@@ -616,31 +615,31 @@
 
 /** Dot product of two 4-element vectors */
 #define DOT4( a, b )  ( (a)[0]*(b)[0] + (a)[1]*(b)[1] + \
-			(a)[2]*(b)[2] + (a)[3]*(b)[3] )
+            (a)[2]*(b)[2] + (a)[3]*(b)[3] )
 
 /** Dot product of two 4-element vectors */
 #define DOT4V(v,a,b,c,d) (v[0]*(a) + v[1]*(b) + v[2]*(c) + v[3]*(d))
 
 
 /** Cross product of two 3-element vectors */
-#define CROSS3(n, u, v) 			\
-do {						\
-   (n)[0] = (u)[1]*(v)[2] - (u)[2]*(v)[1]; 	\
-   (n)[1] = (u)[2]*(v)[0] - (u)[0]*(v)[2]; 	\
-   (n)[2] = (u)[0]*(v)[1] - (u)[1]*(v)[0];	\
+#define CROSS3(n, u, v)             \
+do {                        \
+   (n)[0] = (u)[1]*(v)[2] - (u)[2]*(v)[1];  \
+   (n)[1] = (u)[2]*(v)[0] - (u)[0]*(v)[2];  \
+   (n)[2] = (u)[0]*(v)[1] - (u)[1]*(v)[0];  \
 } while (0)
 
 
 /* Normalize a 3-element vector to unit length. */
-#define NORMALIZE_3FV( V )			\
-do {						\
-   GLfloat len = (GLfloat) LEN_SQUARED_3FV(V);	\
-   if (len) {					\
-      len = INV_SQRTF(len);			\
-      (V)[0] = (GLfloat) ((V)[0] * len);	\
-      (V)[1] = (GLfloat) ((V)[1] * len);	\
-      (V)[2] = (GLfloat) ((V)[2] * len);	\
-   }						\
+#define NORMALIZE_3FV( V )          \
+do {                        \
+   GLfloat len = (GLfloat) LEN_SQUARED_3FV(V);  \
+   if (len) {                   \
+      len = INV_SQRTF(len);         \
+      (V)[0] = (GLfloat) ((V)[0] * len);    \
+      (V)[1] = (GLfloat) ((V)[1] * len);    \
+      (V)[2] = (GLfloat) ((V)[2] * len);    \
+   }                        \
 } while(0)
 
 #define LEN_3FV( V ) (SQRTF((V)[0]*(V)[0]+(V)[1]*(V)[1]+(V)[2]*(V)[2]))
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c
index e74e172..76ca284 100644
--- a/src/mesa/main/matrix.c
+++ b/src/mesa/main/matrix.c
@@ -61,7 +61,7 @@
  * the top matrix of the current matrix stack and sets
  * __GLcontextRec::NewState.
  */
-void
+void GLAPIENTRY
 _mesa_Frustum( GLdouble left, GLdouble right,
                GLdouble bottom, GLdouble top,
                GLdouble nearval, GLdouble farval )
@@ -103,7 +103,7 @@
  * the top matrix of the current matrix stack and sets
  * __GLcontextRec::NewState.
  */
-void
+void GLAPIENTRY
 _mesa_Ortho( GLdouble left, GLdouble right,
              GLdouble bottom, GLdouble top,
              GLdouble nearval, GLdouble farval )
@@ -142,7 +142,7 @@
  * __GLcontextRec::CurrentStack and gl_transform_attrib::MatrixMode with the
  * specified matrix stack.
  */
-void
+void GLAPIENTRY
 _mesa_MatrixMode( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -222,7 +222,7 @@
  * matrix in the stack. Marks __GLcontextRec::NewState with the stack dirty
  * flag.
  */
-void
+void GLAPIENTRY
 _mesa_PushMatrix( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -254,7 +254,7 @@
  * moves the stack head down. Marks __GLcontextRec::NewState with the dirty
  * stack flag.
  */
-void
+void GLAPIENTRY
 _mesa_PopMatrix( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -284,7 +284,7 @@
  * matrix in the current stack. Marks __GLcontextRec::NewState with the stack
  * dirty flag.
  */
-void
+void GLAPIENTRY
 _mesa_LoadIdentity( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -309,7 +309,7 @@
  * in the current stack and the given matrix. Marks __GLcontextRec::NewState
  * with the dirty stack flag.
  */
-void
+void GLAPIENTRY
 _mesa_LoadMatrixf( const GLfloat *m )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -339,7 +339,7 @@
  * matrix in the current stack and the given matrix. Marks
  * __GLcontextRec::NewState with the dirty stack flag.
  */
-void
+void GLAPIENTRY
 _mesa_MultMatrixf( const GLfloat *m )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -371,7 +371,7 @@
  * matrix in the current stack and the given parameters. Marks
  * __GLcontextRec::NewState with the dirty stack flag.
  */
-void
+void GLAPIENTRY
 _mesa_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -396,7 +396,7 @@
  * matrix in the current stack and the given parameters. Marks
  * __GLcontextRec::NewState with the dirty stack flag.
  */
-void
+void GLAPIENTRY
 _mesa_Scalef( GLfloat x, GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -419,7 +419,7 @@
  * matrix in the current stack and the given parameters. Marks
  * __GLcontextRec::NewState with the dirty stack flag.
  */
-void
+void GLAPIENTRY
 _mesa_Translatef( GLfloat x, GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -430,7 +430,7 @@
 
  
 #if _HAVE_FULL_GL
-void
+void GLAPIENTRY
 _mesa_LoadMatrixd( const GLdouble *m )
 {
    GLint i;
@@ -441,7 +441,7 @@
    _mesa_LoadMatrixf(f);
 }
 
-void
+void GLAPIENTRY
 _mesa_MultMatrixd( const GLdouble *m )
 {
    GLint i;
@@ -453,21 +453,21 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Rotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z )
 {
    _mesa_Rotatef((GLfloat) angle, (GLfloat) x, (GLfloat) y, (GLfloat) z);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Scaled( GLdouble x, GLdouble y, GLdouble z )
 {
    _mesa_Scalef((GLfloat) x, (GLfloat) y, (GLfloat) z);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_Translated( GLdouble x, GLdouble y, GLdouble z )
 {
    _mesa_Translatef((GLfloat) x, (GLfloat) y, (GLfloat) z);
@@ -476,7 +476,7 @@
 
 
 #if _HAVE_FULL_GL
-void
+void GLAPIENTRY
 _mesa_LoadTransposeMatrixfARB( const GLfloat *m )
 {
    GLfloat tm[16];
@@ -486,7 +486,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_LoadTransposeMatrixdARB( const GLdouble *m )
 {
    GLfloat tm[16];
@@ -496,7 +496,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_MultTransposeMatrixfARB( const GLfloat *m )
 {
    GLfloat tm[16];
@@ -506,7 +506,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_MultTransposeMatrixdARB( const GLdouble *m )
 {
    GLfloat tm[16];
@@ -528,7 +528,7 @@
  * Flushes the vertices and calls _mesa_set_viewport() with the given
  * parameters.
  */
-void
+void GLAPIENTRY
 _mesa_Viewport( GLint x, GLint y, GLsizei width, GLsizei height )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -625,7 +625,7 @@
 
 
 #if _HAVE_FULL_GL
-void
+void GLAPIENTRY
 _mesa_DepthRange( GLclampd nearval, GLclampd farval )
 {
    /*
diff --git a/src/mesa/main/matrix.h b/src/mesa/main/matrix.h
index b81ab84..3876986 100644
--- a/src/mesa/main/matrix.h
+++ b/src/mesa/main/matrix.h
@@ -35,77 +35,77 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_Frustum( GLdouble left, GLdouble right,
                GLdouble bottom, GLdouble top,
                GLdouble nearval, GLdouble farval );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Ortho( GLdouble left, GLdouble right,
              GLdouble bottom, GLdouble top,
              GLdouble nearval, GLdouble farval );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PushMatrix( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PopMatrix( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadIdentity( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadMatrixf( const GLfloat *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadMatrixd( const GLdouble *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MatrixMode( GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultMatrixf( const GLfloat *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultMatrixd( const GLdouble *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Rotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Scalef( GLfloat x, GLfloat y, GLfloat z );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Scaled( GLdouble x, GLdouble y, GLdouble z );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Translatef( GLfloat x, GLfloat y, GLfloat z );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Translated( GLdouble x, GLdouble y, GLdouble z );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadTransposeMatrixfARB( const GLfloat *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadTransposeMatrixdARB( const GLdouble *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultTransposeMatrixfARB( const GLfloat *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultTransposeMatrixdARB( const GLdouble *m );
 
-extern void
+extern void GLAPIENTRY
 _mesa_Viewport( GLint x, GLint y, GLsizei width, GLsizei height );
 
-extern void
+extern void 
 _mesa_set_viewport( GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height );
 
-extern void
+extern void GLAPIENTRY
 _mesa_DepthRange( GLclampd nearval, GLclampd farval );
 
 
diff --git a/src/mesa/main/nvprogram.c b/src/mesa/main/nvprogram.c
index 2fb2077..e51a8c2 100644
--- a/src/mesa/main/nvprogram.c
+++ b/src/mesa/main/nvprogram.c
@@ -49,7 +49,7 @@
  * Execute a vertex state program.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params)
 {
    struct vertex_program *vprog;
@@ -81,7 +81,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-GLboolean _mesa_AreProgramsResidentNV(GLsizei n, const GLuint *ids,
+GLboolean GLAPIENTRY _mesa_AreProgramsResidentNV(GLsizei n, const GLuint *ids,
                                       GLboolean *residences)
 {
    GLint i, j;
@@ -128,7 +128,7 @@
  * Request that a set of programs be resident in hardware.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_RequestResidentProgramsNV(GLsizei n, const GLuint *ids)
 {
    GLint i;
@@ -166,7 +166,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetProgramParameterfvNV(GLenum target, GLuint index,
                               GLenum pname, GLfloat *params)
 {
@@ -201,7 +201,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetProgramParameterdvNV(GLenum target, GLuint index,
                               GLenum pname, GLdouble *params)
 {
@@ -236,7 +236,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetProgramivNV(GLuint id, GLenum pname, GLint *params)
 {
    struct program *prog;
@@ -273,7 +273,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetProgramStringNV(GLuint id, GLenum pname, GLubyte *program)
 {
    struct program *prog;
@@ -307,7 +307,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetTrackMatrixivNV(GLenum target, GLuint address,
                          GLenum pname, GLint *params)
 {
@@ -349,7 +349,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -385,7 +385,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -421,7 +421,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribivNV(GLuint index, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -468,7 +468,7 @@
  * \note Not compiled into display lists.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_GetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -493,7 +493,7 @@
  * Load/parse/compile a program.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_LoadProgramNV(GLenum target, GLuint id, GLsizei len,
                     const GLubyte *program)
 {
@@ -555,7 +555,7 @@
  * Set a program parameter register.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramParameter4dNV(GLenum target, GLuint index,
                            GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
@@ -568,7 +568,7 @@
  * Set a program parameter register.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramParameter4dvNV(GLenum target, GLuint index,
                             const GLdouble *params)
 {
@@ -582,7 +582,7 @@
  * Set a program parameter register.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramParameter4fNV(GLenum target, GLuint index,
                            GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -609,7 +609,7 @@
  * Set a program parameter register.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramParameter4fvNV(GLenum target, GLuint index,
                             const GLfloat *params)
 {
@@ -623,7 +623,7 @@
  * Set a sequence of program parameter registers.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramParameters4dvNV(GLenum target, GLuint index,
                              GLuint num, const GLdouble *params)
 {
@@ -655,7 +655,7 @@
  * Set a sequence of program parameter registers.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_ProgramParameters4fvNV(GLenum target, GLuint index,
                              GLuint num, const GLfloat *params)
 {
@@ -685,7 +685,7 @@
  * Setup tracking of matrices into program parameter registers.
  * \note Called from the GL API dispatcher.
  */
-void
+void GLAPIENTRY
 _mesa_TrackMatrixNV(GLenum target, GLuint address,
                     GLenum matrix, GLenum transform)
 {
@@ -743,7 +743,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name,
                                 GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
@@ -779,7 +779,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name,
                                  const float v[])
 {
@@ -787,7 +787,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name,
                                 GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
@@ -796,7 +796,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name,
                                  const double v[])
 {
@@ -806,7 +806,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name,
                                    GLfloat *params)
 {
@@ -844,7 +844,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name,
                                    GLdouble *params)
 {
diff --git a/src/mesa/main/nvprogram.h b/src/mesa/main/nvprogram.h
index f505a84..dcea772 100644
--- a/src/mesa/main/nvprogram.h
+++ b/src/mesa/main/nvprogram.h
@@ -30,88 +30,88 @@
 #define NVPROGRAM_H
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ExecuteProgramNV(GLenum target, GLuint id, const GLfloat *params);
 
-extern GLboolean
+extern GLboolean GLAPIENTRY 
 _mesa_AreProgramsResidentNV(GLsizei n, const GLuint *ids, GLboolean *residences);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RequestResidentProgramsNV(GLsizei n, const GLuint *ids);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramivNV(GLuint id, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramStringNV(GLuint id, GLenum pname, GLubyte *program);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTrackMatrixivNV(GLenum target, GLuint address, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribdvNV(GLuint index, GLenum pname, GLdouble *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribfvNV(GLuint index, GLenum pname, GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribivNV(GLuint index, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer);
 
-extern void
+extern void GLAPIENTRY
 _mesa_LoadProgramNV(GLenum target, GLuint id, GLsizei len, const GLubyte *program);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramParameter4dNV(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramParameter4dvNV(GLenum target, GLuint index, const GLdouble *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramParameter4fNV(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramParameter4fvNV(GLenum target, GLuint index, const GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramParameters4dvNV(GLenum target, GLuint index, GLuint num, const GLdouble *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramParameters4fvNV(GLenum target, GLuint index, GLuint num, const GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_TrackMatrixNV(GLenum target, GLuint address, GLenum matrix, GLenum transform);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte *name,
                                 GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramNamedParameter4fvNV(GLuint id, GLsizei len, const GLubyte *name,
                                  const float v[]);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramNamedParameter4dNV(GLuint id, GLsizei len, const GLubyte *name,
                                 GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_ProgramNamedParameter4dvNV(GLuint id, GLsizei len, const GLubyte *name,
                                  const double v[]);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramNamedParameterfvNV(GLuint id, GLsizei len, const GLubyte *name,
                                    GLfloat *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name,
                                    GLdouble *params);
 
diff --git a/src/mesa/main/occlude.c b/src/mesa/main/occlude.c
index 871beb9..1285874 100644
--- a/src/mesa/main/occlude.c
+++ b/src/mesa/main/occlude.c
@@ -97,7 +97,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GenQueriesARB(GLsizei n, GLuint *ids)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -131,7 +131,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -161,7 +161,7 @@
 }
 
 
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_IsQueryARB(GLuint id)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -174,7 +174,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_BeginQueryARB(GLenum target, GLuint id)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -216,7 +216,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_EndQueryARB(GLenum target)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -245,7 +245,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -270,7 +270,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -299,7 +299,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/occlude.h b/src/mesa/main/occlude.h
index e837dd7..5696463 100644
--- a/src/mesa/main/occlude.h
+++ b/src/mesa/main/occlude.h
@@ -30,28 +30,28 @@
 extern void
 _mesa_init_occlude(GLcontext *ctx);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GenQueriesARB(GLsizei n, GLuint *ids);
 
-extern void
+extern void GLAPIENTRY
 _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids);
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_IsQueryARB(GLuint id);
 
-extern void
+extern void GLAPIENTRY
 _mesa_BeginQueryARB(GLenum target, GLuint id);
 
-extern void
+extern void GLAPIENTRY
 _mesa_EndQueryARB(GLenum target);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params);
 
 
diff --git a/src/mesa/main/pixel.c b/src/mesa/main/pixel.c
index e0c792b..61c7e57 100644
--- a/src/mesa/main/pixel.c
+++ b/src/mesa/main/pixel.c
@@ -38,7 +38,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -59,7 +59,7 @@
 /**********************************************************************/
 
 
-void
+void GLAPIENTRY
 _mesa_PixelStorei( GLenum pname, GLint param )
 {
    /* NOTE: this call can't be compiled into the display list */
@@ -240,7 +240,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PixelStoref( GLenum pname, GLfloat param )
 {
    _mesa_PixelStorei( pname, (GLint) param );
@@ -254,7 +254,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
 {
    GLint i;
@@ -352,7 +352,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values )
 {
    const GLint n = MIN2(mapsize, MAX_PIXEL_MAP_TABLE);
@@ -373,7 +373,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values )
 {
    const GLint n = MIN2(mapsize, MAX_PIXEL_MAP_TABLE);
@@ -394,7 +394,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetPixelMapfv( GLenum map, GLfloat *values )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -442,7 +442,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetPixelMapuiv( GLenum map, GLuint *values )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -502,7 +502,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetPixelMapusv( GLenum map, GLushort *values )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -576,7 +576,7 @@
  * Implements glPixelTransfer[fi] whether called immediately or from a
  * display list.
  */
-void
+void GLAPIENTRY
 _mesa_PixelTransferf( GLenum pname, GLfloat param )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -770,7 +770,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PixelTransferi( GLenum pname, GLint param )
 {
    _mesa_PixelTransferf( pname, (GLfloat) param );
diff --git a/src/mesa/main/pixel.h b/src/mesa/main/pixel.h
index e41d6b1..a3efcf5 100644
--- a/src/mesa/main/pixel.h
+++ b/src/mesa/main/pixel.h
@@ -38,37 +38,38 @@
 /** \name API functions */
 /*@*/
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetPixelMapfv( GLenum map, GLfloat *values );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetPixelMapuiv( GLenum map, GLuint *values );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetPixelMapusv( GLenum map, GLushort *values );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelStoref( GLenum pname, GLfloat param );
 
-extern void
+
+extern void GLAPIENTRY
 _mesa_PixelStorei( GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTransferf( GLenum pname, GLfloat param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTransferi( GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor );
 
 /*@}*/
diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c
index 466be57..cbb9155 100644
--- a/src/mesa/main/points.c
+++ b/src/mesa/main/points.c
@@ -49,7 +49,7 @@
  * size is different from one. Notifies the driver via
  * the dd_function_table::PointSize callback.
  */
-void
+void GLAPIENTRY
 _mesa_PointSize( GLfloat size )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -84,7 +84,7 @@
 /*
  * Added by GL_NV_point_sprite
  */
-void
+void GLAPIENTRY
 _mesa_PointParameteriNV( GLenum pname, GLint param )
 {
    const GLfloat value = (GLfloat) param;
@@ -95,7 +95,7 @@
 /*
  * Added by GL_NV_point_sprite
  */
-void
+void GLAPIENTRY
 _mesa_PointParameterivNV( GLenum pname, const GLint *params )
 {
    const GLfloat value = (GLfloat) params[0];
@@ -107,7 +107,7 @@
 /*
  * Same for both GL_EXT_point_parameters and GL_ARB_point_parameters.
  */
-void
+void GLAPIENTRY
 _mesa_PointParameterfEXT( GLenum pname, GLfloat param)
 {
    _mesa_PointParameterfvEXT(pname, &param);
@@ -118,7 +118,7 @@
 /*
  * Same for both GL_EXT_point_parameters and GL_ARB_point_parameters.
  */
-void
+void GLAPIENTRY
 _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/points.h b/src/mesa/main/points.h
index 7a4a77c..16513c3 100644
--- a/src/mesa/main/points.h
+++ b/src/mesa/main/points.h
@@ -35,19 +35,19 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_PointSize( GLfloat size );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PointParameteriNV( GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PointParameterivNV( GLenum pname, const GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PointParameterfEXT( GLenum pname, GLfloat param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params );
 
 extern void 
diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c
index 1051c8c..192c405 100644
--- a/src/mesa/main/polygon.c
+++ b/src/mesa/main/polygon.c
@@ -49,7 +49,7 @@
  * change, flushes the vertices and notifies the driver via
  * the dd_function_table::CullFace callback.
  */
-void
+void GLAPIENTRY
 _mesa_CullFace( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -85,7 +85,7 @@
  * flushes the vertices and notifies the driver via
  * the dd_function_table::FrontFace callback.
  */
-void
+void GLAPIENTRY
 _mesa_FrontFace( GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -124,7 +124,7 @@
  * gl_polygon_attrib::BackMode. On change flushes the vertices and notifies the
  * driver via the dd_function_table::PolygonMode callback.
  */
-void
+void GLAPIENTRY
 _mesa_PolygonMode( GLenum face, GLenum mode )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -177,7 +177,7 @@
 
 #if _HAVE_FULL_GL
 
-void
+void GLAPIENTRY
 _mesa_PolygonStipple( const GLubyte *pattern )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -195,7 +195,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetPolygonStipple( GLubyte *dest )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -208,7 +208,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PolygonOffset( GLfloat factor, GLfloat units )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -231,7 +231,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_PolygonOffsetEXT( GLfloat factor, GLfloat bias )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/polygon.h b/src/mesa/main/polygon.h
index ec0735b..ef2fd0e 100644
--- a/src/mesa/main/polygon.h
+++ b/src/mesa/main/polygon.h
@@ -35,28 +35,28 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CullFace( GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_FrontFace( GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PolygonMode( GLenum face, GLenum mode );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PolygonOffset( GLfloat factor, GLfloat units );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PolygonOffsetEXT( GLfloat factor, GLfloat bias );
 
-extern void
+extern void GLAPIENTRY
 _mesa_PolygonStipple( const GLubyte *mask );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetPolygonStipple( GLubyte *mask );
 
-extern void 
+extern void  
 _mesa_update_polygon( GLcontext *ctx );
 
 extern void 
diff --git a/src/mesa/main/program.c b/src/mesa/main/program.c
index e07a4a0..4231b22 100644
--- a/src/mesa/main/program.c
+++ b/src/mesa/main/program.c
@@ -894,7 +894,7 @@
  * \note Not compiled into display lists.
  * \note Called by both glDeleteProgramsNV and glDeleteProgramsARB.
  */
-void
+void GLAPIENTRY 
 _mesa_DeletePrograms(GLsizei n, const GLuint *ids)
 {
    GLint i;
diff --git a/src/mesa/main/program.h b/src/mesa/main/program.h
index ac107d9..2380774 100644
--- a/src/mesa/main/program.h
+++ b/src/mesa/main/program.h
@@ -206,16 +206,16 @@
  * API functions
  */
 
-extern void
+extern void GLAPIENTRY
 _mesa_BindProgram(GLenum target, GLuint id);
 
-extern void
+extern void GLAPIENTRY
 _mesa_DeletePrograms(GLsizei n, const GLuint *ids);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GenPrograms(GLsizei n, GLuint *ids);
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_IsProgram(GLuint id);
 
 
diff --git a/src/mesa/main/rastpos.c b/src/mesa/main/rastpos.c
index 7e39ddc..dfd404e 100644
--- a/src/mesa/main/rastpos.c
+++ b/src/mesa/main/rastpos.c
@@ -411,70 +411,70 @@
 
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2d(GLdouble x, GLdouble y)
 {
    _mesa_RasterPos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2f(GLfloat x, GLfloat y)
 {
    _mesa_RasterPos4f(x, y, 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2i(GLint x, GLint y)
 {
    _mesa_RasterPos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2s(GLshort x, GLshort y)
 {
    _mesa_RasterPos4f(x, y, 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3d(GLdouble x, GLdouble y, GLdouble z)
 {
    _mesa_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3f(GLfloat x, GLfloat y, GLfloat z)
 {
    _mesa_RasterPos4f(x, y, z, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3i(GLint x, GLint y, GLint z)
 {
    _mesa_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3s(GLshort x, GLshort y, GLshort z)
 {
    _mesa_RasterPos4f(x, y, z, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
    _mesa_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
 /** Calls raster_pos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -482,77 +482,77 @@
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4i(GLint x, GLint y, GLint z, GLint w)
 {
    _mesa_RasterPos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
 {
    _mesa_RasterPos4f(x, y, z, w);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2dv(const GLdouble *v)
 {
    _mesa_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2fv(const GLfloat *v)
 {
    _mesa_RasterPos4f(v[0], v[1], 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2iv(const GLint *v)
 {
    _mesa_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos2sv(const GLshort *v)
 {
    _mesa_RasterPos4f(v[0], v[1], 0.0F, 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3dv(const GLdouble *v)
 {
    _mesa_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3fv(const GLfloat *v)
 {
    _mesa_RasterPos4f(v[0], v[1], v[2], 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3iv(const GLint *v)
 {
    _mesa_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos3sv(const GLshort *v)
 {
    _mesa_RasterPos4f(v[0], v[1], v[2], 1.0F);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4dv(const GLdouble *v)
 {
    _mesa_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], 
@@ -560,14 +560,14 @@
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4fv(const GLfloat *v)
 {
    _mesa_RasterPos4f(v[0], v[1], v[2], v[3]);
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4iv(const GLint *v)
 {
    _mesa_RasterPos4f((GLfloat) v[0], (GLfloat) v[1], 
@@ -575,7 +575,7 @@
 }
 
 /** Calls _mesa_RasterPos4f() */
-void
+void GLAPIENTRY
 _mesa_RasterPos4sv(const GLshort *v)
 {
    _mesa_RasterPos4f(v[0], v[1], v[2], v[3]);
@@ -664,147 +664,147 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2dMESA(GLdouble x, GLdouble y)
 {
    window_pos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2fMESA(GLfloat x, GLfloat y)
 {
    window_pos4f(x, y, 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2iMESA(GLint x, GLint y)
 {
    window_pos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2sMESA(GLshort x, GLshort y)
 {
    window_pos4f(x, y, 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z)
 {
    window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z)
 {
    window_pos4f(x, y, z, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3iMESA(GLint x, GLint y, GLint z)
 {
    window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3sMESA(GLshort x, GLshort y, GLshort z)
 {
    window_pos4f(x, y, z, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
 {
    window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 {
    window_pos4f(x, y, z, w);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w)
 {
    window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w)
 {
    window_pos4f(x, y, z, w);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2dvMESA(const GLdouble *v)
 {
    window_pos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2fvMESA(const GLfloat *v)
 {
    window_pos4f(v[0], v[1], 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2ivMESA(const GLint *v)
 {
    window_pos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos2svMESA(const GLshort *v)
 {
    window_pos4f(v[0], v[1], 0.0F, 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3dvMESA(const GLdouble *v)
 {
    window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3fvMESA(const GLfloat *v)
 {
    window_pos4f(v[0], v[1], v[2], 1.0);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3ivMESA(const GLint *v)
 {
    window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos3svMESA(const GLshort *v)
 {
    window_pos4f(v[0], v[1], v[2], 1.0F);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4dvMESA(const GLdouble *v)
 {
    window_pos4f((GLfloat) v[0], (GLfloat) v[1], 
 			 (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4fvMESA(const GLfloat *v)
 {
    window_pos4f(v[0], v[1], v[2], v[3]);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4ivMESA(const GLint *v)
 {
    window_pos4f((GLfloat) v[0], (GLfloat) v[1], 
 			 (GLfloat) v[2], (GLfloat) v[3]);
 }
 
-void
+void GLAPIENTRY
 _mesa_WindowPos4svMESA(const GLshort *v)
 {
    window_pos4f(v[0], v[1], v[2], v[3]);
diff --git a/src/mesa/main/rastpos.h b/src/mesa/main/rastpos.h
index ae7278c..363f86a 100644
--- a/src/mesa/main/rastpos.h
+++ b/src/mesa/main/rastpos.h
@@ -35,76 +35,76 @@
 #include "glheader.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2d(GLdouble x, GLdouble y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2f(GLfloat x, GLfloat y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2i(GLint x, GLint y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2s(GLshort x, GLshort y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3d(GLdouble x, GLdouble y, GLdouble z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3f(GLfloat x, GLfloat y, GLfloat z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3i(GLint x, GLint y, GLint z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3s(GLshort x, GLshort y, GLshort z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4i(GLint x, GLint y, GLint z, GLint w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2dv(const GLdouble *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2fv(const GLfloat *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2iv(const GLint *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos2sv(const GLshort *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3dv(const GLdouble *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3fv(const GLfloat *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3iv(const GLint *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos3sv(const GLshort *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4dv(const GLdouble *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4fv(const GLfloat *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4iv(const GLint *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_RasterPos4sv(const GLshort *v);
 
 
@@ -113,76 +113,76 @@
 /**********************************************************************/
 /*@{*/
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2dMESA(GLdouble x, GLdouble y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2fMESA(GLfloat x, GLfloat y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2iMESA(GLint x, GLint y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2sMESA(GLshort x, GLshort y);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3iMESA(GLint x, GLint y, GLint z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3sMESA(GLshort x, GLshort y, GLshort z);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2dvMESA(const GLdouble *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2fvMESA(const GLfloat *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2ivMESA(const GLint *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos2svMESA(const GLshort *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3dvMESA(const GLdouble *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3fvMESA(const GLfloat *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3ivMESA(const GLint *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos3svMESA(const GLshort *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4dvMESA(const GLdouble *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4fvMESA(const GLfloat *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4ivMESA(const GLint *v);
 
-extern void
+extern void GLAPIENTRY
 _mesa_WindowPos4svMESA(const GLshort *v);
 
 extern void 
diff --git a/src/mesa/main/stencil.c b/src/mesa/main/stencil.c
index bcfe383..8c89e8c 100644
--- a/src/mesa/main/stencil.c
+++ b/src/mesa/main/stencil.c
@@ -49,7 +49,7 @@
  * flushes the vertices and notifies the driver via
  * the dd_function_table::ClearStencil callback.
  */
-void
+void GLAPIENTRY
 _mesa_ClearStencil( GLint s )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -80,7 +80,7 @@
  * __GLcontextRec::Stencil. On change flushes the vertices and notifies the
  * driver via the dd_function_table::StencilFunc callback.
  */
-void
+void GLAPIENTRY
 _mesa_StencilFunc( GLenum func, GLint ref, GLuint mask )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -133,7 +133,7 @@
  * Updates gl_stencil_attrib::WriteMask. On change flushes the vertices and
  * notifies the driver via the dd_function_table::StencilMask callback.
  */
-void
+void GLAPIENTRY
 _mesa_StencilMask( GLuint mask )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -166,7 +166,7 @@
  * __GLcontextRec::Stencil. On change flushes the vertices and notifies the
  * driver via the dd_function_table::StencilOp callback.
  */
-void
+void GLAPIENTRY
 _mesa_StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -246,7 +246,7 @@
 
 #if _HAVE_FULL_GL
 /* GL_EXT_stencil_two_side */
-void
+void GLAPIENTRY
 _mesa_ActiveStencilFaceEXT(GLenum face)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/stencil.h b/src/mesa/main/stencil.h
index cf64560..5620d14 100644
--- a/src/mesa/main/stencil.h
+++ b/src/mesa/main/stencil.h
@@ -35,27 +35,27 @@
 #include "mtypes.h"
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ClearStencil( GLint s );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_StencilFunc( GLenum func, GLint ref, GLuint mask );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_StencilMask( GLuint mask );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_StencilOp( GLenum fail, GLenum zfail, GLenum zpass );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ActiveStencilFaceEXT(GLenum face);
 
 
-extern void
+extern void 
 _mesa_init_stencil( GLcontext * ctx );
 
 #endif
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index e10b75b..cf199dd 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -1756,7 +1756,7 @@
  * \param type pixel data type.
  * \param pixels pixel data.
  */
-void
+void GLAPIENTRY
 _mesa_GetTexImage( GLenum target, GLint level, GLenum format,
                    GLenum type, GLvoid *pixels )
 {
@@ -1895,7 +1895,7 @@
 /*
  * Called from the API.  Note that width includes the border.
  */
-void
+void GLAPIENTRY
 _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
                   GLsizei width, GLint border, GLenum format,
                   GLenum type, const GLvoid *pixels )
@@ -1984,7 +1984,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
                   GLsizei width, GLsizei height, GLint border,
                   GLenum format, GLenum type,
@@ -2089,7 +2089,7 @@
  * Called by the API or display list executor.
  * Note that width and height include the border.
  */
-void
+void GLAPIENTRY
 _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
                   GLsizei width, GLsizei height, GLsizei depth,
                   GLint border, GLenum format, GLenum type,
@@ -2170,7 +2170,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalFormat,
                      GLsizei width, GLsizei height, GLsizei depth,
                      GLint border, GLenum format, GLenum type,
@@ -2182,7 +2182,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_TexSubImage1D( GLenum target, GLint level,
                      GLint xoffset, GLsizei width,
                      GLenum format, GLenum type,
@@ -2227,7 +2227,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexSubImage2D( GLenum target, GLint level,
                      GLint xoffset, GLint yoffset,
                      GLsizei width, GLsizei height,
@@ -2276,7 +2276,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_TexSubImage3D( GLenum target, GLint level,
                      GLint xoffset, GLint yoffset, GLint zoffset,
                      GLsizei width, GLsizei height, GLsizei depth,
@@ -2321,7 +2321,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CopyTexImage1D( GLenum target, GLint level,
                       GLenum internalFormat,
                       GLint x, GLint y,
@@ -2381,7 +2381,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
                       GLint x, GLint y, GLsizei width, GLsizei height,
                       GLint border )
@@ -2441,7 +2441,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CopyTexSubImage1D( GLenum target, GLint level,
                          GLint xoffset, GLint x, GLint y, GLsizei width )
 {
@@ -2477,7 +2477,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CopyTexSubImage2D( GLenum target, GLint level,
                          GLint xoffset, GLint yoffset,
                          GLint x, GLint y, GLsizei width, GLsizei height )
@@ -2516,7 +2516,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CopyTexSubImage3D( GLenum target, GLint level,
                          GLint xoffset, GLint yoffset, GLint zoffset,
                          GLint x, GLint y, GLsizei width, GLsizei height )
@@ -2733,7 +2733,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_CompressedTexImage1DARB(GLenum target, GLint level,
                               GLenum internalFormat, GLsizei width,
                               GLint border, GLsizei imageSize,
@@ -2812,7 +2812,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CompressedTexImage2DARB(GLenum target, GLint level,
                               GLenum internalFormat, GLsizei width,
                               GLsizei height, GLint border, GLsizei imageSize,
@@ -2896,7 +2896,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CompressedTexImage3DARB(GLenum target, GLint level,
                               GLenum internalFormat, GLsizei width,
                               GLsizei height, GLsizei depth, GLint border,
@@ -2976,7 +2976,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset,
                                  GLsizei width, GLenum format,
                                  GLsizei imageSize, const GLvoid *data)
@@ -3024,7 +3024,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset,
                                  GLint yoffset, GLsizei width, GLsizei height,
                                  GLenum format, GLsizei imageSize,
@@ -3074,7 +3074,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
                                  GLint yoffset, GLint zoffset, GLsizei width,
                                  GLsizei height, GLsizei depth, GLenum format,
@@ -3126,7 +3126,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetCompressedTexImageARB(GLenum target, GLint level, GLvoid *img)
 {
    const struct gl_texture_unit *texUnit;
diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h
index e90cd71..699b4e6 100644
--- a/src/mesa/main/teximage.h
+++ b/src/mesa/main/teximage.h
@@ -97,44 +97,44 @@
 /** \name API entry point functions */
 /*@{*/
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexImage1D( GLenum target, GLint level, GLint internalformat,
                   GLsizei width, GLint border,
                   GLenum format, GLenum type, const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexImage2D( GLenum target, GLint level, GLint internalformat,
                   GLsizei width, GLsizei height, GLint border,
                   GLenum format, GLenum type, const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexImage3D( GLenum target, GLint level, GLint internalformat,
                   GLsizei width, GLsizei height, GLsizei depth, GLint border,
                   GLenum format, GLenum type, const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalformat,
                      GLsizei width, GLsizei height, GLsizei depth,
                      GLint border, GLenum format, GLenum type,
                      const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexImage( GLenum target, GLint level,
                    GLenum format, GLenum type, GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexSubImage1D( GLenum target, GLint level, GLint xoffset,
                      GLsizei width,
                      GLenum format, GLenum type,
                      const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexSubImage2D( GLenum target, GLint level,
                      GLint xoffset, GLint yoffset,
                      GLsizei width, GLsizei height,
@@ -142,7 +142,7 @@
                      const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexSubImage3D( GLenum target, GLint level,
                      GLint xoffset, GLint yoffset, GLint zoffset,
                      GLsizei width, GLsizei height, GLsizei depth,
@@ -150,48 +150,48 @@
                      const GLvoid *pixels );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyTexImage1D( GLenum target, GLint level, GLenum internalformat,
                       GLint x, GLint y, GLsizei width, GLint border );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyTexImage2D( GLenum target, GLint level,
                       GLenum internalformat, GLint x, GLint y,
                       GLsizei width, GLsizei height, GLint border );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyTexSubImage1D( GLenum target, GLint level, GLint xoffset,
                          GLint x, GLint y, GLsizei width );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyTexSubImage2D( GLenum target, GLint level,
                          GLint xoffset, GLint yoffset,
                          GLint x, GLint y, GLsizei width, GLsizei height );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CopyTexSubImage3D( GLenum target, GLint level,
                          GLint xoffset, GLint yoffset, GLint zoffset,
                          GLint x, GLint y, GLsizei width, GLsizei height );
 
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_CompressedTexImage1DARB(GLenum target, GLint level,
                               GLenum internalformat, GLsizei width,
                               GLint border, GLsizei imageSize,
                               const GLvoid *data);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CompressedTexImage2DARB(GLenum target, GLint level,
                               GLenum internalformat, GLsizei width,
                               GLsizei height, GLint border, GLsizei imageSize,
                               const GLvoid *data);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CompressedTexImage3DARB(GLenum target, GLint level,
                               GLenum internalformat, GLsizei width,
                               GLsizei height, GLsizei depth, GLint border,
@@ -202,24 +202,24 @@
 #define _mesa_CompressedTexSubImage2DARB _mesa_CompressedTexSubImage2DAR
 #define _mesa_CompressedTexSubImage3DARB _mesa_CompressedTexSubImage3DAR
 #endif
-extern void
+extern void GLAPIENTRY
 _mesa_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset,
                                  GLsizei width, GLenum format,
                                  GLsizei imageSize, const GLvoid *data);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset,
                                  GLint yoffset, GLsizei width, GLsizei height,
                                  GLenum format, GLsizei imageSize,
                                  const GLvoid *data);
 
-extern void
+extern void GLAPIENTRY
 _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
                                  GLint yoffset, GLint zoffset, GLsizei width,
                                  GLsizei height, GLsizei depth, GLenum format,
                                  GLsizei imageSize, const GLvoid *data);
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);
 
 /*@}*/
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 08c59a0..10fff64 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -603,7 +603,7 @@
  * to find a block of free texture IDs which are stored in \p texName.
  * Corresponding empty texture objects are also generated.
  */ 
-void
+void GLAPIENTRY
 _mesa_GenTextures( GLsizei n, GLuint *texName )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -655,7 +655,7 @@
  * it and decrementing the reference count if so. If the texture reference
  * count is zero, delete its object.
  */
-void
+void GLAPIENTRY
 _mesa_DeleteTextures( GLsizei n, const GLuint *texName)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -744,7 +744,7 @@
  * calls dd_function_table::BindTexture. Decrements the old texture reference
  * count and deletes it if it reaches zero.
  */
-void
+void GLAPIENTRY
 _mesa_BindTexture( GLenum target, GLuint texName )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -900,7 +900,7 @@
  * Looks up each texture in the hash, clamps the corresponding priority between
  * 0.0 and 1.0, and calls dd_function_table::PrioritizeTexture.
  */
-void
+void GLAPIENTRY
 _mesa_PrioritizeTextures( GLsizei n, const GLuint *texName,
                           const GLclampf *priorities )
 {
@@ -945,7 +945,7 @@
  * Looks up each texture in the hash and calls
  * dd_function_table::IsTextureResident.
  */
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_AreTexturesResident(GLsizei n, const GLuint *texName,
                           GLboolean *residences)
 {
@@ -1006,7 +1006,7 @@
  *
  * Calls _mesa_HashLookup().
  */
-GLboolean
+GLboolean GLAPIENTRY
 _mesa_IsTexture( GLuint texture )
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index f7e8e69..c5cce28 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -72,28 +72,28 @@
  */
 /*@{*/
 
-extern void
+extern void GLAPIENTRY
 _mesa_GenTextures( GLsizei n, GLuint *textures );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_DeleteTextures( GLsizei n, const GLuint *textures );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_BindTexture( GLenum target, GLuint texture );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_PrioritizeTextures( GLsizei n, const GLuint *textures,
                           const GLclampf *priorities );
 
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_AreTexturesResident( GLsizei n, const GLuint *textures,
                            GLboolean *residences );
 
-extern GLboolean
+extern GLboolean GLAPIENTRY
 _mesa_IsTexture( GLuint texture );
 
 /*@}*/
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 95009a2..0cfddc1 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -151,7 +151,7 @@
 /**********************************************************************/
 
 
-void
+void GLAPIENTRY
 _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -580,7 +580,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param )
 {
    _mesa_TexEnvfv( target, pname, &param );
@@ -588,7 +588,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_TexEnvi( GLenum target, GLenum pname, GLint param )
 {
    GLfloat p[4];
@@ -598,7 +598,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexEnviv( GLenum target, GLenum pname, const GLint *param )
 {
    GLfloat p[4];
@@ -616,7 +616,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -827,7 +827,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1078,14 +1078,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param )
 {
    _mesa_TexParameterfv(target, pname, &param);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1404,7 +1404,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexParameteri( GLenum target, GLenum pname, GLint param )
 {
    GLfloat fparam[4];
@@ -1417,7 +1417,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params )
 {
    GLfloat fparam[4];
@@ -1438,7 +1438,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexLevelParameterfv( GLenum target, GLint level,
                               GLenum pname, GLfloat *params )
 {
@@ -1480,7 +1480,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
                               GLenum pname, GLint *params )
 {
@@ -1656,7 +1656,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1780,7 +1780,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -1917,7 +1917,7 @@
 /**********************************************************************/
 
 #if FEATURE_texgen
-void
+void GLAPIENTRY
 _mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2156,7 +2156,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params )
 {
    GLfloat p[4];
@@ -2173,7 +2173,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param )
 {
    GLfloat p = (GLfloat) param;
@@ -2181,7 +2181,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params )
 {
    GLfloat p[4];
@@ -2198,14 +2198,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param )
 {
    _mesa_TexGenfv(coord, pname, &param);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexGeni( GLenum coord, GLenum pname, GLint param )
 {
    _mesa_TexGeniv( coord, pname, &param );
@@ -2213,7 +2213,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2290,7 +2290,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2367,7 +2367,7 @@
 
 
 
-void
+void GLAPIENTRY
 _mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2468,7 +2468,7 @@
 #endif
 
 /* GL_ARB_multitexture */
-void
+void GLAPIENTRY
 _mesa_ActiveTextureARB( GLenum target )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2503,7 +2503,7 @@
 
 
 /* GL_ARB_multitexture */
-void
+void GLAPIENTRY
 _mesa_ClientActiveTextureARB( GLenum target )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2525,7 +2525,7 @@
 /*                     Pixel Texgen Extensions                        */
 /**********************************************************************/
 
-void
+void GLAPIENTRY
 _mesa_PixelTexGenSGIX(GLenum mode)
 {
    GLenum newRgbSource, newAlphaSource;
@@ -2564,21 +2564,21 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PixelTexGenParameterfSGIS(GLenum target, GLfloat value)
 {
    _mesa_PixelTexGenParameteriSGIS(target, (GLint) value);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PixelTexGenParameterfvSGIS(GLenum target, const GLfloat *value)
 {
    _mesa_PixelTexGenParameteriSGIS(target, (GLint) *value);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PixelTexGenParameteriSGIS(GLenum target, GLint value)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2609,14 +2609,14 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_PixelTexGenParameterivSGIS(GLenum target, const GLint *value)
 {
   _mesa_PixelTexGenParameteriSGIS(target, *value);
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetPixelTexGenParameterfvSGIS(GLenum target, GLfloat *value)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -2634,7 +2634,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_GetPixelTexGenParameterivSGIS(GLenum target, GLint *value)
 {
    GET_CURRENT_CONTEXT(ctx);
diff --git a/src/mesa/main/texstate.h b/src/mesa/main/texstate.h
index d2cde7b..7cc3d2c 100644
--- a/src/mesa/main/texstate.h
+++ b/src/mesa/main/texstate.h
@@ -47,89 +47,89 @@
  */
 /*@{*/
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexLevelParameterfv( GLenum target, GLint level,
                               GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
                               GLenum pname, GLint *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexEnvf( GLenum target, GLenum pname, GLfloat param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexEnvi( GLenum target, GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexEnviv( GLenum target, GLenum pname, const GLint *param );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexParameterf( GLenum target, GLenum pname, GLfloat param );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexParameteri( GLenum target, GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexParameteriv( GLenum target, GLenum pname, const GLint *params );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexGend( GLenum coord, GLenum pname, GLdouble param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexGendv( GLenum coord, GLenum pname, const GLdouble *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexGeni( GLenum coord, GLenum pname, GLint param );
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexGeniv( GLenum coord, GLenum pname, const GLint *params );
 
 
 /*
  * GL_ARB_multitexture
  */
-extern void
+extern void GLAPIENTRY
 _mesa_ActiveTextureARB( GLenum target );
 
-extern void
+extern void GLAPIENTRY
 _mesa_ClientActiveTextureARB( GLenum target );
 
 
@@ -137,37 +137,37 @@
  * Pixel Texture Extensions
  */
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTexGenSGIX(GLenum mode);
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTexGenParameterfSGIS(GLenum target, GLfloat value);
 
 #ifdef VMS
 #define _mesa_PixelTexGenParameterfvSGIS _mesa_PixelTexGenParameterfv
 #endif
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTexGenParameterfvSGIS(GLenum target, const GLfloat *value);
 
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTexGenParameteriSGIS(GLenum target, GLint value);
 
 #ifdef VMS
 #define _mesa_PixelTexGenParameterivSGIS _mesa_PixelTexGenParameteriv
 #endif
-extern void
+extern void GLAPIENTRY
 _mesa_PixelTexGenParameterivSGIS(GLenum target, const GLint *value);
 
 #ifdef VMS
 #define _mesa_GetPixelTexGenParameterfvSGIS _mesa_GetPixelTexGenParameterfv
 #endif
-extern void
+extern void GLAPIENTRY
 _mesa_GetPixelTexGenParameterfvSGIS(GLenum target, GLfloat *value);
 
 #ifdef VMS
 #define _mesa_GetPixelTexGenParameterivSGIS _mesa_GetPixelTexGenParameteriv
 #endif
-extern void
+extern void GLAPIENTRY
 _mesa_GetPixelTexGenParameterivSGIS(GLenum target, GLint *value);
 
 /*@}*/
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index fb41054..c03415f 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -34,7 +34,7 @@
 #include "varray.h"
 
 
-void
+void GLAPIENTRY
 _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -90,7 +90,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -143,7 +143,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -210,7 +210,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_FogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -251,7 +251,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -301,7 +301,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_SecondaryColorPointerEXT(GLint size, GLenum type,
 			       GLsizei stride, const GLvoid *ptr)
 {
@@ -369,7 +369,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
                       const GLvoid *ptr)
 {
@@ -427,7 +427,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_EdgeFlagPointer(GLsizei stride, const GLvoid *vptr)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -453,7 +453,7 @@
 
 
 #if FEATURE_NV_vertex_program
-void
+void GLAPIENTRY
 _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
                             GLsizei stride, const GLvoid *ptr)
 {
@@ -519,7 +519,7 @@
 
 
 #if FEATURE_ARB_vertex_program
-void
+void GLAPIENTRY
 _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type,
                              GLboolean normalized,
                              GLsizei stride, const GLvoid *ptr)
@@ -601,7 +601,7 @@
 #endif
 
 
-void
+void GLAPIENTRY
 _mesa_VertexPointerEXT(GLint size, GLenum type, GLsizei stride,
                        GLsizei count, const GLvoid *ptr)
 {
@@ -610,7 +610,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_NormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
                        const GLvoid *ptr)
 {
@@ -619,7 +619,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_ColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count,
                       const GLvoid *ptr)
 {
@@ -628,7 +628,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_IndexPointerEXT(GLenum type, GLsizei stride, GLsizei count,
                       const GLvoid *ptr)
 {
@@ -637,7 +637,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_TexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
                          GLsizei count, const GLvoid *ptr)
 {
@@ -646,7 +646,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_EdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *ptr)
 {
    (void) count;
@@ -654,7 +654,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -849,7 +849,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_LockArraysEXT(GLint first, GLsizei count)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -876,7 +876,7 @@
 }
 
 
-void
+void GLAPIENTRY
 _mesa_UnlockArraysEXT( void )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -897,7 +897,7 @@
 
 /* GL_EXT_multi_draw_arrays */
 /* Somebody forgot to spec the first and count parameters as const! <sigh> */
-void
+void GLAPIENTRY
 _mesa_MultiDrawArraysEXT( GLenum mode, GLint *first,
                           GLsizei *count, GLsizei primcount )
 {
@@ -915,7 +915,7 @@
 
 
 /* GL_EXT_multi_draw_arrays */
-void
+void GLAPIENTRY
 _mesa_MultiDrawElementsEXT( GLenum mode, const GLsizei *count, GLenum type,
                             const GLvoid **indices, GLsizei primcount )
 {
@@ -939,7 +939,7 @@
 
 
 /* GL_IBM_multimode_draw_arrays */
-void
+void GLAPIENTRY
 _mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first,
 			      const GLsizei * count,
 			      GLsizei primcount, GLint modestride )
@@ -959,7 +959,7 @@
 
 
 /* GL_IBM_multimode_draw_arrays */
-void
+void GLAPIENTRY
 _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
 				GLenum type, const GLvoid * const * indices,
 				GLsizei primcount, GLint modestride )
@@ -984,7 +984,7 @@
 /*****                      Initialization                        *****/
 /**********************************************************************/
 
-void
+void 
 _mesa_init_varray( GLcontext * ctx )
 {
    GLuint i;
diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h
index d81213f..3589735 100644
--- a/src/mesa/main/varray.h
+++ b/src/mesa/main/varray.h
@@ -41,107 +41,107 @@
 
 #if _HAVE_FULL_GL
 
-extern void
+extern void GLAPIENTRY
 _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride,
                     const GLvoid *ptr);
 
-extern void
+extern void GLAPIENTRY
 _mesa_UnlockArraysEXT( void );
 
-extern void
+extern void GLAPIENTRY
 _mesa_LockArraysEXT(GLint first, GLsizei count);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_IndexPointer(GLenum type, GLsizei stride, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
                       const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_EdgeFlagPointer(GLsizei stride, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_VertexPointerEXT(GLint size, GLenum type, GLsizei stride,
                        GLsizei count, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_NormalPointerEXT(GLenum type, GLsizei stride, GLsizei count,
                        const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_ColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count,
                       const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_IndexPointerEXT(GLenum type, GLsizei stride, GLsizei count,
                       const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_TexCoordPointerEXT(GLint size, GLenum type, GLsizei stride,
                          GLsizei count, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_EdgeFlagPointerEXT(GLsizei stride, GLsizei count, const GLboolean *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_FogCoordPointerEXT(GLenum type, GLsizei stride, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_SecondaryColorPointerEXT(GLint size, GLenum type,
 			       GLsizei stride, const GLvoid *ptr);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
                             GLsizei stride, const GLvoid *pointer);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type,
                              GLboolean normalized, GLsizei stride,
                              const GLvoid *pointer);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_InterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer);
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultiDrawArraysEXT( GLenum mode, GLint *first,
                           GLsizei *count, GLsizei primcount );
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultiDrawElementsEXT( GLenum mode, const GLsizei *count, GLenum type,
                             const GLvoid **indices, GLsizei primcount );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultiModeDrawArraysIBM( const GLenum * mode, const GLint * first,
 			      const GLsizei * count,
 			      GLsizei primcount, GLint modestride );
 
 
-extern void
+extern void GLAPIENTRY
 _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
 				GLenum type, const GLvoid * const * indices,
 				GLsizei primcount, GLint modestride );
diff --git a/src/mesa/main/vtxfmt_tmp.h b/src/mesa/main/vtxfmt_tmp.h
index 3f4a9ce..204b299 100644
--- a/src/mesa/main/vtxfmt_tmp.h
+++ b/src/mesa/main/vtxfmt_tmp.h
@@ -30,346 +30,346 @@
 #define PRE_LOOPBACK( FUNC )
 #endif
 
-static void TAG(ArrayElement)( GLint i )
+static void GLAPIENTRY TAG(ArrayElement)( GLint i )
 {
    PRE_LOOPBACK( ArrayElement );
    _glapi_Dispatch->ArrayElement( i );
 }
 
-static void TAG(Color3f)( GLfloat r, GLfloat g, GLfloat b )
+static void GLAPIENTRY TAG(Color3f)( GLfloat r, GLfloat g, GLfloat b )
 {
    PRE_LOOPBACK( Color3f );
    _glapi_Dispatch->Color3f( r, g, b );
 }
 
-static void TAG(Color3fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(Color3fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( Color3fv );
    _glapi_Dispatch->Color3fv( v );
 }
 
-static void TAG(Color3ub)( GLubyte r, GLubyte g, GLubyte b )
+static void GLAPIENTRY TAG(Color3ub)( GLubyte r, GLubyte g, GLubyte b )
 {
    PRE_LOOPBACK( Color3ub );
    _glapi_Dispatch->Color3ub( r, g, b );
 }
 
-static void TAG(Color3ubv)( const GLubyte *v )
+static void GLAPIENTRY TAG(Color3ubv)( const GLubyte *v )
 {
    PRE_LOOPBACK( Color3ubv );
    _glapi_Dispatch->Color3ubv( v );
 }
 
-static void TAG(Color4f)( GLfloat r, GLfloat g, GLfloat b, GLfloat a )
+static void GLAPIENTRY TAG(Color4f)( GLfloat r, GLfloat g, GLfloat b, GLfloat a )
 {
    PRE_LOOPBACK( Color4f );
    _glapi_Dispatch->Color4f( r, g, b, a );
 }
 
-static void TAG(Color4fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(Color4fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( Color4fv );
    _glapi_Dispatch->Color4fv( v );
 }
 
-static void TAG(Color4ub)( GLubyte r, GLubyte g, GLubyte b, GLubyte a )
+static void GLAPIENTRY TAG(Color4ub)( GLubyte r, GLubyte g, GLubyte b, GLubyte a )
 {
    PRE_LOOPBACK( Color4ub );
    _glapi_Dispatch->Color4ub( r, g, b, a );
 }
 
-static void TAG(Color4ubv)( const GLubyte *v )
+static void GLAPIENTRY TAG(Color4ubv)( const GLubyte *v )
 {
    PRE_LOOPBACK( Color4ubv );
    _glapi_Dispatch->Color4ubv( v );
 }
 
-static void TAG(EdgeFlag)( GLboolean e )
+static void GLAPIENTRY TAG(EdgeFlag)( GLboolean e )
 {
    PRE_LOOPBACK( EdgeFlag );
    _glapi_Dispatch->EdgeFlag( e );
 }
 
-static void TAG(EdgeFlagv)( const GLboolean *v )
+static void GLAPIENTRY TAG(EdgeFlagv)( const GLboolean *v )
 {
    PRE_LOOPBACK( EdgeFlagv );
    _glapi_Dispatch->EdgeFlagv( v );
 }
 
-static void TAG(EvalCoord1f)( GLfloat s )
+static void GLAPIENTRY TAG(EvalCoord1f)( GLfloat s )
 {
    PRE_LOOPBACK( EvalCoord1f );
    _glapi_Dispatch->EvalCoord1f( s );
 }
 
-static void TAG(EvalCoord1fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(EvalCoord1fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( EvalCoord1fv );
    _glapi_Dispatch->EvalCoord1fv( v );
 }
 
-static void TAG(EvalCoord2f)( GLfloat s, GLfloat t )
+static void GLAPIENTRY TAG(EvalCoord2f)( GLfloat s, GLfloat t )
 {
    PRE_LOOPBACK( EvalCoord2f );
    _glapi_Dispatch->EvalCoord2f( s, t );
 }
 
-static void TAG(EvalCoord2fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(EvalCoord2fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( EvalCoord2fv );
    _glapi_Dispatch->EvalCoord2fv( v );
 }
 
-static void TAG(EvalPoint1)( GLint i )
+static void GLAPIENTRY TAG(EvalPoint1)( GLint i )
 {
    PRE_LOOPBACK( EvalPoint1 );
    _glapi_Dispatch->EvalPoint1( i );
 }
 
-static void TAG(EvalPoint2)( GLint i, GLint j )
+static void GLAPIENTRY TAG(EvalPoint2)( GLint i, GLint j )
 {
    PRE_LOOPBACK( EvalPoint2 );
    _glapi_Dispatch->EvalPoint2( i, j );
 }
 
-static void TAG(FogCoordfEXT)( GLfloat f )
+static void GLAPIENTRY TAG(FogCoordfEXT)( GLfloat f )
 {
    PRE_LOOPBACK( FogCoordfEXT );
    _glapi_Dispatch->FogCoordfEXT( f );
 }
 
-static void TAG(FogCoordfvEXT)( const GLfloat *v )
+static void GLAPIENTRY TAG(FogCoordfvEXT)( const GLfloat *v )
 {
    PRE_LOOPBACK( FogCoordfvEXT );
    _glapi_Dispatch->FogCoordfvEXT( v );
 }
 
-static void TAG(Indexi)( GLint i )
+static void GLAPIENTRY TAG(Indexi)( GLint i )
 {
    PRE_LOOPBACK( Indexi );
    _glapi_Dispatch->Indexi( i );
 }
 
-static void TAG(Indexiv)( const GLint *v )
+static void GLAPIENTRY TAG(Indexiv)( const GLint *v )
 {
    PRE_LOOPBACK( Indexiv );
    _glapi_Dispatch->Indexiv( v );
 }
 
-static void TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v )
+static void GLAPIENTRY TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v )
 {
    PRE_LOOPBACK( Materialfv );
    _glapi_Dispatch->Materialfv( face, pname, v );
 }
 
-static void TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a )
+static void GLAPIENTRY TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a )
 {
    PRE_LOOPBACK( MultiTexCoord1fARB );
    _glapi_Dispatch->MultiTexCoord1fARB( target, a );
 }
 
-static void TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc )
+static void GLAPIENTRY TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc )
 {
    PRE_LOOPBACK( MultiTexCoord1fvARB );
    _glapi_Dispatch->MultiTexCoord1fvARB( target, tc );
 }
 
-static void TAG(MultiTexCoord2fARB)( GLenum target, GLfloat s, GLfloat t )
+static void GLAPIENTRY TAG(MultiTexCoord2fARB)( GLenum target, GLfloat s, GLfloat t )
 {
    PRE_LOOPBACK( MultiTexCoord2fARB );
    _glapi_Dispatch->MultiTexCoord2fARB( target, s, t );
 }
 
-static void TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc )
+static void GLAPIENTRY TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc )
 {
    PRE_LOOPBACK( MultiTexCoord2fvARB );
    _glapi_Dispatch->MultiTexCoord2fvARB( target, tc );
 }
 
-static void TAG(MultiTexCoord3fARB)( GLenum target, GLfloat s,
+static void GLAPIENTRY TAG(MultiTexCoord3fARB)( GLenum target, GLfloat s,
 				     GLfloat t, GLfloat r )
 {
    PRE_LOOPBACK( MultiTexCoord3fARB );
    _glapi_Dispatch->MultiTexCoord3fARB( target, s, t, r );
 }
 
-static void TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc )
+static void GLAPIENTRY TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc )
 {
    PRE_LOOPBACK( MultiTexCoord3fvARB );
    _glapi_Dispatch->MultiTexCoord3fvARB( target, tc );
 }
 
-static void TAG(MultiTexCoord4fARB)( GLenum target, GLfloat s,
+static void GLAPIENTRY TAG(MultiTexCoord4fARB)( GLenum target, GLfloat s,
 				     GLfloat t, GLfloat r, GLfloat q )
 {
    PRE_LOOPBACK( MultiTexCoord4fARB );
    _glapi_Dispatch->MultiTexCoord4fARB( target, s, t, r, q );
 }
 
-static void TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc )
+static void GLAPIENTRY TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc )
 {
    PRE_LOOPBACK( MultiTexCoord4fvARB );
    _glapi_Dispatch->MultiTexCoord4fvARB( target, tc );
 }
 
-static void TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z )
 {
    PRE_LOOPBACK( Normal3f );
    _glapi_Dispatch->Normal3f( x, y, z );
 }
 
-static void TAG(Normal3fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(Normal3fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( Normal3fv );
    _glapi_Dispatch->Normal3fv( v );
 }
 
-static void TAG(SecondaryColor3fEXT)( GLfloat r, GLfloat g, GLfloat b )
+static void GLAPIENTRY TAG(SecondaryColor3fEXT)( GLfloat r, GLfloat g, GLfloat b )
 {
    PRE_LOOPBACK( SecondaryColor3fEXT );
    _glapi_Dispatch->SecondaryColor3fEXT( r, g, b );
 }
 
-static void TAG(SecondaryColor3fvEXT)( const GLfloat *v )
+static void GLAPIENTRY TAG(SecondaryColor3fvEXT)( const GLfloat *v )
 {
    PRE_LOOPBACK( SecondaryColor3fvEXT );
    _glapi_Dispatch->SecondaryColor3fvEXT( v );
 }
 
-static void TAG(SecondaryColor3ubEXT)( GLubyte r, GLubyte g, GLubyte b )
+static void GLAPIENTRY TAG(SecondaryColor3ubEXT)( GLubyte r, GLubyte g, GLubyte b )
 {
    PRE_LOOPBACK( SecondaryColor3ubEXT );
    _glapi_Dispatch->SecondaryColor3ubEXT( r, g, b );
 }
 
-static void TAG(SecondaryColor3ubvEXT)( const GLubyte *v )
+static void GLAPIENTRY TAG(SecondaryColor3ubvEXT)( const GLubyte *v )
 {
    PRE_LOOPBACK( SecondaryColor3ubvEXT );
    _glapi_Dispatch->SecondaryColor3ubvEXT( v );
 }
 
-static void TAG(TexCoord1f)( GLfloat s )
+static void GLAPIENTRY TAG(TexCoord1f)( GLfloat s )
 {
    PRE_LOOPBACK( TexCoord1f );
    _glapi_Dispatch->TexCoord1f( s );
 }
 
-static void TAG(TexCoord1fv)( const GLfloat *tc )
+static void GLAPIENTRY TAG(TexCoord1fv)( const GLfloat *tc )
 {
    PRE_LOOPBACK( TexCoord1fv );
    _glapi_Dispatch->TexCoord1fv( tc );
 }
 
-static void TAG(TexCoord2f)( GLfloat s, GLfloat t )
+static void GLAPIENTRY TAG(TexCoord2f)( GLfloat s, GLfloat t )
 {
    PRE_LOOPBACK( TexCoord2f );
    _glapi_Dispatch->TexCoord2f( s, t );
 }
 
-static void TAG(TexCoord2fv)( const GLfloat *tc )
+static void GLAPIENTRY TAG(TexCoord2fv)( const GLfloat *tc )
 {
    PRE_LOOPBACK( TexCoord2fv );
    _glapi_Dispatch->TexCoord2fv( tc );
 }
 
-static void TAG(TexCoord3f)( GLfloat s, GLfloat t, GLfloat r )
+static void GLAPIENTRY TAG(TexCoord3f)( GLfloat s, GLfloat t, GLfloat r )
 {
    PRE_LOOPBACK( TexCoord3f );
    _glapi_Dispatch->TexCoord3f( s, t, r );
 }
 
-static void TAG(TexCoord3fv)( const GLfloat *tc )
+static void GLAPIENTRY TAG(TexCoord3fv)( const GLfloat *tc )
 {
    PRE_LOOPBACK( TexCoord3fv );
    _glapi_Dispatch->TexCoord3fv( tc );
 }
 
-static void TAG(TexCoord4f)( GLfloat s, GLfloat t, GLfloat r, GLfloat q )
+static void GLAPIENTRY TAG(TexCoord4f)( GLfloat s, GLfloat t, GLfloat r, GLfloat q )
 {
    PRE_LOOPBACK( TexCoord4f );
    _glapi_Dispatch->TexCoord4f( s, t, r, q );
 }
 
-static void TAG(TexCoord4fv)( const GLfloat *tc )
+static void GLAPIENTRY TAG(TexCoord4fv)( const GLfloat *tc )
 {
    PRE_LOOPBACK( TexCoord4fv );
    _glapi_Dispatch->TexCoord4fv( tc );
 }
 
-static void TAG(Vertex2f)( GLfloat x, GLfloat y )
+static void GLAPIENTRY TAG(Vertex2f)( GLfloat x, GLfloat y )
 {
    PRE_LOOPBACK( Vertex2f );
    _glapi_Dispatch->Vertex2f( x, y );
 }
 
-static void TAG(Vertex2fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(Vertex2fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( Vertex2fv );
    _glapi_Dispatch->Vertex2fv( v );
 }
 
-static void TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z )
 {
    PRE_LOOPBACK( Vertex3f );
    _glapi_Dispatch->Vertex3f( x, y, z );
 }
 
-static void TAG(Vertex3fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(Vertex3fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( Vertex3fv );
    _glapi_Dispatch->Vertex3fv( v );
 }
 
-static void TAG(Vertex4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY TAG(Vertex4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
 {
    PRE_LOOPBACK( Vertex4f );
    _glapi_Dispatch->Vertex4f( x, y, z, w );
 }
 
-static void TAG(Vertex4fv)( const GLfloat *v )
+static void GLAPIENTRY TAG(Vertex4fv)( const GLfloat *v )
 {
    PRE_LOOPBACK( Vertex4fv );
    _glapi_Dispatch->Vertex4fv( v );
 }
 
-static void TAG(CallList)( GLuint i )
+static void GLAPIENTRY TAG(CallList)( GLuint i )
 {
    PRE_LOOPBACK( CallList );
    _glapi_Dispatch->CallList( i );
 }
 
-static void TAG(Begin)( GLenum mode )
+static void GLAPIENTRY TAG(Begin)( GLenum mode )
 {
    PRE_LOOPBACK( Begin );
    _glapi_Dispatch->Begin( mode );
 }
 
-static void TAG(End)( void )
+static void GLAPIENTRY TAG(End)( void )
 {
    PRE_LOOPBACK( End );
    _glapi_Dispatch->End();
 }
 
-static void TAG(Rectf)( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
+static void GLAPIENTRY TAG(Rectf)( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
 {
    PRE_LOOPBACK( Rectf );
    _glapi_Dispatch->Rectf( x1, y1, x2, y2 );
 }
 
-static void TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count )
+static void GLAPIENTRY TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count )
 {
    PRE_LOOPBACK( DrawArrays );
    _glapi_Dispatch->DrawArrays( mode, start, count );
 }
 
-static void TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type,
+static void GLAPIENTRY TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type,
 			       const GLvoid *indices )
 {
    PRE_LOOPBACK( DrawElements );
    _glapi_Dispatch->DrawElements( mode, count, type, indices );
 }
 
-static void TAG(DrawRangeElements)( GLenum mode, GLuint start,
+static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start,
 				    GLuint end, GLsizei count,
 				    GLenum type, const GLvoid *indices )
 {
@@ -377,26 +377,26 @@
    _glapi_Dispatch->DrawRangeElements( mode, start, end, count, type, indices );
 }
 
-static void TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 )
+static void GLAPIENTRY TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 )
 {
    PRE_LOOPBACK( EvalMesh1 );
    _glapi_Dispatch->EvalMesh1( mode, i1, i2 );
 }
 
-static void TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2,
+static void GLAPIENTRY TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2,
 			    GLint j1, GLint j2 )
 {
    PRE_LOOPBACK( EvalMesh2 );
    _glapi_Dispatch->EvalMesh2( mode, i1, i2, j1, j2 );
 }
 
-static void TAG(VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY TAG(VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
 {
    PRE_LOOPBACK( VertexAttrib4fNV );
    _glapi_Dispatch->VertexAttrib4fNV( index, x, y, z, w );
 }
 
-static void TAG(VertexAttrib4fvNV)( GLuint index, const GLfloat *v )
+static void GLAPIENTRY TAG(VertexAttrib4fvNV)( GLuint index, const GLfloat *v )
 {
    PRE_LOOPBACK( VertexAttrib4fvNV );
    _glapi_Dispatch->VertexAttrib4fvNV( index, v );