replace color table FloatTable boolean with Type enum
[mesa.git] / src / mesa / main / api_noop.c
index f6228739dd725188b1be279ea6287de809063394..e7f185a272c39afffb26bb8bee220c9c97c47ca7 100644 (file)
@@ -1,9 +1,8 @@
-
 /*
  * Mesa 3-D graphics library
- * Version:  5.1
+ * Version:  6.1
  *
- * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
  * These functions provide this service by keeping uptodate the
  * 'ctx->Current' struct for all data elements not included in the
  * currently enabled hardware vertex.
- *
+ * I.e. these functions would typically be used when outside of glBegin/End.
  */
-void _mesa_noop_EdgeFlag( GLboolean b )
+
+
+void GLAPIENTRY _mesa_noop_EdgeFlag( GLboolean b )
 {
    GET_CURRENT_CONTEXT(ctx);
    ctx->Current.EdgeFlag = b;
 }
 
-void _mesa_noop_EdgeFlagv( const GLboolean *b )
+void GLAPIENTRY _mesa_noop_EdgeFlagv( const GLboolean *b )
 {
    GET_CURRENT_CONTEXT(ctx);
    ctx->Current.EdgeFlag = *b;
 }
 
-void _mesa_noop_Indexf( GLfloat f )
+void GLAPIENTRY _mesa_noop_Indexf( GLfloat f )
 {
    GET_CURRENT_CONTEXT(ctx);
    ctx->Current.Index = f;
 }
 
-void _mesa_noop_Indexfv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Indexfv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    ctx->Current.Index = *v;
 }
 
-void _mesa_noop_FogCoordfEXT( GLfloat a )
+void GLAPIENTRY _mesa_noop_FogCoordfEXT( GLfloat a )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_FOG];
@@ -77,7 +78,7 @@ void _mesa_noop_FogCoordfEXT( GLfloat a )
    dest[3] = 1.0;
 }
 
-void _mesa_noop_FogCoordfvEXT( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_FogCoordfvEXT( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_NORMAL];
@@ -87,7 +88,7 @@ void _mesa_noop_FogCoordfvEXT( const GLfloat *v )
    dest[3] = 1.0;
 }
 
-void _mesa_noop_Normal3f( GLfloat a, GLfloat b, GLfloat c )
+void GLAPIENTRY _mesa_noop_Normal3f( GLfloat a, GLfloat b, GLfloat c )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_NORMAL];
@@ -97,7 +98,7 @@ void _mesa_noop_Normal3f( GLfloat a, GLfloat b, GLfloat c )
    dest[3] = 1.0;
 }
 
-void _mesa_noop_Normal3fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Normal3fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_NORMAL];
@@ -107,7 +108,7 @@ void _mesa_noop_Normal3fv( const GLfloat *v )
    dest[3] = 1.0;
 }
 
-void _mesa_noop_Color4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
+void GLAPIENTRY _mesa_noop_Color4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];
@@ -117,7 +118,7 @@ void _mesa_noop_Color4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
    color[3] = d;
 }
 
-void _mesa_noop_Color4fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Color4fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];
@@ -127,7 +128,7 @@ void _mesa_noop_Color4fv( const GLfloat *v )
    color[3] = v[3];
 }
 
-void _mesa_noop_Color3f( GLfloat a, GLfloat b, GLfloat c )
+void GLAPIENTRY _mesa_noop_Color3f( GLfloat a, GLfloat b, GLfloat c )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];
@@ -137,7 +138,7 @@ void _mesa_noop_Color3f( GLfloat a, GLfloat b, GLfloat c )
    color[3] = 1.0;
 }
 
-void _mesa_noop_Color3fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Color3fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR0];
@@ -147,7 +148,7 @@ void _mesa_noop_Color3fv( const GLfloat *v )
    color[3] = 1.0;
 }
 
-void _mesa_noop_MultiTexCoord1fARB( GLenum target, GLfloat a )
+void GLAPIENTRY _mesa_noop_MultiTexCoord1fARB( GLenum target, GLfloat a )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -164,7 +165,7 @@ void _mesa_noop_MultiTexCoord1fARB( GLenum target, GLfloat a )
    }
 }
 
-void _mesa_noop_MultiTexCoord1fvARB( GLenum target, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_MultiTexCoord1fvARB( GLenum target, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -181,7 +182,7 @@ void _mesa_noop_MultiTexCoord1fvARB( GLenum target, const GLfloat *v )
    }
 }
 
-void _mesa_noop_MultiTexCoord2fARB( GLenum target, GLfloat a, GLfloat b )
+void GLAPIENTRY _mesa_noop_MultiTexCoord2fARB( GLenum target, GLfloat a, GLfloat b )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -198,7 +199,7 @@ void _mesa_noop_MultiTexCoord2fARB( GLenum target, GLfloat a, GLfloat b )
    }
 }
 
-void _mesa_noop_MultiTexCoord2fvARB( GLenum target, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_MultiTexCoord2fvARB( GLenum target, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -215,7 +216,7 @@ void _mesa_noop_MultiTexCoord2fvARB( GLenum target, const GLfloat *v )
    }
 }
 
-void _mesa_noop_MultiTexCoord3fARB( GLenum target, GLfloat a, GLfloat b, GLfloat c)
+void GLAPIENTRY _mesa_noop_MultiTexCoord3fARB( GLenum target, GLfloat a, GLfloat b, GLfloat c)
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -232,7 +233,7 @@ void _mesa_noop_MultiTexCoord3fARB( GLenum target, GLfloat a, GLfloat b, GLfloat
    }
 }
 
-void _mesa_noop_MultiTexCoord3fvARB( GLenum target, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_MultiTexCoord3fvARB( GLenum target, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -249,7 +250,7 @@ void _mesa_noop_MultiTexCoord3fvARB( GLenum target, const GLfloat *v )
    }
 }
 
-void _mesa_noop_MultiTexCoord4fARB( GLenum target, GLfloat a, GLfloat b,
+void GLAPIENTRY _mesa_noop_MultiTexCoord4fARB( GLenum target, GLfloat a, GLfloat b,
                              GLfloat c, GLfloat d )
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -267,7 +268,7 @@ void _mesa_noop_MultiTexCoord4fARB( GLenum target, GLfloat a, GLfloat b,
    }
 }
 
-void _mesa_noop_MultiTexCoord4fvARB( GLenum target, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_MultiTexCoord4fvARB( GLenum target, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLuint unit = target - GL_TEXTURE0_ARB;
@@ -284,7 +285,7 @@ void _mesa_noop_MultiTexCoord4fvARB( GLenum target, const GLfloat *v )
    }
 }
 
-void _mesa_noop_SecondaryColor3fEXT( GLfloat a, GLfloat b, GLfloat c )
+void GLAPIENTRY _mesa_noop_SecondaryColor3fEXT( GLfloat a, GLfloat b, GLfloat c )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR1];
@@ -294,7 +295,7 @@ void _mesa_noop_SecondaryColor3fEXT( GLfloat a, GLfloat b, GLfloat c )
    color[3] = 1.0;
 }
 
-void _mesa_noop_SecondaryColor3fvEXT( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_SecondaryColor3fvEXT( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *color = ctx->Current.Attrib[VERT_ATTRIB_COLOR1];
@@ -304,7 +305,7 @@ void _mesa_noop_SecondaryColor3fvEXT( const GLfloat *v )
    color[3] = 1.0;
 }
 
-void _mesa_noop_TexCoord1f( GLfloat a )
+void GLAPIENTRY _mesa_noop_TexCoord1f( GLfloat a )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -314,7 +315,7 @@ void _mesa_noop_TexCoord1f( GLfloat a )
    dest[3] = 1;
 }
 
-void _mesa_noop_TexCoord1fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_TexCoord1fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -324,7 +325,7 @@ void _mesa_noop_TexCoord1fv( const GLfloat *v )
    dest[3] = 1;
 }
 
-void _mesa_noop_TexCoord2f( GLfloat a, GLfloat b )
+void GLAPIENTRY _mesa_noop_TexCoord2f( GLfloat a, GLfloat b )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -334,7 +335,7 @@ void _mesa_noop_TexCoord2f( GLfloat a, GLfloat b )
    dest[3] = 1;
 }
 
-void _mesa_noop_TexCoord2fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_TexCoord2fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -344,7 +345,7 @@ void _mesa_noop_TexCoord2fv( const GLfloat *v )
    dest[3] = 1;
 }
 
-void _mesa_noop_TexCoord3f( GLfloat a, GLfloat b, GLfloat c )
+void GLAPIENTRY _mesa_noop_TexCoord3f( GLfloat a, GLfloat b, GLfloat c )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -354,7 +355,7 @@ void _mesa_noop_TexCoord3f( GLfloat a, GLfloat b, GLfloat c )
    dest[3] = 1;
 }
 
-void _mesa_noop_TexCoord3fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_TexCoord3fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -364,7 +365,7 @@ void _mesa_noop_TexCoord3fv( const GLfloat *v )
    dest[3] = 1;
 }
 
-void _mesa_noop_TexCoord4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
+void GLAPIENTRY _mesa_noop_TexCoord4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -374,7 +375,7 @@ void _mesa_noop_TexCoord4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
    dest[3] = d;
 }
 
-void _mesa_noop_TexCoord4fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_TexCoord4fv( const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat *dest = ctx->Current.Attrib[VERT_ATTRIB_TEX0];
@@ -386,91 +387,91 @@ void _mesa_noop_TexCoord4fv( const GLfloat *v )
 
 
 
-void _mesa_noop_VertexAttrib1fNV( GLuint index, GLfloat x )
+void GLAPIENTRY _mesa_noop_VertexAttrib1fNV( GLuint index, GLfloat x )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], x, 0, 0, 1);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib1f" );
 }
 
-void _mesa_noop_VertexAttrib1fvNV( GLuint index, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_VertexAttrib1fvNV( GLuint index, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], v[0], 0, 0, 1);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib1fv" );
 }
 
-void _mesa_noop_VertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y )
+void GLAPIENTRY _mesa_noop_VertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], x, y, 0, 1);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib2f" );
 }
 
-void _mesa_noop_VertexAttrib2fvNV( GLuint index, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_VertexAttrib2fvNV( GLuint index, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], v[0], v[1], 0, 1);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib2fv" );
 }
 
-void _mesa_noop_VertexAttrib3fNV( GLuint index, GLfloat x,
+void GLAPIENTRY _mesa_noop_VertexAttrib3fNV( GLuint index, GLfloat x,
                                   GLfloat y, GLfloat z )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], x, y, z, 1);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib3f" );
 }
 
-void _mesa_noop_VertexAttrib3fvNV( GLuint index, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_VertexAttrib3fvNV( GLuint index, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], v[0], v[1], v[2], 1);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib3fv" );
 }
 
-void _mesa_noop_VertexAttrib4fNV( GLuint index, GLfloat x,
+void GLAPIENTRY _mesa_noop_VertexAttrib4fNV( GLuint index, GLfloat x,
                                   GLfloat y, GLfloat z, GLfloat w )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], x, y, z, w);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib4f" );
 }
 
-void _mesa_noop_VertexAttrib4fvNV( GLuint index, const GLfloat *v )
+void GLAPIENTRY _mesa_noop_VertexAttrib4fvNV( GLuint index, const GLfloat *v )
 {
    GET_CURRENT_CONTEXT(ctx);
-   if (index < 16) {
+   if (index < VERT_ATTRIB_MAX) {
       ASSIGN_4V(ctx->Current.Attrib[index], v[0], v[1], v[2], v[3]);
    }
    else
-      _mesa_error( ctx, GL_INVALID_ENUM, __FUNCTION__ );
+      _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttrib4fv" );
 }
 
 /* Material
  */
-void _mesa_noop_Materialfv( GLenum face, GLenum pname, const GLfloat *params )
+void GLAPIENTRY _mesa_noop_Materialfv( GLenum face, GLenum pname, const GLfloat *params )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLint i, nr;
@@ -499,64 +500,64 @@ void _mesa_noop_Materialfv( GLenum face, GLenum pname, const GLfloat *params )
 
 /* These really are noops outside begin/end:
  */
-void _mesa_noop_Vertex2fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Vertex2fv( const GLfloat *v )
 {
    (void) v;
 }
 
-void _mesa_noop_Vertex3fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Vertex3fv( const GLfloat *v )
 {
    (void) v;
 }
 
-void _mesa_noop_Vertex4fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_Vertex4fv( const GLfloat *v )
 {
    (void) v;
 }
 
-void _mesa_noop_Vertex2f( GLfloat a, GLfloat b )
+void GLAPIENTRY _mesa_noop_Vertex2f( GLfloat a, GLfloat b )
 {
    (void) a; (void) b;
 }
 
-void _mesa_noop_Vertex3f( GLfloat a, GLfloat b, GLfloat c )
+void GLAPIENTRY _mesa_noop_Vertex3f( GLfloat a, GLfloat b, GLfloat c )
 {
    (void) a; (void) b; (void) c;
 }
 
-void _mesa_noop_Vertex4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
+void GLAPIENTRY _mesa_noop_Vertex4f( GLfloat a, GLfloat b, GLfloat c, GLfloat d )
 {
    (void) a; (void) b; (void) c; (void) d;
 }
 
 /* Similarly, these have no effect outside begin/end:
  */
-void _mesa_noop_EvalCoord1f( GLfloat a )
+void GLAPIENTRY _mesa_noop_EvalCoord1f( GLfloat a )
 {
    (void) a;
 }
 
-void _mesa_noop_EvalCoord1fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_EvalCoord1fv( const GLfloat *v )
 {
    (void) v;
 }
 
-void _mesa_noop_EvalCoord2f( GLfloat a, GLfloat b )
+void GLAPIENTRY _mesa_noop_EvalCoord2f( GLfloat a, GLfloat b )
 {
    (void) a; (void) b;
 }
 
-void _mesa_noop_EvalCoord2fv( const GLfloat *v )
+void GLAPIENTRY _mesa_noop_EvalCoord2fv( const GLfloat *v )
 {
    (void) v;
 }
 
-void _mesa_noop_EvalPoint1( GLint a )
+void GLAPIENTRY _mesa_noop_EvalPoint1( GLint a )
 {
    (void) a;
 }
 
-void _mesa_noop_EvalPoint2( GLint a, GLint b )
+void GLAPIENTRY _mesa_noop_EvalPoint2( GLint a, GLint b )
 {
    (void) a; (void) b;
 }
@@ -565,17 +566,17 @@ void _mesa_noop_EvalPoint2( GLint a, GLint b )
 /* Begin -- call into driver, should result in the vtxfmt being
  * swapped out:
  */
-void _mesa_noop_Begin( GLenum mode )
+void GLAPIENTRY _mesa_noop_Begin( GLenum mode )
 {
 }
 
 
 /* End -- just raise an error
  */
-void _mesa_noop_End( void )
+void GLAPIENTRY _mesa_noop_End( void )
 {
    GET_CURRENT_CONTEXT(ctx);
-   _mesa_error( ctx, GL_INVALID_OPERATION, __FUNCTION__ );
+   _mesa_error( ctx, GL_INVALID_OPERATION, "glEnd" );
 }
 
 
@@ -587,19 +588,19 @@ void _mesa_noop_End( void )
  * (None of the functions in this file are suitable for GL_COMPILE
  * modes).
  */
-void _mesa_noop_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
+void GLAPIENTRY _mesa_noop_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
 {
    {
       GET_CURRENT_CONTEXT(ctx);
       ASSERT_OUTSIDE_BEGIN_END(ctx);
    }
 
-   glBegin( GL_QUADS );
-   glVertex2f( x1, y1 );
-   glVertex2f( x2, y1 );
-   glVertex2f( x2, y2 );
-   glVertex2f( x1, y2 );
-   glEnd();
+   _glapi_Dispatch->Begin( GL_QUADS );
+   _glapi_Dispatch->Vertex2f( x1, y1 );
+   _glapi_Dispatch->Vertex2f( x2, y1 );
+   _glapi_Dispatch->Vertex2f( x2, y2 );
+   _glapi_Dispatch->Vertex2f( x1, y2 );
+   _glapi_Dispatch->End();
 }
 
 
@@ -607,7 +608,7 @@ void _mesa_noop_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
  * support can hook these in, but still need to supply an array-elt
  * implementation.
  */
-void _mesa_noop_DrawArrays(GLenum mode, GLint start, GLsizei count)
+void GLAPIENTRY _mesa_noop_DrawArrays(GLenum mode, GLint start, GLsizei count)
 {
    GET_CURRENT_CONTEXT(ctx);
    GLint i;
@@ -615,14 +616,14 @@ void _mesa_noop_DrawArrays(GLenum mode, GLint start, GLsizei count)
    if (!_mesa_validate_DrawArrays( ctx, mode, start, count ))
       return;
 
-   glBegin(mode);
-   for (i = start ; i < count ; i++)
-      glArrayElement( i );
-   glEnd();
+   _glapi_Dispatch->Begin(mode);
+   for (i = 0; i < count; i++)
+      _glapi_Dispatch->ArrayElement(start + i);
+   _glapi_Dispatch->End();
 }
 
 
-void _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type,
+void GLAPIENTRY _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type,
                             const GLvoid *indices)
 {
    GET_CURRENT_CONTEXT(ctx);
@@ -631,30 +632,30 @@ void _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type,
    if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices ))
       return;
 
-   glBegin(mode);
+   _glapi_Dispatch->Begin(mode);
 
    switch (type) {
    case GL_UNSIGNED_BYTE:
       for (i = 0 ; i < count ; i++)
-        glArrayElement( ((GLubyte *)indices)[i] );
+        _glapi_Dispatch->ArrayElement( ((GLubyte *)indices)[i] );
       break;
    case GL_UNSIGNED_SHORT:
       for (i = 0 ; i < count ; i++)
-        glArrayElement( ((GLushort *)indices)[i] );
+        _glapi_Dispatch->ArrayElement( ((GLushort *)indices)[i] );
       break;
    case GL_UNSIGNED_INT:
       for (i = 0 ; i < count ; i++)
-        glArrayElement( ((GLuint *)indices)[i] );
+        _glapi_Dispatch->ArrayElement( ((GLuint *)indices)[i] );
       break;
    default:
       _mesa_error( ctx, GL_INVALID_ENUM, "glDrawElements(type)" );
       break;
    }
 
-   glEnd();
+   _glapi_Dispatch->End();
 }
 
-void _mesa_noop_DrawRangeElements(GLenum mode,
+void GLAPIENTRY _mesa_noop_DrawRangeElements(GLenum mode,
                                  GLuint start, GLuint end,
                                  GLsizei count, GLenum type,
                                  const GLvoid *indices)
@@ -664,7 +665,7 @@ void _mesa_noop_DrawRangeElements(GLenum mode,
    if (_mesa_validate_DrawRangeElements( ctx, mode,
                                         start, end,
                                         count, type, indices ))
-      glDrawElements( mode, count, type, indices );
+      _glapi_Dispatch->DrawElements( mode, count, type, indices );
 }
 
 /*
@@ -680,7 +681,7 @@ void _mesa_noop_DrawRangeElements(GLenum mode,
  *     map(1,2)_vertex is disabled, and to purge those vertices from
  *     the vb.
  */
-void _mesa_noop_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
+void GLAPIENTRY _mesa_noop_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLint i;
@@ -709,16 +710,16 @@ void _mesa_noop_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
    du = ctx->Eval.MapGrid1du;
    u = ctx->Eval.MapGrid1u1 + i1 * du;
 
-   glBegin( prim );
+   _glapi_Dispatch->Begin( prim );
    for (i=i1;i<=i2;i++,u+=du) {
-      glEvalCoord1f( u );
+      _glapi_Dispatch->EvalCoord1f( u );
    }
-   glEnd();
+   _glapi_Dispatch->End();
 }
 
 
 
-void _mesa_noop_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
+void GLAPIENTRY _mesa_noop_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
 {
    GET_CURRENT_CONTEXT(ctx);
    GLfloat u, du, v, dv, v1, u1;
@@ -748,38 +749,38 @@ void _mesa_noop_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
 
    switch (mode) {
    case GL_POINT:
-      glBegin( GL_POINTS );
+      _glapi_Dispatch->Begin( GL_POINTS );
       for (v=v1,j=j1;j<=j2;j++,v+=dv) {
         for (u=u1,i=i1;i<=i2;i++,u+=du) {
-           glEvalCoord2f(u, v );
+           _glapi_Dispatch->EvalCoord2f(u, v );
         }
       }
-      glEnd();
+      _glapi_Dispatch->End();
       break;
    case GL_LINE:
       for (v=v1,j=j1;j<=j2;j++,v+=dv) {
-        glBegin( GL_LINE_STRIP );
+        _glapi_Dispatch->Begin( GL_LINE_STRIP );
         for (u=u1,i=i1;i<=i2;i++,u+=du) {
-           glEvalCoord2f(u, v );
+           _glapi_Dispatch->EvalCoord2f(u, v );
         }
-        glEnd();
+        _glapi_Dispatch->End();
       }
       for (u=u1,i=i1;i<=i2;i++,u+=du) {
-        glBegin( GL_LINE_STRIP );
+        _glapi_Dispatch->Begin( GL_LINE_STRIP );
         for (v=v1,j=j1;j<=j2;j++,v+=dv) {
-           glEvalCoord2f(u, v );
+           _glapi_Dispatch->EvalCoord2f(u, v );
         }
-        glEnd();
+        _glapi_Dispatch->End();
       }
       break;
    case GL_FILL:
       for (v=v1,j=j1;j<j2;j++,v+=dv) {
-        glBegin( GL_TRIANGLE_STRIP );
+        _glapi_Dispatch->Begin( GL_TRIANGLE_STRIP );
         for (u=u1,i=i1;i<=i2;i++,u+=du) {
-           glEvalCoord2f(u, v );
-           glEvalCoord2f(u, v+dv );
+           _glapi_Dispatch->EvalCoord2f(u, v );
+           _glapi_Dispatch->EvalCoord2f(u, v+dv );
         }
-        glEnd();
+        _glapi_Dispatch->End();
       }
       break;
    default: