Convert all calls using _glapi_Dispatch to use the new GL_CALL macro.

This commit is contained in:
Ian Romanick
2004-05-27 00:03:53 +00:00
parent 77bbbb3759
commit c1d455f582
10 changed files with 278 additions and 269 deletions

View File

@@ -394,17 +394,24 @@ static void VFMT_FALLBACK_OUTSIDE_BEGIN_END( const char *caller )
} }
/**
* \todo
* An interesting optimization of this function would be to have 3 element
* table with the dispatch offsets of the TexCoord?fv functions, use count
* to look-up the table, and a specialized version of GL_CALL that used the
* offset number instead of the name.
*/
static void dispatch_texcoord( GLuint count, GLfloat * f ) static void dispatch_texcoord( GLuint count, GLfloat * f )
{ {
switch( count ) { switch( count ) {
case 3: case 3:
_glapi_Dispatch->TexCoord3fv( f ); GL_CALL(TexCoord3fv)( f );
break; break;
case 2: case 2:
_glapi_Dispatch->TexCoord2fv( f ); GL_CALL(TexCoord2fv)( f );
break; break;
case 1: case 1:
_glapi_Dispatch->TexCoord1fv( f ); GL_CALL(TexCoord1fv)( f );
break; break;
default: default:
assert( count == 0 ); assert( count == 0 );
@@ -416,13 +423,13 @@ static void dispatch_multitexcoord( GLuint count, GLuint unit, GLfloat * f )
{ {
switch( count ) { switch( count ) {
case 3: case 3:
_glapi_Dispatch->MultiTexCoord3fvARB( GL_TEXTURE0+unit, f ); GL_CALL(MultiTexCoord3fvARB)( GL_TEXTURE0+unit, f );
break; break;
case 2: case 2:
_glapi_Dispatch->MultiTexCoord2fvARB( GL_TEXTURE0+unit, f ); GL_CALL(MultiTexCoord2fvARB)( GL_TEXTURE0+unit, f );
break; break;
case 1: case 1:
_glapi_Dispatch->MultiTexCoord1fvARB( GL_TEXTURE0+unit, f ); GL_CALL(MultiTexCoord1fvARB)( GL_TEXTURE0+unit, f );
break; break;
default: default:
assert( count == 0 ); assert( count == 0 );
@@ -470,7 +477,7 @@ static void VFMT_FALLBACK( const char *caller )
assert(rmesa->dma.flush == 0); assert(rmesa->dma.flush == 0);
rmesa->vb.fell_back = GL_TRUE; rmesa->vb.fell_back = GL_TRUE;
rmesa->vb.installed = GL_FALSE; rmesa->vb.installed = GL_FALSE;
_glapi_Dispatch->Begin( prim ); GL_CALL(Begin)( prim );
if (rmesa->vb.installed_color_3f_sz == 4) if (rmesa->vb.installed_color_3f_sz == 4)
alpha = ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3]; alpha = ctx->Current.Attrib[VERT_ATTRIB_COLOR0][3];
@@ -481,25 +488,25 @@ static void VFMT_FALLBACK( const char *caller )
GLuint offset = 3; GLuint offset = 3;
if (ind0 & R200_VTX_N0) { if (ind0 & R200_VTX_N0) {
_glapi_Dispatch->Normal3fv( &tmp[i][offset] ); GL_CALL(Normal3fv)( &tmp[i][offset] );
offset += 3; offset += 3;
} }
if (VTX_COLOR(ind0, 0) == R200_VTX_PK_RGBA) { if (VTX_COLOR(ind0, 0) == R200_VTX_PK_RGBA) {
_glapi_Dispatch->Color4ubv( (GLubyte *)&tmp[i][offset] ); GL_CALL(Color4ubv)( (GLubyte *)&tmp[i][offset] );
offset++; offset++;
} }
else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGBA) { else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGBA) {
_glapi_Dispatch->Color4fv( &tmp[i][offset] ); GL_CALL(Color4fv)( &tmp[i][offset] );
offset+=4; offset+=4;
} }
else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGB) { else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGB) {
_glapi_Dispatch->Color3fv( &tmp[i][offset] ); GL_CALL(Color3fv)( &tmp[i][offset] );
offset+=3; offset+=3;
} }
if (VTX_COLOR(ind0, 1) == R200_VTX_PK_RGBA) { if (VTX_COLOR(ind0, 1) == R200_VTX_PK_RGBA) {
_glapi_Dispatch->SecondaryColor3ubvEXT( (GLubyte *)&tmp[i][offset] ); GL_CALL(SecondaryColor3ubvEXT)( (GLubyte *)&tmp[i][offset] );
offset++; offset++;
} }
@@ -513,39 +520,39 @@ static void VFMT_FALLBACK( const char *caller )
offset += count; offset += count;
} }
_glapi_Dispatch->Vertex3fv( &tmp[i][0] ); GL_CALL(Vertex3fv)( &tmp[i][0] );
} }
/* Replay current vertex /* Replay current vertex
*/ */
if (ind0 & R200_VTX_N0) if (ind0 & R200_VTX_N0)
_glapi_Dispatch->Normal3fv( rmesa->vb.normalptr ); GL_CALL(Normal3fv)( rmesa->vb.normalptr );
if (VTX_COLOR(ind0, 0) == R200_VTX_PK_RGBA) { if (VTX_COLOR(ind0, 0) == R200_VTX_PK_RGBA) {
_glapi_Dispatch->Color4ub( rmesa->vb.colorptr->red, GL_CALL(Color4ub)( rmesa->vb.colorptr->red,
rmesa->vb.colorptr->green, rmesa->vb.colorptr->green,
rmesa->vb.colorptr->blue, rmesa->vb.colorptr->blue,
rmesa->vb.colorptr->alpha ); rmesa->vb.colorptr->alpha );
} }
else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGBA) { else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGBA) {
_glapi_Dispatch->Color4fv( rmesa->vb.floatcolorptr ); GL_CALL(Color4fv)( rmesa->vb.floatcolorptr );
} }
else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGB) { else if (VTX_COLOR(ind0, 0) == R200_VTX_FP_RGB) {
if (rmesa->vb.installed_color_3f_sz == 4 && alpha != 1.0) { if (rmesa->vb.installed_color_3f_sz == 4 && alpha != 1.0) {
_glapi_Dispatch->Color4f( rmesa->vb.floatcolorptr[0], GL_CALL(Color4f)( rmesa->vb.floatcolorptr[0],
rmesa->vb.floatcolorptr[1], rmesa->vb.floatcolorptr[1],
rmesa->vb.floatcolorptr[2], rmesa->vb.floatcolorptr[2],
alpha ); alpha );
} }
else { else {
_glapi_Dispatch->Color3fv( rmesa->vb.floatcolorptr ); GL_CALL(Color3fv)( rmesa->vb.floatcolorptr );
} }
} }
if (VTX_COLOR(ind0, 1) == R200_VTX_PK_RGBA) if (VTX_COLOR(ind0, 1) == R200_VTX_PK_RGBA)
_glapi_Dispatch->SecondaryColor3ubEXT( rmesa->vb.specptr->red, GL_CALL(SecondaryColor3ubEXT)( rmesa->vb.specptr->red,
rmesa->vb.specptr->green, rmesa->vb.specptr->green,
rmesa->vb.specptr->blue ); rmesa->vb.specptr->blue );
count = VTX_TEXn_COUNT( ind1, 0 ); count = VTX_TEXn_COUNT( ind1, 0 );
dispatch_texcoord( count, rmesa->vb.texcoordptr[0] ); dispatch_texcoord( count, rmesa->vb.texcoordptr[0] );
@@ -886,7 +893,7 @@ static void r200_Materialfv( GLenum face, GLenum pname,
if (rmesa->vb.prim[0] != GL_POLYGON+1) { if (rmesa->vb.prim[0] != GL_POLYGON+1) {
VFMT_FALLBACK( __FUNCTION__ ); VFMT_FALLBACK( __FUNCTION__ );
_glapi_Dispatch->Materialfv( face, pname, params ); GL_CALL(Materialfv)( face, pname, params );
return; return;
} }
_mesa_noop_Materialfv( face, pname, params ); _mesa_noop_Materialfv( face, pname, params );
@@ -925,7 +932,7 @@ static void r200_Begin( GLenum mode )
r200VtxfmtValidate( ctx ); r200VtxfmtValidate( ctx );
if (!rmesa->vb.installed) { if (!rmesa->vb.installed) {
_glapi_Dispatch->Begin( mode ); GL_CALL(Begin)( mode );
return; return;
} }

View File

@@ -417,7 +417,7 @@ static void VFMT_FALLBACK( const char *caller )
if (ind & RADEON_CP_VC_FRMT_PKSPEC) { if (ind & RADEON_CP_VC_FRMT_PKSPEC) {
radeon_color_t *spec = (radeon_color_t *)&tmp[i][offset]; radeon_color_t *spec = (radeon_color_t *)&tmp[i][offset];
_glapi_Dispatch->SecondaryColor3ubEXT( spec->red, spec->green, spec->blue ); GL_CALL(SecondaryColor3ubEXT)( spec->red, spec->green, spec->blue );
offset++; offset++;
} }
@@ -453,7 +453,7 @@ static void VFMT_FALLBACK( const char *caller )
} }
if (ind & RADEON_CP_VC_FRMT_PKSPEC) if (ind & RADEON_CP_VC_FRMT_PKSPEC)
_glapi_Dispatch->SecondaryColor3ubEXT( rmesa->vb.specptr->red, rmesa->vb.specptr->green, rmesa->vb.specptr->blue ); GL_CALL(SecondaryColor3ubEXT)( rmesa->vb.specptr->red, rmesa->vb.specptr->green, rmesa->vb.specptr->blue );
if (ind & RADEON_CP_VC_FRMT_ST0) if (ind & RADEON_CP_VC_FRMT_ST0)
glTexCoord2fv( rmesa->vb.texcoordptr[0] ); glTexCoord2fv( rmesa->vb.texcoordptr[0] );

View File

@@ -290,6 +290,9 @@ _glthread_GetTSD(_glthread_TSD *);
extern void extern void
_glthread_SetTSD(_glthread_TSD *, void *); _glthread_SetTSD(_glthread_TSD *, void *);
#ifndef GL_CALL
# define GL_CALL(name) (*(_glapi_Dispatch-> name))
#endif
#endif /* THREADS_H */ #endif /* THREADS_H */

View File

@@ -140,42 +140,42 @@ static array_func NormalFuncs[8] = {
/* Wrapper functions in case glSecondaryColor*EXT doesn't exist */ /* Wrapper functions in case glSecondaryColor*EXT doesn't exist */
static void GLAPIENTRY SecondaryColor3bvEXT(const GLbyte *c) static void GLAPIENTRY SecondaryColor3bvEXT(const GLbyte *c)
{ {
_glapi_Dispatch->SecondaryColor3bvEXT(c); GL_CALL(SecondaryColor3bvEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3ubvEXT(const GLubyte *c) static void GLAPIENTRY SecondaryColor3ubvEXT(const GLubyte *c)
{ {
_glapi_Dispatch->SecondaryColor3ubvEXT(c); GL_CALL(SecondaryColor3ubvEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3svEXT(const GLshort *c) static void GLAPIENTRY SecondaryColor3svEXT(const GLshort *c)
{ {
_glapi_Dispatch->SecondaryColor3svEXT(c); GL_CALL(SecondaryColor3svEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3usvEXT(const GLushort *c) static void GLAPIENTRY SecondaryColor3usvEXT(const GLushort *c)
{ {
_glapi_Dispatch->SecondaryColor3usvEXT(c); GL_CALL(SecondaryColor3usvEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3ivEXT(const GLint *c) static void GLAPIENTRY SecondaryColor3ivEXT(const GLint *c)
{ {
_glapi_Dispatch->SecondaryColor3ivEXT(c); GL_CALL(SecondaryColor3ivEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3uivEXT(const GLuint *c) static void GLAPIENTRY SecondaryColor3uivEXT(const GLuint *c)
{ {
_glapi_Dispatch->SecondaryColor3uivEXT(c); GL_CALL(SecondaryColor3uivEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3fvEXT(const GLfloat *c) static void GLAPIENTRY SecondaryColor3fvEXT(const GLfloat *c)
{ {
_glapi_Dispatch->SecondaryColor3fvEXT(c); GL_CALL(SecondaryColor3fvEXT)(c);
} }
static void GLAPIENTRY SecondaryColor3dvEXT(const GLdouble *c) static void GLAPIENTRY SecondaryColor3dvEXT(const GLdouble *c)
{ {
_glapi_Dispatch->SecondaryColor3dvEXT(c); GL_CALL(SecondaryColor3dvEXT)(c);
} }
static array_func SecondaryColorFuncs[8] = { static array_func SecondaryColorFuncs[8] = {
@@ -193,12 +193,12 @@ static array_func SecondaryColorFuncs[8] = {
/* Again, wrapper functions in case glSecondaryColor*EXT doesn't exist */ /* Again, wrapper functions in case glSecondaryColor*EXT doesn't exist */
static void GLAPIENTRY FogCoordfvEXT(const GLfloat *f) static void GLAPIENTRY FogCoordfvEXT(const GLfloat *f)
{ {
_glapi_Dispatch->FogCoordfvEXT(f); GL_CALL(FogCoordfvEXT)(f);
} }
static void GLAPIENTRY FogCoorddvEXT(const GLdouble *f) static void GLAPIENTRY FogCoorddvEXT(const GLdouble *f)
{ {
_glapi_Dispatch->FogCoorddvEXT(f); GL_CALL(FogCoorddvEXT)(f);
} }
static array_func FogCoordFuncs[8] = { static array_func FogCoordFuncs[8] = {
@@ -219,87 +219,86 @@ static array_func FogCoordFuncs[8] = {
static void GLAPIENTRY VertexAttrib1Nbv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib1Nbv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, BYTE_TO_FLOAT(v[0])); GL_CALL(VertexAttrib1fNV)(index, BYTE_TO_FLOAT(v[0]));
} }
static void GLAPIENTRY VertexAttrib1bv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib1bv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, v[0]); GL_CALL(VertexAttrib1fNV)(index, v[0]);
} }
static void GLAPIENTRY VertexAttrib2Nbv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib2Nbv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, BYTE_TO_FLOAT(v[0]), GL_CALL(VertexAttrib2fNV)(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]));
BYTE_TO_FLOAT(v[1]));
} }
static void GLAPIENTRY VertexAttrib2bv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib2bv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, v[0], v[1]); GL_CALL(VertexAttrib2fNV)(index, v[0], v[1]);
} }
static void GLAPIENTRY VertexAttrib3Nbv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib3Nbv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, BYTE_TO_FLOAT(v[0]), GL_CALL(VertexAttrib3fNV)(index, BYTE_TO_FLOAT(v[0]),
BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[1]),
BYTE_TO_FLOAT(v[2])); BYTE_TO_FLOAT(v[2]));
} }
static void GLAPIENTRY VertexAttrib3bv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib3bv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, v[0], v[1], v[2]); GL_CALL(VertexAttrib3fNV)(index, v[0], v[1], v[2]);
} }
static void GLAPIENTRY VertexAttrib4Nbv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib4Nbv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, BYTE_TO_FLOAT(v[0]), GL_CALL(VertexAttrib4fNV)(index, BYTE_TO_FLOAT(v[0]),
BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[1]),
BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[2]),
BYTE_TO_FLOAT(v[3])); BYTE_TO_FLOAT(v[3]));
} }
static void GLAPIENTRY VertexAttrib4bv(GLuint index, const GLbyte *v) static void GLAPIENTRY VertexAttrib4bv(GLuint index, const GLbyte *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, v[0], v[1], v[2], v[3]); GL_CALL(VertexAttrib4fNV)(index, v[0], v[1], v[2], v[3]);
} }
/* GL_UNSIGNED_BYTE attributes */ /* GL_UNSIGNED_BYTE attributes */
static void GLAPIENTRY VertexAttrib1Nubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib1Nubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, UBYTE_TO_FLOAT(v[0])); GL_CALL(VertexAttrib1fNV)(index, UBYTE_TO_FLOAT(v[0]));
} }
static void GLAPIENTRY VertexAttrib1ubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib1ubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, v[0]); GL_CALL(VertexAttrib1fNV)(index, v[0]);
} }
static void GLAPIENTRY VertexAttrib2Nubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib2Nubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, UBYTE_TO_FLOAT(v[0]), GL_CALL(VertexAttrib2fNV)(index, UBYTE_TO_FLOAT(v[0]),
UBYTE_TO_FLOAT(v[1])); UBYTE_TO_FLOAT(v[1]));
} }
static void GLAPIENTRY VertexAttrib2ubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib2ubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, v[0], v[1]); GL_CALL(VertexAttrib2fNV)(index, v[0], v[1]);
} }
static void GLAPIENTRY VertexAttrib3Nubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib3Nubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, UBYTE_TO_FLOAT(v[0]), GL_CALL(VertexAttrib3fNV)(index, UBYTE_TO_FLOAT(v[0]),
UBYTE_TO_FLOAT(v[1]), UBYTE_TO_FLOAT(v[1]),
UBYTE_TO_FLOAT(v[2])); UBYTE_TO_FLOAT(v[2]));
} }
static void GLAPIENTRY VertexAttrib3ubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib3ubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, v[0], v[1], v[2]); GL_CALL(VertexAttrib3fNV)(index, v[0], v[1], v[2]);
} }
static void GLAPIENTRY VertexAttrib4Nubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib4Nubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, UBYTE_TO_FLOAT(v[0]), GL_CALL(VertexAttrib4fNV)(index, UBYTE_TO_FLOAT(v[0]),
UBYTE_TO_FLOAT(v[1]), UBYTE_TO_FLOAT(v[1]),
UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[2]),
UBYTE_TO_FLOAT(v[3])); UBYTE_TO_FLOAT(v[3]));
@@ -307,243 +306,243 @@ static void GLAPIENTRY VertexAttrib4Nubv(GLuint index, const GLubyte *v)
static void GLAPIENTRY VertexAttrib4ubv(GLuint index, const GLubyte *v) static void GLAPIENTRY VertexAttrib4ubv(GLuint index, const GLubyte *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, v[0], v[1], v[2], v[3]); GL_CALL(VertexAttrib4fNV)(index, v[0], v[1], v[2], v[3]);
} }
/* GL_SHORT attributes */ /* GL_SHORT attributes */
static void GLAPIENTRY VertexAttrib1Nsv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib1Nsv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, SHORT_TO_FLOAT(v[0])); GL_CALL(VertexAttrib1fNV)(index, SHORT_TO_FLOAT(v[0]));
} }
static void GLAPIENTRY VertexAttrib1sv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib1sv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, v[0]); GL_CALL(VertexAttrib1fNV)(index, v[0]);
} }
static void GLAPIENTRY VertexAttrib2Nsv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib2Nsv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, SHORT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib2fNV)(index, SHORT_TO_FLOAT(v[0]),
SHORT_TO_FLOAT(v[1])); SHORT_TO_FLOAT(v[1]));
} }
static void GLAPIENTRY VertexAttrib2sv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib2sv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, v[0], v[1]); GL_CALL(VertexAttrib2fNV)(index, v[0], v[1]);
} }
static void GLAPIENTRY VertexAttrib3Nsv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib3Nsv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, SHORT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib3fNV)(index, SHORT_TO_FLOAT(v[0]),
SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[1]),
SHORT_TO_FLOAT(v[2])); SHORT_TO_FLOAT(v[2]));
} }
static void GLAPIENTRY VertexAttrib3sv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib3sv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, v[0], v[1], v[2]); GL_CALL(VertexAttrib3fNV)(index, v[0], v[1], v[2]);
} }
static void GLAPIENTRY VertexAttrib4Nsv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib4Nsv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, SHORT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib4fNV)(index, SHORT_TO_FLOAT(v[0]),
SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[1]),
SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[2]),
SHORT_TO_FLOAT(v[3])); SHORT_TO_FLOAT(v[3]));
} }
static void GLAPIENTRY VertexAttrib4sv(GLuint index, const GLshort *v) static void GLAPIENTRY VertexAttrib4sv(GLuint index, const GLshort *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, v[0], v[1], v[2], v[3]); GL_CALL(VertexAttrib4fNV)(index, v[0], v[1], v[2], v[3]);
} }
/* GL_UNSIGNED_SHORT attributes */ /* GL_UNSIGNED_SHORT attributes */
static void GLAPIENTRY VertexAttrib1Nusv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib1Nusv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, USHORT_TO_FLOAT(v[0])); GL_CALL(VertexAttrib1fNV)(index, USHORT_TO_FLOAT(v[0]));
} }
static void GLAPIENTRY VertexAttrib1usv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib1usv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, v[0]); GL_CALL(VertexAttrib1fNV)(index, v[0]);
} }
static void GLAPIENTRY VertexAttrib2Nusv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib2Nusv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, USHORT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib2fNV)(index, USHORT_TO_FLOAT(v[0]),
USHORT_TO_FLOAT(v[1])); USHORT_TO_FLOAT(v[1]));
} }
static void GLAPIENTRY VertexAttrib2usv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib2usv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, v[0], v[1]); GL_CALL(VertexAttrib2fNV)(index, v[0], v[1]);
} }
static void GLAPIENTRY VertexAttrib3Nusv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib3Nusv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, USHORT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib3fNV)(index, USHORT_TO_FLOAT(v[0]),
USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[1]),
USHORT_TO_FLOAT(v[2])); USHORT_TO_FLOAT(v[2]));
} }
static void GLAPIENTRY VertexAttrib3usv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib3usv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, v[0], v[1], v[2]); GL_CALL(VertexAttrib3fNV)(index, v[0], v[1], v[2]);
} }
static void GLAPIENTRY VertexAttrib4Nusv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib4Nusv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, USHORT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib4fNV)(index, USHORT_TO_FLOAT(v[0]),
USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[1]),
USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[2]),
USHORT_TO_FLOAT(v[3])); USHORT_TO_FLOAT(v[3]));
} }
static void GLAPIENTRY VertexAttrib4usv(GLuint index, const GLushort *v) static void GLAPIENTRY VertexAttrib4usv(GLuint index, const GLushort *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, v[0], v[1], v[2], v[3]); GL_CALL(VertexAttrib4fNV)(index, v[0], v[1], v[2], v[3]);
} }
/* GL_INT attributes */ /* GL_INT attributes */
static void GLAPIENTRY VertexAttrib1Niv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib1Niv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, INT_TO_FLOAT(v[0])); GL_CALL(VertexAttrib1fNV)(index, INT_TO_FLOAT(v[0]));
} }
static void GLAPIENTRY VertexAttrib1iv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib1iv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, v[0]); GL_CALL(VertexAttrib1fNV)(index, v[0]);
} }
static void GLAPIENTRY VertexAttrib2Niv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib2Niv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, INT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib2fNV)(index, INT_TO_FLOAT(v[0]),
INT_TO_FLOAT(v[1])); INT_TO_FLOAT(v[1]));
} }
static void GLAPIENTRY VertexAttrib2iv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib2iv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, v[0], v[1]); GL_CALL(VertexAttrib2fNV)(index, v[0], v[1]);
} }
static void GLAPIENTRY VertexAttrib3Niv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib3Niv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, INT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib3fNV)(index, INT_TO_FLOAT(v[0]),
INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[1]),
INT_TO_FLOAT(v[2])); INT_TO_FLOAT(v[2]));
} }
static void GLAPIENTRY VertexAttrib3iv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib3iv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, v[0], v[1], v[2]); GL_CALL(VertexAttrib3fNV)(index, v[0], v[1], v[2]);
} }
static void GLAPIENTRY VertexAttrib4Niv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib4Niv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, INT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib4fNV)(index, INT_TO_FLOAT(v[0]),
INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[1]),
INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[2]),
INT_TO_FLOAT(v[3])); INT_TO_FLOAT(v[3]));
} }
static void GLAPIENTRY VertexAttrib4iv(GLuint index, const GLint *v) static void GLAPIENTRY VertexAttrib4iv(GLuint index, const GLint *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, v[0], v[1], v[2], v[3]); GL_CALL(VertexAttrib4fNV)(index, v[0], v[1], v[2], v[3]);
} }
/* GL_UNSIGNED_INT attributes */ /* GL_UNSIGNED_INT attributes */
static void GLAPIENTRY VertexAttrib1Nuiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib1Nuiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, UINT_TO_FLOAT(v[0])); GL_CALL(VertexAttrib1fNV)(index, UINT_TO_FLOAT(v[0]));
} }
static void GLAPIENTRY VertexAttrib1uiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib1uiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib1fNV(index, v[0]); GL_CALL(VertexAttrib1fNV)(index, v[0]);
} }
static void GLAPIENTRY VertexAttrib2Nuiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib2Nuiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, UINT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib2fNV)(index, UINT_TO_FLOAT(v[0]),
UINT_TO_FLOAT(v[1])); UINT_TO_FLOAT(v[1]));
} }
static void GLAPIENTRY VertexAttrib2uiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib2uiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib2fNV(index, v[0], v[1]); GL_CALL(VertexAttrib2fNV)(index, v[0], v[1]);
} }
static void GLAPIENTRY VertexAttrib3Nuiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib3Nuiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, UINT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib3fNV)(index, UINT_TO_FLOAT(v[0]),
UINT_TO_FLOAT(v[1]), UINT_TO_FLOAT(v[1]),
UINT_TO_FLOAT(v[2])); UINT_TO_FLOAT(v[2]));
} }
static void GLAPIENTRY VertexAttrib3uiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib3uiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib3fNV(index, v[0], v[1], v[2]); GL_CALL(VertexAttrib3fNV)(index, v[0], v[1], v[2]);
} }
static void GLAPIENTRY VertexAttrib4Nuiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib4Nuiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, UINT_TO_FLOAT(v[0]), GL_CALL(VertexAttrib4fNV)(index, UINT_TO_FLOAT(v[0]),
UINT_TO_FLOAT(v[1]), UINT_TO_FLOAT(v[1]),
UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[2]),
UINT_TO_FLOAT(v[3])); UINT_TO_FLOAT(v[3]));
} }
static void GLAPIENTRY VertexAttrib4uiv(GLuint index, const GLuint *v) static void GLAPIENTRY VertexAttrib4uiv(GLuint index, const GLuint *v)
{ {
_glapi_Dispatch->VertexAttrib4fNV(index, v[0], v[1], v[2], v[3]); GL_CALL(VertexAttrib4fNV)(index, v[0], v[1], v[2], v[3]);
} }
/* GL_FLOAT attributes */ /* GL_FLOAT attributes */
static void GLAPIENTRY VertexAttrib1fv(GLuint index, const GLfloat *v) static void GLAPIENTRY VertexAttrib1fv(GLuint index, const GLfloat *v)
{ {
_glapi_Dispatch->VertexAttrib1fvNV(index, v); GL_CALL(VertexAttrib1fvNV)(index, v);
} }
static void GLAPIENTRY VertexAttrib2fv(GLuint index, const GLfloat *v) static void GLAPIENTRY VertexAttrib2fv(GLuint index, const GLfloat *v)
{ {
_glapi_Dispatch->VertexAttrib2fvNV(index, v); GL_CALL(VertexAttrib2fvNV)(index, v);
} }
static void GLAPIENTRY VertexAttrib3fv(GLuint index, const GLfloat *v) static void GLAPIENTRY VertexAttrib3fv(GLuint index, const GLfloat *v)
{ {
_glapi_Dispatch->VertexAttrib3fvNV(index, v); GL_CALL(VertexAttrib3fvNV)(index, v);
} }
static void GLAPIENTRY VertexAttrib4fv(GLuint index, const GLfloat *v) static void GLAPIENTRY VertexAttrib4fv(GLuint index, const GLfloat *v)
{ {
_glapi_Dispatch->VertexAttrib4fvNV(index, v); GL_CALL(VertexAttrib4fvNV)(index, v);
} }
/* GL_DOUBLE attributes */ /* GL_DOUBLE attributes */
static void GLAPIENTRY VertexAttrib1dv(GLuint index, const GLdouble *v) static void GLAPIENTRY VertexAttrib1dv(GLuint index, const GLdouble *v)
{ {
_glapi_Dispatch->VertexAttrib1dvNV(index, v); GL_CALL(VertexAttrib1dvNV)(index, v);
} }
static void GLAPIENTRY VertexAttrib2dv(GLuint index, const GLdouble *v) static void GLAPIENTRY VertexAttrib2dv(GLuint index, const GLdouble *v)
{ {
_glapi_Dispatch->VertexAttrib2dvNV(index, v); GL_CALL(VertexAttrib2dvNV)(index, v);
} }
static void GLAPIENTRY VertexAttrib3dv(GLuint index, const GLdouble *v) static void GLAPIENTRY VertexAttrib3dv(GLuint index, const GLdouble *v)
{ {
_glapi_Dispatch->VertexAttrib3dvNV(index, v); GL_CALL(VertexAttrib3dvNV)(index, v);
} }
static void GLAPIENTRY VertexAttrib4dv(GLuint index, const GLdouble *v) static void GLAPIENTRY VertexAttrib4dv(GLuint index, const GLdouble *v)
{ {
_glapi_Dispatch->VertexAttrib4dvNV(index, v); GL_CALL(VertexAttrib4dvNV)(index, v);
} }

View File

@@ -35,6 +35,7 @@
#include "macros.h" #include "macros.h"
#include "colormac.h" #include "colormac.h"
#include "api_loopback.h" #include "api_loopback.h"
#include "glthread.h"
/* KW: A set of functions to convert unusual Color/Normal/Vertex/etc /* KW: A set of functions to convert unusual Color/Normal/Vertex/etc
* calls to a smaller set of driver-provided formats. Currently just * calls to a smaller set of driver-provided formats. Currently just
@@ -45,34 +46,34 @@
* listed in dd.h. The easiest way for a driver to do this is to * listed in dd.h. The easiest way for a driver to do this is to
* install the supplied software t&l module. * install the supplied software t&l module.
*/ */
#define COLORF(r,g,b,a) _glapi_Dispatch->Color4f(r,g,b,a) #define COLORF(r,g,b,a) GL_CALL(Color4f)(r,g,b,a)
#define VERTEX2(x,y) _glapi_Dispatch->Vertex2f(x,y) #define VERTEX2(x,y) GL_CALL(Vertex2f)(x,y)
#define VERTEX3(x,y,z) _glapi_Dispatch->Vertex3f(x,y,z) #define VERTEX3(x,y,z) GL_CALL(Vertex3f)(x,y,z)
#define VERTEX4(x,y,z,w) _glapi_Dispatch->Vertex4f(x,y,z,w) #define VERTEX4(x,y,z,w) GL_CALL(Vertex4f)(x,y,z,w)
#define NORMAL(x,y,z) _glapi_Dispatch->Normal3f(x,y,z) #define NORMAL(x,y,z) GL_CALL(Normal3f)(x,y,z)
#define TEXCOORD1(s) _glapi_Dispatch->TexCoord1f(s) #define TEXCOORD1(s) GL_CALL(TexCoord1f)(s)
#define TEXCOORD2(s,t) _glapi_Dispatch->TexCoord2f(s,t) #define TEXCOORD2(s,t) GL_CALL(TexCoord2f)(s,t)
#define TEXCOORD3(s,t,u) _glapi_Dispatch->TexCoord3f(s,t,u) #define TEXCOORD3(s,t,u) GL_CALL(TexCoord3f)(s,t,u)
#define TEXCOORD4(s,t,u,v) _glapi_Dispatch->TexCoord4f(s,t,u,v) #define TEXCOORD4(s,t,u,v) GL_CALL(TexCoord4f)(s,t,u,v)
#define INDEX(c) _glapi_Dispatch->Indexf(c) #define INDEX(c) GL_CALL(Indexf)(c)
#define MULTI_TEXCOORD1(z,s) _glapi_Dispatch->MultiTexCoord1fARB(z,s) #define MULTI_TEXCOORD1(z,s) GL_CALL(MultiTexCoord1fARB)(z,s)
#define MULTI_TEXCOORD2(z,s,t) _glapi_Dispatch->MultiTexCoord2fARB(z,s,t) #define MULTI_TEXCOORD2(z,s,t) GL_CALL(MultiTexCoord2fARB)(z,s,t)
#define MULTI_TEXCOORD3(z,s,t,u) _glapi_Dispatch->MultiTexCoord3fARB(z,s,t,u) #define MULTI_TEXCOORD3(z,s,t,u) GL_CALL(MultiTexCoord3fARB)(z,s,t,u)
#define MULTI_TEXCOORD4(z,s,t,u,v) _glapi_Dispatch->MultiTexCoord4fARB(z,s,t,u,v) #define MULTI_TEXCOORD4(z,s,t,u,v) GL_CALL(MultiTexCoord4fARB)(z,s,t,u,v)
#define EVALCOORD1(x) _glapi_Dispatch->EvalCoord1f(x) #define EVALCOORD1(x) GL_CALL(EvalCoord1f)(x)
#define EVALCOORD2(x,y) _glapi_Dispatch->EvalCoord2f(x,y) #define EVALCOORD2(x,y) GL_CALL(EvalCoord2f)(x,y)
#define MATERIALFV(a,b,c) _glapi_Dispatch->Materialfv(a,b,c) #define MATERIALFV(a,b,c) GL_CALL(Materialfv)(a,b,c)
#define RECTF(a,b,c,d) _glapi_Dispatch->Rectf(a,b,c,d) #define RECTF(a,b,c,d) GL_CALL(Rectf)(a,b,c,d)
/* Extension functions must be dereferenced through _glapi_Dispatch as /* Extension functions must be dereferenced through _glapi_Dispatch as
* not all libGL.so's will have all the uptodate entrypoints. * not all libGL.so's will have all the uptodate entrypoints.
*/ */
#define ATTRIB1(index,x) _glapi_Dispatch->VertexAttrib1fNV(index,x) #define ATTRIB1(index,x) GL_CALL(VertexAttrib1fNV)(index,x)
#define ATTRIB2(index,x,y) _glapi_Dispatch->VertexAttrib2fNV(index,x,y) #define ATTRIB2(index,x,y) GL_CALL(VertexAttrib2fNV)(index,x,y)
#define ATTRIB3(index,x,y,z) _glapi_Dispatch->VertexAttrib3fNV(index,x,y,z) #define ATTRIB3(index,x,y,z) GL_CALL(VertexAttrib3fNV)(index,x,y,z)
#define ATTRIB4(index,x,y,z,w) _glapi_Dispatch->VertexAttrib4fNV(index,x,y,z,w) #define ATTRIB4(index,x,y,z,w) GL_CALL(VertexAttrib4fNV)(index,x,y,z,w)
#define FOGCOORDF(x) _glapi_Dispatch->FogCoordfEXT(x) #define FOGCOORDF(x) GL_CALL(FogCoordfEXT)(x)
#define SECONDARYCOLORF(a,b,c) _glapi_Dispatch->SecondaryColor3fEXT(a,b,c) #define SECONDARYCOLORF(a,b,c) GL_CALL(SecondaryColor3fEXT)(a,b,c)
static void GLAPIENTRY static void GLAPIENTRY
loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue ) loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue )

View File

@@ -595,12 +595,12 @@ void GLAPIENTRY _mesa_noop_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2
ASSERT_OUTSIDE_BEGIN_END(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx);
} }
_glapi_Dispatch->Begin( GL_QUADS ); GL_CALL(Begin)( GL_QUADS );
_glapi_Dispatch->Vertex2f( x1, y1 ); GL_CALL(Vertex2f)( x1, y1 );
_glapi_Dispatch->Vertex2f( x2, y1 ); GL_CALL(Vertex2f)( x2, y1 );
_glapi_Dispatch->Vertex2f( x2, y2 ); GL_CALL(Vertex2f)( x2, y2 );
_glapi_Dispatch->Vertex2f( x1, y2 ); GL_CALL(Vertex2f)( x1, y2 );
_glapi_Dispatch->End(); GL_CALL(End)();
} }
@@ -616,10 +616,10 @@ void GLAPIENTRY _mesa_noop_DrawArrays(GLenum mode, GLint start, GLsizei count)
if (!_mesa_validate_DrawArrays( ctx, mode, start, count )) if (!_mesa_validate_DrawArrays( ctx, mode, start, count ))
return; return;
_glapi_Dispatch->Begin(mode); GL_CALL(Begin)(mode);
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
_glapi_Dispatch->ArrayElement(start + i); GL_CALL(ArrayElement)(start + i);
_glapi_Dispatch->End(); GL_CALL(End)();
} }
@@ -632,27 +632,27 @@ void GLAPIENTRY _mesa_noop_DrawElements(GLenum mode, GLsizei count, GLenum type,
if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices )) if (!_mesa_validate_DrawElements( ctx, mode, count, type, indices ))
return; return;
_glapi_Dispatch->Begin(mode); GL_CALL(Begin)(mode);
switch (type) { switch (type) {
case GL_UNSIGNED_BYTE: case GL_UNSIGNED_BYTE:
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
_glapi_Dispatch->ArrayElement( ((GLubyte *)indices)[i] ); GL_CALL(ArrayElement)( ((GLubyte *)indices)[i] );
break; break;
case GL_UNSIGNED_SHORT: case GL_UNSIGNED_SHORT:
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
_glapi_Dispatch->ArrayElement( ((GLushort *)indices)[i] ); GL_CALL(ArrayElement)( ((GLushort *)indices)[i] );
break; break;
case GL_UNSIGNED_INT: case GL_UNSIGNED_INT:
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
_glapi_Dispatch->ArrayElement( ((GLuint *)indices)[i] ); GL_CALL(ArrayElement)( ((GLuint *)indices)[i] );
break; break;
default: default:
_mesa_error( ctx, GL_INVALID_ENUM, "glDrawElements(type)" ); _mesa_error( ctx, GL_INVALID_ENUM, "glDrawElements(type)" );
break; break;
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }
void GLAPIENTRY _mesa_noop_DrawRangeElements(GLenum mode, void GLAPIENTRY _mesa_noop_DrawRangeElements(GLenum mode,
@@ -665,7 +665,7 @@ void GLAPIENTRY _mesa_noop_DrawRangeElements(GLenum mode,
if (_mesa_validate_DrawRangeElements( ctx, mode, if (_mesa_validate_DrawRangeElements( ctx, mode,
start, end, start, end,
count, type, indices )) count, type, indices ))
_glapi_Dispatch->DrawElements( mode, count, type, indices ); GL_CALL(DrawElements)( mode, count, type, indices );
} }
/* /*
@@ -710,11 +710,11 @@ void GLAPIENTRY _mesa_noop_EvalMesh1( GLenum mode, GLint i1, GLint i2 )
du = ctx->Eval.MapGrid1du; du = ctx->Eval.MapGrid1du;
u = ctx->Eval.MapGrid1u1 + i1 * du; u = ctx->Eval.MapGrid1u1 + i1 * du;
_glapi_Dispatch->Begin( prim ); GL_CALL(Begin)( prim );
for (i=i1;i<=i2;i++,u+=du) { for (i=i1;i<=i2;i++,u+=du) {
_glapi_Dispatch->EvalCoord1f( u ); GL_CALL(EvalCoord1f)( u );
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }
@@ -749,38 +749,38 @@ void GLAPIENTRY _mesa_noop_EvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1,
switch (mode) { switch (mode) {
case GL_POINT: case GL_POINT:
_glapi_Dispatch->Begin( GL_POINTS ); GL_CALL(Begin)( GL_POINTS );
for (v=v1,j=j1;j<=j2;j++,v+=dv) { for (v=v1,j=j1;j<=j2;j++,v+=dv) {
for (u=u1,i=i1;i<=i2;i++,u+=du) { for (u=u1,i=i1;i<=i2;i++,u+=du) {
_glapi_Dispatch->EvalCoord2f(u, v ); GL_CALL(EvalCoord2f)(u, v );
} }
} }
_glapi_Dispatch->End(); GL_CALL(End)();
break; break;
case GL_LINE: case GL_LINE:
for (v=v1,j=j1;j<=j2;j++,v+=dv) { for (v=v1,j=j1;j<=j2;j++,v+=dv) {
_glapi_Dispatch->Begin( GL_LINE_STRIP ); GL_CALL(Begin)( GL_LINE_STRIP );
for (u=u1,i=i1;i<=i2;i++,u+=du) { for (u=u1,i=i1;i<=i2;i++,u+=du) {
_glapi_Dispatch->EvalCoord2f(u, v ); GL_CALL(EvalCoord2f)(u, v );
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }
for (u=u1,i=i1;i<=i2;i++,u+=du) { for (u=u1,i=i1;i<=i2;i++,u+=du) {
_glapi_Dispatch->Begin( GL_LINE_STRIP ); GL_CALL(Begin)( GL_LINE_STRIP );
for (v=v1,j=j1;j<=j2;j++,v+=dv) { for (v=v1,j=j1;j<=j2;j++,v+=dv) {
_glapi_Dispatch->EvalCoord2f(u, v ); GL_CALL(EvalCoord2f)(u, v );
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }
break; break;
case GL_FILL: case GL_FILL:
for (v=v1,j=j1;j<j2;j++,v+=dv) { for (v=v1,j=j1;j<j2;j++,v+=dv) {
_glapi_Dispatch->Begin( GL_TRIANGLE_STRIP ); GL_CALL(Begin)( GL_TRIANGLE_STRIP );
for (u=u1,i=i1;i<=i2;i++,u+=du) { for (u=u1,i=i1;i<=i2;i++,u+=du) {
_glapi_Dispatch->EvalCoord2f(u, v ); GL_CALL(EvalCoord2f)(u, v );
_glapi_Dispatch->EvalCoord2f(u, v+dv ); GL_CALL(EvalCoord2f)(u, v+dv );
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }
break; break;
default: default:

View File

@@ -57,25 +57,24 @@
#define NAME(func) gl##func #define NAME(func) gl##func
#endif #endif
#if 0 /* Use this to log GL calls to stdout (for DEBUG only!) */ #if 0 /* Use this to log GL calls to stdout (for DEBUG only!) */
#define F stdout #define F stdout
#define DISPATCH(FUNC, ARGS, MESSAGE) \ #define DISPATCH(FUNC, ARGS, MESSAGE) \
fprintf MESSAGE; \ fprintf MESSAGE; \
(_glapi_Dispatch->FUNC) ARGS; GL_CALL(FUNC) ARGS;
#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
fprintf MESSAGE; \ fprintf MESSAGE; \
return (_glapi_Dispatch->FUNC) ARGS return GL_CALL(FUNC) ARGS;
#else #else
#define DISPATCH(FUNC, ARGS, MESSAGE) \ #define DISPATCH(FUNC, ARGS, MESSAGE) \
(_glapi_Dispatch->FUNC) ARGS; GL_CALL(FUNC) ARGS;
#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \ #define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
return (_glapi_Dispatch->FUNC) ARGS return GL_CALL(FUNC) ARGS;
#endif /* logging */ #endif /* logging */

View File

@@ -33,310 +33,310 @@
static void GLAPIENTRY TAG(ArrayElement)( GLint i ) static void GLAPIENTRY TAG(ArrayElement)( GLint i )
{ {
PRE_LOOPBACK( ArrayElement ); PRE_LOOPBACK( ArrayElement );
_glapi_Dispatch->ArrayElement( i ); GL_CALL(ArrayElement)( i );
} }
static void GLAPIENTRY TAG(Color3f)( GLfloat r, GLfloat g, GLfloat b ) static void GLAPIENTRY TAG(Color3f)( GLfloat r, GLfloat g, GLfloat b )
{ {
PRE_LOOPBACK( Color3f ); PRE_LOOPBACK( Color3f );
_glapi_Dispatch->Color3f( r, g, b ); GL_CALL(Color3f)( r, g, b );
} }
static void GLAPIENTRY TAG(Color3fv)( const GLfloat *v ) static void GLAPIENTRY TAG(Color3fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Color3fv ); PRE_LOOPBACK( Color3fv );
_glapi_Dispatch->Color3fv( v ); GL_CALL(Color3fv)( v );
} }
static void GLAPIENTRY 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 ); PRE_LOOPBACK( Color4f );
_glapi_Dispatch->Color4f( r, g, b, a ); GL_CALL(Color4f)( r, g, b, a );
} }
static void GLAPIENTRY TAG(Color4fv)( const GLfloat *v ) static void GLAPIENTRY TAG(Color4fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Color4fv ); PRE_LOOPBACK( Color4fv );
_glapi_Dispatch->Color4fv( v ); GL_CALL(Color4fv)( v );
} }
static void GLAPIENTRY TAG(EdgeFlag)( GLboolean e ) static void GLAPIENTRY TAG(EdgeFlag)( GLboolean e )
{ {
PRE_LOOPBACK( EdgeFlag ); PRE_LOOPBACK( EdgeFlag );
_glapi_Dispatch->EdgeFlag( e ); GL_CALL(EdgeFlag)( e );
} }
static void GLAPIENTRY TAG(EdgeFlagv)( const GLboolean *v ) static void GLAPIENTRY TAG(EdgeFlagv)( const GLboolean *v )
{ {
PRE_LOOPBACK( EdgeFlagv ); PRE_LOOPBACK( EdgeFlagv );
_glapi_Dispatch->EdgeFlagv( v ); GL_CALL(EdgeFlagv)( v );
} }
static void GLAPIENTRY TAG(EvalCoord1f)( GLfloat s ) static void GLAPIENTRY TAG(EvalCoord1f)( GLfloat s )
{ {
PRE_LOOPBACK( EvalCoord1f ); PRE_LOOPBACK( EvalCoord1f );
_glapi_Dispatch->EvalCoord1f( s ); GL_CALL(EvalCoord1f)( s );
} }
static void GLAPIENTRY TAG(EvalCoord1fv)( const GLfloat *v ) static void GLAPIENTRY TAG(EvalCoord1fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( EvalCoord1fv ); PRE_LOOPBACK( EvalCoord1fv );
_glapi_Dispatch->EvalCoord1fv( v ); GL_CALL(EvalCoord1fv)( v );
} }
static void GLAPIENTRY TAG(EvalCoord2f)( GLfloat s, GLfloat t ) static void GLAPIENTRY TAG(EvalCoord2f)( GLfloat s, GLfloat t )
{ {
PRE_LOOPBACK( EvalCoord2f ); PRE_LOOPBACK( EvalCoord2f );
_glapi_Dispatch->EvalCoord2f( s, t ); GL_CALL(EvalCoord2f)( s, t );
} }
static void GLAPIENTRY TAG(EvalCoord2fv)( const GLfloat *v ) static void GLAPIENTRY TAG(EvalCoord2fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( EvalCoord2fv ); PRE_LOOPBACK( EvalCoord2fv );
_glapi_Dispatch->EvalCoord2fv( v ); GL_CALL(EvalCoord2fv)( v );
} }
static void GLAPIENTRY TAG(EvalPoint1)( GLint i ) static void GLAPIENTRY TAG(EvalPoint1)( GLint i )
{ {
PRE_LOOPBACK( EvalPoint1 ); PRE_LOOPBACK( EvalPoint1 );
_glapi_Dispatch->EvalPoint1( i ); GL_CALL(EvalPoint1)( i );
} }
static void GLAPIENTRY TAG(EvalPoint2)( GLint i, GLint j ) static void GLAPIENTRY TAG(EvalPoint2)( GLint i, GLint j )
{ {
PRE_LOOPBACK( EvalPoint2 ); PRE_LOOPBACK( EvalPoint2 );
_glapi_Dispatch->EvalPoint2( i, j ); GL_CALL(EvalPoint2)( i, j );
} }
static void GLAPIENTRY TAG(FogCoordfEXT)( GLfloat f ) static void GLAPIENTRY TAG(FogCoordfEXT)( GLfloat f )
{ {
PRE_LOOPBACK( FogCoordfEXT ); PRE_LOOPBACK( FogCoordfEXT );
_glapi_Dispatch->FogCoordfEXT( f ); GL_CALL(FogCoordfEXT)( f );
} }
static void GLAPIENTRY TAG(FogCoordfvEXT)( const GLfloat *v ) static void GLAPIENTRY TAG(FogCoordfvEXT)( const GLfloat *v )
{ {
PRE_LOOPBACK( FogCoordfvEXT ); PRE_LOOPBACK( FogCoordfvEXT );
_glapi_Dispatch->FogCoordfvEXT( v ); GL_CALL(FogCoordfvEXT)( v );
} }
static void GLAPIENTRY TAG(Indexf)( GLfloat f ) static void GLAPIENTRY TAG(Indexf)( GLfloat f )
{ {
PRE_LOOPBACK( Indexf ); PRE_LOOPBACK( Indexf );
_glapi_Dispatch->Indexf( f ); GL_CALL(Indexf)( f );
} }
static void GLAPIENTRY TAG(Indexfv)( const GLfloat *v ) static void GLAPIENTRY TAG(Indexfv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Indexfv ); PRE_LOOPBACK( Indexfv );
_glapi_Dispatch->Indexfv( v ); GL_CALL(Indexfv)( v );
} }
static void GLAPIENTRY TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v ) static void GLAPIENTRY TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v )
{ {
PRE_LOOPBACK( Materialfv ); PRE_LOOPBACK( Materialfv );
_glapi_Dispatch->Materialfv( face, pname, v ); GL_CALL(Materialfv)( face, pname, v );
} }
static void GLAPIENTRY TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a ) static void GLAPIENTRY TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a )
{ {
PRE_LOOPBACK( MultiTexCoord1fARB ); PRE_LOOPBACK( MultiTexCoord1fARB );
_glapi_Dispatch->MultiTexCoord1fARB( target, a ); GL_CALL(MultiTexCoord1fARB)( target, a );
} }
static void GLAPIENTRY TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc ) static void GLAPIENTRY TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc )
{ {
PRE_LOOPBACK( MultiTexCoord1fvARB ); PRE_LOOPBACK( MultiTexCoord1fvARB );
_glapi_Dispatch->MultiTexCoord1fvARB( target, tc ); GL_CALL(MultiTexCoord1fvARB)( target, tc );
} }
static void GLAPIENTRY TAG(MultiTexCoord2fARB)( GLenum target, GLfloat s, GLfloat t ) static void GLAPIENTRY TAG(MultiTexCoord2fARB)( GLenum target, GLfloat s, GLfloat t )
{ {
PRE_LOOPBACK( MultiTexCoord2fARB ); PRE_LOOPBACK( MultiTexCoord2fARB );
_glapi_Dispatch->MultiTexCoord2fARB( target, s, t ); GL_CALL(MultiTexCoord2fARB)( target, s, t );
} }
static void GLAPIENTRY TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc ) static void GLAPIENTRY TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc )
{ {
PRE_LOOPBACK( MultiTexCoord2fvARB ); PRE_LOOPBACK( MultiTexCoord2fvARB );
_glapi_Dispatch->MultiTexCoord2fvARB( target, tc ); GL_CALL(MultiTexCoord2fvARB)( target, tc );
} }
static void GLAPIENTRY TAG(MultiTexCoord3fARB)( GLenum target, GLfloat s, static void GLAPIENTRY TAG(MultiTexCoord3fARB)( GLenum target, GLfloat s,
GLfloat t, GLfloat r ) GLfloat t, GLfloat r )
{ {
PRE_LOOPBACK( MultiTexCoord3fARB ); PRE_LOOPBACK( MultiTexCoord3fARB );
_glapi_Dispatch->MultiTexCoord3fARB( target, s, t, r ); GL_CALL(MultiTexCoord3fARB)( target, s, t, r );
} }
static void GLAPIENTRY TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc ) static void GLAPIENTRY TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc )
{ {
PRE_LOOPBACK( MultiTexCoord3fvARB ); PRE_LOOPBACK( MultiTexCoord3fvARB );
_glapi_Dispatch->MultiTexCoord3fvARB( target, tc ); GL_CALL(MultiTexCoord3fvARB)( target, tc );
} }
static void GLAPIENTRY TAG(MultiTexCoord4fARB)( GLenum target, GLfloat s, static void GLAPIENTRY TAG(MultiTexCoord4fARB)( GLenum target, GLfloat s,
GLfloat t, GLfloat r, GLfloat q ) GLfloat t, GLfloat r, GLfloat q )
{ {
PRE_LOOPBACK( MultiTexCoord4fARB ); PRE_LOOPBACK( MultiTexCoord4fARB );
_glapi_Dispatch->MultiTexCoord4fARB( target, s, t, r, q ); GL_CALL(MultiTexCoord4fARB)( target, s, t, r, q );
} }
static void GLAPIENTRY TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc ) static void GLAPIENTRY TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc )
{ {
PRE_LOOPBACK( MultiTexCoord4fvARB ); PRE_LOOPBACK( MultiTexCoord4fvARB );
_glapi_Dispatch->MultiTexCoord4fvARB( target, tc ); GL_CALL(MultiTexCoord4fvARB)( target, tc );
} }
static void GLAPIENTRY TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z ) static void GLAPIENTRY TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z )
{ {
PRE_LOOPBACK( Normal3f ); PRE_LOOPBACK( Normal3f );
_glapi_Dispatch->Normal3f( x, y, z ); GL_CALL(Normal3f)( x, y, z );
} }
static void GLAPIENTRY TAG(Normal3fv)( const GLfloat *v ) static void GLAPIENTRY TAG(Normal3fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Normal3fv ); PRE_LOOPBACK( Normal3fv );
_glapi_Dispatch->Normal3fv( v ); GL_CALL(Normal3fv)( v );
} }
static void GLAPIENTRY TAG(SecondaryColor3fEXT)( GLfloat r, GLfloat g, GLfloat b ) static void GLAPIENTRY TAG(SecondaryColor3fEXT)( GLfloat r, GLfloat g, GLfloat b )
{ {
PRE_LOOPBACK( SecondaryColor3fEXT ); PRE_LOOPBACK( SecondaryColor3fEXT );
_glapi_Dispatch->SecondaryColor3fEXT( r, g, b ); GL_CALL(SecondaryColor3fEXT)( r, g, b );
} }
static void GLAPIENTRY TAG(SecondaryColor3fvEXT)( const GLfloat *v ) static void GLAPIENTRY TAG(SecondaryColor3fvEXT)( const GLfloat *v )
{ {
PRE_LOOPBACK( SecondaryColor3fvEXT ); PRE_LOOPBACK( SecondaryColor3fvEXT );
_glapi_Dispatch->SecondaryColor3fvEXT( v ); GL_CALL(SecondaryColor3fvEXT)( v );
} }
static void GLAPIENTRY TAG(TexCoord1f)( GLfloat s ) static void GLAPIENTRY TAG(TexCoord1f)( GLfloat s )
{ {
PRE_LOOPBACK( TexCoord1f ); PRE_LOOPBACK( TexCoord1f );
_glapi_Dispatch->TexCoord1f( s ); GL_CALL(TexCoord1f)( s );
} }
static void GLAPIENTRY TAG(TexCoord1fv)( const GLfloat *tc ) static void GLAPIENTRY TAG(TexCoord1fv)( const GLfloat *tc )
{ {
PRE_LOOPBACK( TexCoord1fv ); PRE_LOOPBACK( TexCoord1fv );
_glapi_Dispatch->TexCoord1fv( tc ); GL_CALL(TexCoord1fv)( tc );
} }
static void GLAPIENTRY TAG(TexCoord2f)( GLfloat s, GLfloat t ) static void GLAPIENTRY TAG(TexCoord2f)( GLfloat s, GLfloat t )
{ {
PRE_LOOPBACK( TexCoord2f ); PRE_LOOPBACK( TexCoord2f );
_glapi_Dispatch->TexCoord2f( s, t ); GL_CALL(TexCoord2f)( s, t );
} }
static void GLAPIENTRY TAG(TexCoord2fv)( const GLfloat *tc ) static void GLAPIENTRY TAG(TexCoord2fv)( const GLfloat *tc )
{ {
PRE_LOOPBACK( TexCoord2fv ); PRE_LOOPBACK( TexCoord2fv );
_glapi_Dispatch->TexCoord2fv( tc ); GL_CALL(TexCoord2fv)( tc );
} }
static void GLAPIENTRY TAG(TexCoord3f)( GLfloat s, GLfloat t, GLfloat r ) static void GLAPIENTRY TAG(TexCoord3f)( GLfloat s, GLfloat t, GLfloat r )
{ {
PRE_LOOPBACK( TexCoord3f ); PRE_LOOPBACK( TexCoord3f );
_glapi_Dispatch->TexCoord3f( s, t, r ); GL_CALL(TexCoord3f)( s, t, r );
} }
static void GLAPIENTRY TAG(TexCoord3fv)( const GLfloat *tc ) static void GLAPIENTRY TAG(TexCoord3fv)( const GLfloat *tc )
{ {
PRE_LOOPBACK( TexCoord3fv ); PRE_LOOPBACK( TexCoord3fv );
_glapi_Dispatch->TexCoord3fv( tc ); GL_CALL(TexCoord3fv)( tc );
} }
static void GLAPIENTRY 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 ); PRE_LOOPBACK( TexCoord4f );
_glapi_Dispatch->TexCoord4f( s, t, r, q ); GL_CALL(TexCoord4f)( s, t, r, q );
} }
static void GLAPIENTRY TAG(TexCoord4fv)( const GLfloat *tc ) static void GLAPIENTRY TAG(TexCoord4fv)( const GLfloat *tc )
{ {
PRE_LOOPBACK( TexCoord4fv ); PRE_LOOPBACK( TexCoord4fv );
_glapi_Dispatch->TexCoord4fv( tc ); GL_CALL(TexCoord4fv)( tc );
} }
static void GLAPIENTRY TAG(Vertex2f)( GLfloat x, GLfloat y ) static void GLAPIENTRY TAG(Vertex2f)( GLfloat x, GLfloat y )
{ {
PRE_LOOPBACK( Vertex2f ); PRE_LOOPBACK( Vertex2f );
_glapi_Dispatch->Vertex2f( x, y ); GL_CALL(Vertex2f)( x, y );
} }
static void GLAPIENTRY TAG(Vertex2fv)( const GLfloat *v ) static void GLAPIENTRY TAG(Vertex2fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Vertex2fv ); PRE_LOOPBACK( Vertex2fv );
_glapi_Dispatch->Vertex2fv( v ); GL_CALL(Vertex2fv)( v );
} }
static void GLAPIENTRY TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z ) static void GLAPIENTRY TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z )
{ {
PRE_LOOPBACK( Vertex3f ); PRE_LOOPBACK( Vertex3f );
_glapi_Dispatch->Vertex3f( x, y, z ); GL_CALL(Vertex3f)( x, y, z );
} }
static void GLAPIENTRY TAG(Vertex3fv)( const GLfloat *v ) static void GLAPIENTRY TAG(Vertex3fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Vertex3fv ); PRE_LOOPBACK( Vertex3fv );
_glapi_Dispatch->Vertex3fv( v ); GL_CALL(Vertex3fv)( v );
} }
static void GLAPIENTRY 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 ); PRE_LOOPBACK( Vertex4f );
_glapi_Dispatch->Vertex4f( x, y, z, w ); GL_CALL(Vertex4f)( x, y, z, w );
} }
static void GLAPIENTRY TAG(Vertex4fv)( const GLfloat *v ) static void GLAPIENTRY TAG(Vertex4fv)( const GLfloat *v )
{ {
PRE_LOOPBACK( Vertex4fv ); PRE_LOOPBACK( Vertex4fv );
_glapi_Dispatch->Vertex4fv( v ); GL_CALL(Vertex4fv)( v );
} }
static void GLAPIENTRY TAG(CallList)( GLuint i ) static void GLAPIENTRY TAG(CallList)( GLuint i )
{ {
PRE_LOOPBACK( CallList ); PRE_LOOPBACK( CallList );
_glapi_Dispatch->CallList( i ); GL_CALL(CallList)( i );
} }
static void GLAPIENTRY TAG(CallLists)( GLsizei sz, GLenum type, const GLvoid *v ) static void GLAPIENTRY TAG(CallLists)( GLsizei sz, GLenum type, const GLvoid *v )
{ {
PRE_LOOPBACK( CallLists ); PRE_LOOPBACK( CallLists );
_glapi_Dispatch->CallLists( sz, type, v ); GL_CALL(CallLists)( sz, type, v );
} }
static void GLAPIENTRY TAG(Begin)( GLenum mode ) static void GLAPIENTRY TAG(Begin)( GLenum mode )
{ {
PRE_LOOPBACK( Begin ); PRE_LOOPBACK( Begin );
_glapi_Dispatch->Begin( mode ); GL_CALL(Begin)( mode );
} }
static void GLAPIENTRY TAG(End)( void ) static void GLAPIENTRY TAG(End)( void )
{ {
PRE_LOOPBACK( End ); PRE_LOOPBACK( End );
_glapi_Dispatch->End(); GL_CALL(End)();
} }
static void GLAPIENTRY 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 ); PRE_LOOPBACK( Rectf );
_glapi_Dispatch->Rectf( x1, y1, x2, y2 ); GL_CALL(Rectf)( x1, y1, x2, y2 );
} }
static void GLAPIENTRY TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count ) static void GLAPIENTRY TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count )
{ {
PRE_LOOPBACK( DrawArrays ); PRE_LOOPBACK( DrawArrays );
_glapi_Dispatch->DrawArrays( mode, start, count ); GL_CALL(DrawArrays)( mode, start, count );
} }
static void GLAPIENTRY TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type, static void GLAPIENTRY TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices ) const GLvoid *indices )
{ {
PRE_LOOPBACK( DrawElements ); PRE_LOOPBACK( DrawElements );
_glapi_Dispatch->DrawElements( mode, count, type, indices ); GL_CALL(DrawElements)( mode, count, type, indices );
} }
static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start, static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start,
@@ -344,68 +344,68 @@ static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start,
GLenum type, const GLvoid *indices ) GLenum type, const GLvoid *indices )
{ {
PRE_LOOPBACK( DrawRangeElements ); PRE_LOOPBACK( DrawRangeElements );
_glapi_Dispatch->DrawRangeElements( mode, start, end, count, type, indices ); GL_CALL(DrawRangeElements)( mode, start, end, count, type, indices );
} }
static void GLAPIENTRY TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 ) static void GLAPIENTRY TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 )
{ {
PRE_LOOPBACK( EvalMesh1 ); PRE_LOOPBACK( EvalMesh1 );
_glapi_Dispatch->EvalMesh1( mode, i1, i2 ); GL_CALL(EvalMesh1)( mode, i1, i2 );
} }
static void GLAPIENTRY TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2, static void GLAPIENTRY TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2,
GLint j1, GLint j2 ) GLint j1, GLint j2 )
{ {
PRE_LOOPBACK( EvalMesh2 ); PRE_LOOPBACK( EvalMesh2 );
_glapi_Dispatch->EvalMesh2( mode, i1, i2, j1, j2 ); GL_CALL(EvalMesh2)( mode, i1, i2, j1, j2 );
} }
static void GLAPIENTRY TAG(VertexAttrib1fNV)( GLuint index, GLfloat x ) static void GLAPIENTRY TAG(VertexAttrib1fNV)( GLuint index, GLfloat x )
{ {
PRE_LOOPBACK( VertexAttrib1fNV ); PRE_LOOPBACK( VertexAttrib1fNV );
_glapi_Dispatch->VertexAttrib1fNV( index, x ); GL_CALL(VertexAttrib1fNV)( index, x );
} }
static void GLAPIENTRY TAG(VertexAttrib1fvNV)( GLuint index, const GLfloat *v ) static void GLAPIENTRY TAG(VertexAttrib1fvNV)( GLuint index, const GLfloat *v )
{ {
PRE_LOOPBACK( VertexAttrib1fvNV ); PRE_LOOPBACK( VertexAttrib1fvNV );
_glapi_Dispatch->VertexAttrib1fvNV( index, v ); GL_CALL(VertexAttrib1fvNV)( index, v );
} }
static void GLAPIENTRY TAG(VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y ) static void GLAPIENTRY TAG(VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y )
{ {
PRE_LOOPBACK( VertexAttrib2fNV ); PRE_LOOPBACK( VertexAttrib2fNV );
_glapi_Dispatch->VertexAttrib2fNV( index, x, y ); GL_CALL(VertexAttrib2fNV)( index, x, y );
} }
static void GLAPIENTRY TAG(VertexAttrib2fvNV)( GLuint index, const GLfloat *v ) static void GLAPIENTRY TAG(VertexAttrib2fvNV)( GLuint index, const GLfloat *v )
{ {
PRE_LOOPBACK( VertexAttrib2fvNV ); PRE_LOOPBACK( VertexAttrib2fvNV );
_glapi_Dispatch->VertexAttrib2fvNV( index, v ); GL_CALL(VertexAttrib2fvNV)( index, v );
} }
static void GLAPIENTRY TAG(VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z ) static void GLAPIENTRY TAG(VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z )
{ {
PRE_LOOPBACK( VertexAttrib3fNV ); PRE_LOOPBACK( VertexAttrib3fNV );
_glapi_Dispatch->VertexAttrib3fNV( index, x, y, z ); GL_CALL(VertexAttrib3fNV)( index, x, y, z );
} }
static void GLAPIENTRY TAG(VertexAttrib3fvNV)( GLuint index, const GLfloat *v ) static void GLAPIENTRY TAG(VertexAttrib3fvNV)( GLuint index, const GLfloat *v )
{ {
PRE_LOOPBACK( VertexAttrib3fvNV ); PRE_LOOPBACK( VertexAttrib3fvNV );
_glapi_Dispatch->VertexAttrib3fvNV( index, v ); GL_CALL(VertexAttrib3fvNV)( index, v );
} }
static void GLAPIENTRY 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 ); PRE_LOOPBACK( VertexAttrib4fNV );
_glapi_Dispatch->VertexAttrib4fNV( index, x, y, z, w ); GL_CALL(VertexAttrib4fNV)( index, x, y, z, w );
} }
static void GLAPIENTRY TAG(VertexAttrib4fvNV)( GLuint index, const GLfloat *v ) static void GLAPIENTRY TAG(VertexAttrib4fvNV)( GLuint index, const GLfloat *v )
{ {
PRE_LOOPBACK( VertexAttrib4fvNV ); PRE_LOOPBACK( VertexAttrib4fvNV );
_glapi_Dispatch->VertexAttrib4fvNV( index, v ); GL_CALL(VertexAttrib4fvNV)( index, v );
} }

View File

@@ -52,10 +52,10 @@ static void fallback_drawarrays( GLcontext *ctx, GLenum mode, GLint start,
assert(!ctx->CompileFlag); assert(!ctx->CompileFlag);
assert(ctx->Driver.CurrentExecPrimitive == GL_POLYGON+1); assert(ctx->Driver.CurrentExecPrimitive == GL_POLYGON+1);
_glapi_Dispatch->Begin(mode); GL_CALL(Begin)(mode);
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
_glapi_Dispatch->ArrayElement( start + i ); GL_CALL(ArrayElement)( start + i );
_glapi_Dispatch->End(); GL_CALL(End)();
} }
@@ -69,11 +69,11 @@ static void fallback_drawelements( GLcontext *ctx, GLenum mode, GLsizei count,
/* Here, indices will already reflect the buffer object if active */ /* Here, indices will already reflect the buffer object if active */
_glapi_Dispatch->Begin(mode); GL_CALL(Begin)(mode);
for (i = 0 ; i < count ; i++) { for (i = 0 ; i < count ; i++) {
_glapi_Dispatch->ArrayElement( indices[i] ); GL_CALL(ArrayElement)( indices[i] );
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }

View File

@@ -1294,11 +1294,11 @@ static void GLAPIENTRY _save_OBE_Rectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfl
{ {
GET_CURRENT_CONTEXT(ctx); GET_CURRENT_CONTEXT(ctx);
_save_NotifyBegin( ctx, GL_QUADS | PRIM_WEAK ); _save_NotifyBegin( ctx, GL_QUADS | PRIM_WEAK );
_glapi_Dispatch->Vertex2f( x1, y1 ); GL_CALL(Vertex2f)( x1, y1 );
_glapi_Dispatch->Vertex2f( x2, y1 ); GL_CALL(Vertex2f)( x2, y1 );
_glapi_Dispatch->Vertex2f( x2, y2 ); GL_CALL(Vertex2f)( x2, y2 );
_glapi_Dispatch->Vertex2f( x1, y2 ); GL_CALL(Vertex2f)( x1, y2 );
_glapi_Dispatch->End(); GL_CALL(End)();
} }
@@ -1312,8 +1312,8 @@ static void GLAPIENTRY _save_OBE_DrawArrays(GLenum mode, GLint start, GLsizei co
_save_NotifyBegin( ctx, mode | PRIM_WEAK ); _save_NotifyBegin( ctx, mode | PRIM_WEAK );
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
_glapi_Dispatch->ArrayElement(start + i); GL_CALL(ArrayElement)(start + i);
_glapi_Dispatch->End(); GL_CALL(End)();
} }
@@ -1331,22 +1331,22 @@ static void GLAPIENTRY _save_OBE_DrawElements(GLenum mode, GLsizei count, GLenum
switch (type) { switch (type) {
case GL_UNSIGNED_BYTE: case GL_UNSIGNED_BYTE:
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
_glapi_Dispatch->ArrayElement( ((GLubyte *)indices)[i] ); GL_CALL(ArrayElement)( ((GLubyte *)indices)[i] );
break; break;
case GL_UNSIGNED_SHORT: case GL_UNSIGNED_SHORT:
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
_glapi_Dispatch->ArrayElement( ((GLushort *)indices)[i] ); GL_CALL(ArrayElement)( ((GLushort *)indices)[i] );
break; break;
case GL_UNSIGNED_INT: case GL_UNSIGNED_INT:
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
_glapi_Dispatch->ArrayElement( ((GLuint *)indices)[i] ); GL_CALL(ArrayElement)( ((GLuint *)indices)[i] );
break; break;
default: default:
_mesa_error( ctx, GL_INVALID_ENUM, "glDrawElements(type)" ); _mesa_error( ctx, GL_INVALID_ENUM, "glDrawElements(type)" );
break; break;
} }
_glapi_Dispatch->End(); GL_CALL(End)();
} }
static void GLAPIENTRY _save_OBE_DrawRangeElements(GLenum mode, static void GLAPIENTRY _save_OBE_DrawRangeElements(GLenum mode,