From 53e4bf9afd304b91902eeef97617d855a6a2f823 Mon Sep 17 00:00:00 2001 From: Gareth Hughes Date: Fri, 9 Mar 2001 16:08:13 +0000 Subject: More generic vtxfmt template, useful for creating neutral tnl module as well as fallback functions for driver tnl modules. --- src/mesa/main/vtxfmt_tmp.h | 421 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 421 insertions(+) create mode 100644 src/mesa/main/vtxfmt_tmp.h (limited to 'src/mesa') diff --git a/src/mesa/main/vtxfmt_tmp.h b/src/mesa/main/vtxfmt_tmp.h new file mode 100644 index 0000000000..c5c65205e8 --- /dev/null +++ b/src/mesa/main/vtxfmt_tmp.h @@ -0,0 +1,421 @@ +/* $Id: vtxfmt_tmp.h,v 1.1 2001/03/09 16:08:13 gareth Exp $ */ + +/* + * Mesa 3-D graphics library + * Version: 3.5 + * + * Copyright (C) 1999-2001 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"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * Author: + * Gareth Hughes + */ + +#ifndef PRE_LOOPBACK +#define PRE_LOOPBACK( FUNC ) +#endif + +static void TAG(ArrayElement)( GLint i ) +{ + PRE_LOOPBACK( ArrayElement ); + glArrayElement( i ); +} + +static void TAG(Color3f)( GLfloat a, GLfloat b, GLfloat c ) +{ + PRE_LOOPBACK( Color3f ); + glColor3f( a, b, c ); +} + +static void TAG(Color3fv)( const GLfloat *v ) +{ + PRE_LOOPBACK( Color3fv ); + glColor3fv( v ); +} + +static void TAG(Color3ub)( GLubyte a, GLubyte b, GLubyte c ) +{ + PRE_LOOPBACK( Color3ub ); + glColor3ub( a, b, c ); +} + +static void TAG(Color3ubv)( const GLubyte *v ) +{ + PRE_LOOPBACK( Color3ubv ); + glColor( 3ubv ); +} + +static void TAG(Color4f)( GLfloat a, GLfloat b, GLfloat c, GLfloat d ) +{ + PRE_LOOPBACK( Color4f ); + glColor4f( a, b, c, d ); +} + +static void TAG(Color4fv)( const GLfloat *v ) +{ + PRE_LOOPBACK( Color4fv ); + glColor4fv( v ); +} + +static void TAG(Color4ub)( GLubyte a, GLubyte b, GLubyte c, GLubyte d ) +{ + PRE_LOOPBACK( Color4ub ); + glColor4ub( a, b, c, d ); +} + +static void TAG(Color4ubv)( const GLubyte *v ) +{ + PRE_LOOPBACK( Color4ubv ); + glColor4ubv( v ); +} + +static void TAG(EdgeFlag)( GLboolean a ) +{ + PRE_LOOPBACK( EdgeFlag ); + glEdgeFlag( a ); +} + +static void TAG(EdgeFlagv)( const GLboolean *v ) +{ + PRE_LOOPBACK( EdgeFlagv ); + glEdgeFlagv( v ); +} + +static void TAG(EvalCoord1f)( GLfloat a ) +{ + PRE_LOOPBACK( EvalCoord1f ); + glEvalCoord1f( a ); +} + +static void TAG(EvalCoord1fv)( const GLfloat *v ) +{ + PRE_LOOPBACK( EvalCoord1fv ); + glEvalCoord1fv( v ); +} + +static void TAG(EvalCoord2f)( GLfloat a, GLfloat b ) +{ + PRE_LOOPBACK( EvalCoord2f ); + glEvalCoord2f( a, b ); +} + +static void TAG(EvalCoord2fv)( const GLfloat *v ) +{ + PRE_LOOPBACK( EvalCoord2fv ); + glEvalCoord2fv( v ); +} + +static void TAG(EvalPoint1)( GLint a ) +{ + PRE_LOOPBACK( EvalPoint1 ); + glEvalPoint1( a ); +} + +static void TAG(EvalPoint2)( GLint a, GLint b ) +{ + PRE_LOOPBACK( EvalPoint2 ); + glEvalPoint2( a, b ); +} + +static void TAG(FogCoordfEXT)( GLfloat a ) +{ + PRE_LOOPBACK( FogCoordfEXT ); + glFogCordfEXT( a ); +} + +static void TAG(FogCoordfvEXT)( const GLfloat *v ) +{ + PRE_LOOPBACK( FogCoordfvEXT ); + glFogCoordfvEXT( v ); +} + +static void TAG(Indexi)( GLint a ) +{ + PRE_LOOPBACK( Indexi ); + glIndexi( a ); +} + +static void TAG(Indexiv)( const GLint *v ) +{ + PRE_LOOPBACK( Indexiv ); + glIndexiv( v ); +} + +static void TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v ) +{ + PRE_LOOPBACK( Materialfv ); + glMaterialfv( face, pname, v ); +} + +static void TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a ); +{ + PRE_LOOPBACK( MultiTexCoord1fARB ); + glMultiTexCoord1fARB( target, a ); +} + +static void TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc ) +{ + PRE_LOOPBACK( MultiTexCoord1fvARB ); + glMultiTexCoord1fvARB( target, tc ); +} + +static void TAG(MultiTexCoord2fARB)( GLenum target, GLfloat a, GLfloat b ) +{ + PRE_LOOPBACK( MultiTexCoord2fARB ); + glMultiTexCoord2fARB( target, a, b ); +} + +static void TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc ) +{ + PRE_LOOPBACK( MultiTexCoord2fvARB ); + glMultiTexCoord2fvARB( target, tc ); +} + +static void TAG(MultiTexCoord3fARB)( GLenum target, GLfloat a, + GLfloat b, GLfloat c ) +{ + PRE_LOOPBACK( MultiTexCoord3fARB ); + glMultiTexCoord3fARB( target, a, b, c ); +} + +static void TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc ) +{ + PRE_LOOPBACK( MultiTexCoord3fvARB ); + glMultiTexCoord3fvARB( target, tc ); +} + +static void TAG(MultiTexCoord4fARB)( GLenum target, GLfloat a, + GLfloat b, GLfloat c, GLfloat d ) +{ + PRE_LOOPBACK( MultiTexCoord4fARB ); + glMultiTexCoord4fARB( target, a, b, c, d ); +} + +static void TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc ) +{ + PRE_LOOPBACK( MultiTexCoord4fvARB ); + glMultiTexCoord4fvARB( target, tc ); +} + +static void TAG(TexCoord1f)( GLfloat a ) +{ + PRE_LOOPBACK( TexCoord1f ); + glTexCoord1f( a ); +} + +static void TAG(TexCoord1fv)( const GLfloat *tc ) +{ + PRE_LOOPBACK( TexCoord1fv ); + glTexCoord1fv( tc ); +} + +static void TAG(TexCoord2f)( GLfloat a, GLfloat b ) +{ + PRE_LOOPBACK( TexCoord2f ); + glTexCoord2f( a, b ); +} + +static void TAG(TexCoord2fv)( const GLfloat *tc ) +{ + PRE_LOOPBACK( TexCoord2fv ); + glTexCoord2fv( tc ); +} + +static void TAG(TexCoord3f)( GLfloat a, GLfloat b, GLfloat c ) +{ + PRE_LOOPBACK( TexCoord3f ); + glTexCoord3f( a, b, c ); +} + +static void TAG(TexCoord3fv)( const GLfloat *tc ) +{ + PRE_LOOPBACK( TexCoord3fv ); + glTexCoord3fv( tc ); +} + +static void TAG(TexCoord4f)( GLfloat a, GLfloat b, GLfloat c, GLfloat d ) +{ + PRE_LOOPBACK( TexCoord4f ); + glTexCoord4f( a, b, c, d ); +} + +static void TAG(TexCoord4fv)( const GLfloat *tc ) +{ + PRE_LOOPBACK( TexCoord4fv ); + glTexCoord4fv( tc ); +} + +static void TAG(Vertex2f)( GLfloat a, GLfloat b ) +{ + PRE_LOOPBACK( Vertex2f ); + glVertex2f( a, b ); +} + +static void TAG(Vertex2fv)( const GLfloat *obj ) +{ + PRE_LOOPBACK( Vertex2fv ); + glVertex2fv( obj ); +} + +static void TAG(Vertex3f)( GLfloat a, GLfloat b, GLfloat c ) +{ + PRE_LOOPBACK( Vertex3f ); + glVertex3f( a, b, c ); +} + +static void TAG(Vertex3fv)( const GLfloat *obj ) +{ + PRE_LOOPBACK( Vertex3fv ); + glVertex3fv( obj ); +} + +static void TAG(Vertex4f)( GLfloat a, GLfloat b, GLfloat c, GLfloat d ) +{ + PRE_LOOPBACK( Vertex4f ); + glVertex4f( a, b, c, d ); +} + +static void TAG(Vertex4fv)( const GLfloat *obj ) +{ + PRE_LOOPBACK( Vertex4fv ); + glVertex4fv( obj ); +} + +static void TAG(CallList)( GLuint i ) +{ + PRE_LOOPBACK( CallList ); + glCallList( i ); +} + +static void TAG(Begin)( GLenum mode ) +{ + PRE_LOOPBACK( Begin ); + glBegin( mode ); +} + +static void TAG(End)( void ) +{ + PRE_LOOPBACK( End ); + glEnd(); +} + +static void TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count ) +{ + PRE_LOOPBACK( DrawArrays ); + glDrawArrays( mode, start, count ); +} + +static void TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type, + const void *indices ) +{ + PRE_LOOPBACK( DrawElements ); + glDrawElements( mode, count, type, indices ); +} + +static void TAG(DrawRangeElements)( GLenum mode, GLuint start, + GLuint end, GLsizei count, + GLenum type, const void *indices ) +{ + PRE_LOOPBACK( DrawRangeElements ); + glDrawRangeElements( mode, start, end, count, type, indices ); +} + +static void TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 ) +{ + PRE_LOOPBACK( EvalMesh1 ); + glEvalMesh1( mode, i1, i2 ); +} + +static void TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2, + GLint j1, GLint j2 ) +{ + PRE_LOOPBACK( EvalMesh2 ); + glEvalMesh2( mode, i1, i2, j1, j2 ); +} + + + +/* Hack from hell: + * Call or reference this function to stop unused symbol warnings... + */ +static void TAG(silence_compiler)( void ) +{ + (void)TAG(ArrayElement); + (void)TAG(Color3f); + (void)TAG(Color3fv); + (void)TAG(Color3ub); + (void)TAG(Color3ubv); + (void)TAG(Color4f); + (void)TAG(Color4fv); + (void)TAG(Color4ub); + (void)TAG(Color4ubv); + (void)TAG(EdgeFlag); + (void)TAG(EdgeFlagv); + (void)TAG(EvalCoord1f); + (void)TAG(EvalCoord1fv); + (void)TAG(EvalCoord2f); + (void)TAG(EvalCoord2fv); + (void)TAG(EvalPoint1); + (void)TAG(EvalPoint2); + (void)TAG(FogCoordfEXT); + (void)TAG(FogCoordfvEXT); + (void)TAG(Indexi); + (void)TAG(Indexiv); + (void)TAG(Materialfv); + (void)TAG(MultiTexCoord1fARB); + (void)TAG(MultiTexCoord1fvARB); + (void)TAG(MultiTexCoord2fARB); + (void)TAG(MultiTexCoord2fvARB); + (void)TAG(MultiTexCoord3fARB); + (void)TAG(MultiTexCoord3fvARB); + (void)TAG(MultiTexCoord4fARB); + (void)TAG(MultiTexCoord4fvARB); + (void)TAG(Normal3f); + (void)TAG(Normal3fv); + (void)TAG(SecondaryColor3fEXT); + (void)TAG(SecondaryColor3fvEXT); + (void)TAG(SecondaryColor3ubEXT); + (void)TAG(SecondaryColor3ubvEXT); + (void)TAG(TexCoord1f); + (void)TAG(TexCoord1fv); + (void)TAG(TexCoord2f); + (void)TAG(TexCoord2fv); + (void)TAG(TexCoord3f); + (void)TAG(TexCoord3fv); + (void)TAG(TexCoord4f); + (void)TAG(TexCoord4fv); + (void)TAG(Vertex2f); + (void)TAG(Vertex2fv); + (void)TAG(Vertex3f); + (void)TAG(Vertex3fv); + (void)TAG(Vertex4f); + (void)TAG(Vertex4fv); + (void)TAG(CallList); + (void)TAG(Begin); + (void)TAG(End); + (void)TAG(Rectf); + (void)TAG(DrawArrays); + (void)TAG(DrawElements); + (void)TAG(DrawRangeElements); + (void)TAG(EvalMesh1); + (void)TAG(EvalMesh2); +} + +#undef TAG +#undef PRE_LOOPBACK -- cgit v1.2.3