/*
* Mesa 3-D graphics library
- * Version: 5.1
+ * Version: 6.0
*
- * 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"),
OPCODE_BITMAP,
OPCODE_BLEND_COLOR,
OPCODE_BLEND_EQUATION,
- OPCODE_BLEND_FUNC,
OPCODE_BLEND_FUNC_SEPARATE,
OPCODE_CALL_LIST,
OPCODE_CALL_LIST_OFFSET,
InstSize[OPCODE_BITMAP] = 8;
InstSize[OPCODE_BLEND_COLOR] = 5;
InstSize[OPCODE_BLEND_EQUATION] = 2;
- InstSize[OPCODE_BLEND_FUNC] = 3;
InstSize[OPCODE_BLEND_FUNC_SEPARATE] = 5;
InstSize[OPCODE_CALL_LIST] = 2;
InstSize[OPCODE_CALL_LIST_OFFSET] = 3;
}
-static void GLAPIENTRY save_BlendFunc( GLenum sfactor, GLenum dfactor )
-{
- GET_CURRENT_CONTEXT(ctx);
- Node *n;
- ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
- n = ALLOC_INSTRUCTION( ctx, OPCODE_BLEND_FUNC, 2 );
- if (n) {
- n[1].e = sfactor;
- n[2].e = dfactor;
- }
- if (ctx->ExecuteFlag) {
- (*ctx->Exec->BlendFunc)( sfactor, dfactor );
- }
-}
-
-
static void GLAPIENTRY save_BlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB,
GLenum sfactorA, GLenum dfactorA)
{
}
}
-static void save_EvalCoord1f( GLfloat x )
+static void GLAPIENTRY save_EvalCoord1f( GLfloat x )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_EvalCoord1fv( const GLfloat *v )
+static void GLAPIENTRY save_EvalCoord1fv( const GLfloat *v )
{
save_EvalCoord1f( v[0] );
}
-static void save_EvalCoord2f( GLfloat x, GLfloat y )
+static void GLAPIENTRY save_EvalCoord2f( GLfloat x, GLfloat y )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_EvalCoord2fv( const GLfloat *v )
+static void GLAPIENTRY save_EvalCoord2fv( const GLfloat *v )
{
save_EvalCoord2f( v[0], v[1] );
}
-static void save_EvalPoint1( GLint x )
+static void GLAPIENTRY save_EvalPoint1( GLint x )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_EvalPoint2( GLint x, GLint y )
+static void GLAPIENTRY save_EvalPoint2( GLint x, GLint y )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_Indexf( GLfloat x )
+static void GLAPIENTRY save_Indexf( GLfloat x )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
ctx->ListState.CurrentIndex = x;
if (ctx->ExecuteFlag) {
- (*ctx->Exec->Indexi)( x );
+ (*ctx->Exec->Indexi)( (GLint) x );
}
}
-static void save_Indexfv( const GLfloat *v )
+static void GLAPIENTRY save_Indexfv( const GLfloat *v )
{
save_Indexf( v[0] );
}
-static void save_EdgeFlag( GLboolean x )
+static void GLAPIENTRY save_EdgeFlag( GLboolean x )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_EdgeFlagv( const GLboolean *v )
+static void GLAPIENTRY save_EdgeFlagv( const GLboolean *v )
{
save_EdgeFlag( v[0] );
}
-static void save_Materialfv( GLenum face, GLenum pname, const GLfloat *param )
+static void GLAPIENTRY save_Materialfv( GLenum face, GLenum pname, const GLfloat *param )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_Begin( GLenum mode )
+static void GLAPIENTRY save_Begin( GLenum mode )
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
}
}
-static void save_End( void )
+static void GLAPIENTRY save_End( void )
{
GET_CURRENT_CONTEXT(ctx);
SAVE_FLUSH_VERTICES( ctx );
}
}
-static void save_Rectf( GLfloat a, GLfloat b,
+static void GLAPIENTRY save_Rectf( GLfloat a, GLfloat b,
GLfloat c, GLfloat d )
{
GET_CURRENT_CONTEXT(ctx);
/*
*/
-static void save_Vertex2f( GLfloat x, GLfloat y )
+static void GLAPIENTRY save_Vertex2f( GLfloat x, GLfloat y )
{
save_Attr2f( VERT_ATTRIB_POS, x, y );
}
-static void save_Vertex2fv( const GLfloat *v )
+static void GLAPIENTRY save_Vertex2fv( const GLfloat *v )
{
save_Attr2f( VERT_ATTRIB_POS, v[0], v[1] );
}
-static void save_Vertex3f( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_Vertex3f( GLfloat x, GLfloat y, GLfloat z )
{
save_Attr3f( VERT_ATTRIB_POS, x, y, z );
}
-static void save_Vertex3fv( const GLfloat *v )
+static void GLAPIENTRY save_Vertex3fv( const GLfloat *v )
{
save_Attr3f( VERT_ATTRIB_POS, v[0], v[1], v[2] );
}
-static void save_Vertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY save_Vertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
{
save_Attr4f( VERT_ATTRIB_POS, x, y, z, w );
}
-static void save_Vertex4fv( const GLfloat *v )
+static void GLAPIENTRY save_Vertex4fv( const GLfloat *v )
{
save_Attr4f( VERT_ATTRIB_POS, v[0], v[1], v[2], v[3] );
}
-static void save_TexCoord1f( GLfloat x )
+static void GLAPIENTRY save_TexCoord1f( GLfloat x )
{
save_Attr1f( VERT_ATTRIB_TEX0, x );
}
-static void save_TexCoord1fv( const GLfloat *v )
+static void GLAPIENTRY save_TexCoord1fv( const GLfloat *v )
{
save_Attr1f( VERT_ATTRIB_TEX0, v[0] );
}
-static void save_TexCoord2f( GLfloat x, GLfloat y )
+static void GLAPIENTRY save_TexCoord2f( GLfloat x, GLfloat y )
{
save_Attr2f( VERT_ATTRIB_TEX0, x, y );
}
-static void save_TexCoord2fv( const GLfloat *v )
+static void GLAPIENTRY save_TexCoord2fv( const GLfloat *v )
{
save_Attr2f( VERT_ATTRIB_TEX0, v[0], v[1] );
}
-static void save_TexCoord3f( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_TexCoord3f( GLfloat x, GLfloat y, GLfloat z )
{
save_Attr3f( VERT_ATTRIB_TEX0, x, y, z );
}
-static void save_TexCoord3fv( const GLfloat *v )
+static void GLAPIENTRY save_TexCoord3fv( const GLfloat *v )
{
save_Attr3f( VERT_ATTRIB_TEX0, v[0], v[1], v[2] );
}
-static void save_TexCoord4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY save_TexCoord4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
{
save_Attr4f( VERT_ATTRIB_TEX0, x, y, z, w );
}
-static void save_TexCoord4fv( const GLfloat *v )
+static void GLAPIENTRY save_TexCoord4fv( const GLfloat *v )
{
save_Attr4f( VERT_ATTRIB_TEX0, v[0], v[1], v[2], v[3] );
}
-static void save_Normal3f( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_Normal3f( GLfloat x, GLfloat y, GLfloat z )
{
save_Attr3f( VERT_ATTRIB_NORMAL, x, y, z );
}
-static void save_Normal3fv( const GLfloat *v )
+static void GLAPIENTRY save_Normal3fv( const GLfloat *v )
{
save_Attr3f( VERT_ATTRIB_NORMAL, v[0], v[1], v[2] );
}
-static void save_FogCoordfEXT( GLfloat x )
+static void GLAPIENTRY save_FogCoordfEXT( GLfloat x )
{
save_Attr1f( VERT_ATTRIB_FOG, x );
}
-static void save_FogCoordfvEXT( const GLfloat *v )
+static void GLAPIENTRY save_FogCoordfvEXT( const GLfloat *v )
{
save_Attr1f( VERT_ATTRIB_FOG, v[0] );
}
-static void save_Color3f( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_Color3f( GLfloat x, GLfloat y, GLfloat z )
{
save_Attr3f( VERT_ATTRIB_COLOR0, x, y, z );
}
-static void save_Color3fv( const GLfloat *v )
+static void GLAPIENTRY save_Color3fv( const GLfloat *v )
{
save_Attr3f( VERT_ATTRIB_COLOR0, v[0], v[1], v[2] );
}
-static void save_Color4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
+static void GLAPIENTRY save_Color4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
{
save_Attr4f( VERT_ATTRIB_COLOR0, x, y, z, w );
}
-static void save_Color4fv( const GLfloat *v )
+static void GLAPIENTRY save_Color4fv( const GLfloat *v )
{
save_Attr4f( VERT_ATTRIB_COLOR0, v[0], v[1], v[2], v[3] );
}
-static void save_SecondaryColor3fEXT( GLfloat x, GLfloat y, GLfloat z )
+static void GLAPIENTRY save_SecondaryColor3fEXT( GLfloat x, GLfloat y, GLfloat z )
{
save_Attr3f( VERT_ATTRIB_COLOR1, x, y, z );
}
-static void save_SecondaryColor3fvEXT( const GLfloat *v )
+static void GLAPIENTRY save_SecondaryColor3fvEXT( const GLfloat *v )
{
save_Attr3f( VERT_ATTRIB_COLOR1, v[0], v[1], v[2] );
}
/* Just call the respective ATTR for texcoord
*/
-static void save_MultiTexCoord1f( GLenum target, GLfloat x )
+static void GLAPIENTRY save_MultiTexCoord1f( GLenum target, GLfloat x )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr1f( attr, x );
}
-static void save_MultiTexCoord1fv( GLenum target, const GLfloat *v )
+static void GLAPIENTRY save_MultiTexCoord1fv( GLenum target, const GLfloat *v )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr1f( attr, v[0] );
}
-static void save_MultiTexCoord2f( GLenum target, GLfloat x, GLfloat y )
+static void GLAPIENTRY save_MultiTexCoord2f( GLenum target, GLfloat x, GLfloat y )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr2f( attr, x, y );
}
-static void save_MultiTexCoord2fv( GLenum target, const GLfloat *v )
+static void GLAPIENTRY save_MultiTexCoord2fv( GLenum target, const GLfloat *v )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr2f( attr, v[0], v[1] );
}
-static void save_MultiTexCoord3f( GLenum target, GLfloat x, GLfloat y,
+static void GLAPIENTRY save_MultiTexCoord3f( GLenum target, GLfloat x, GLfloat y,
GLfloat z)
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr3f( attr, x, y, z );
}
-static void save_MultiTexCoord3fv( GLenum target, const GLfloat *v )
+static void GLAPIENTRY save_MultiTexCoord3fv( GLenum target, const GLfloat *v )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr3f( attr, v[0], v[1], v[2] );
}
-static void save_MultiTexCoord4f( GLenum target, GLfloat x, GLfloat y,
+static void GLAPIENTRY save_MultiTexCoord4f( GLenum target, GLfloat x, GLfloat y,
GLfloat z, GLfloat w )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr4f( attr, x, y, z, w );
}
-static void save_MultiTexCoord4fv( GLenum target, const GLfloat *v )
+static void GLAPIENTRY save_MultiTexCoord4fv( GLenum target, const GLfloat *v )
{
GLuint attr = (target & 0x7) + VERT_ATTRIB_TEX0;
save_Attr4f( attr, v[0], v[1], v[2], v[3] );
}
-static void enum_error()
+static void enum_error( void )
{
GET_CURRENT_CONTEXT( ctx );
_mesa_error( ctx, GL_INVALID_ENUM, "VertexAttribfNV" );
*
* Check for errors at compile time?.
*/
-static void save_VertexAttrib1fNV( GLuint index, GLfloat x )
+static void GLAPIENTRY save_VertexAttrib1fNV( GLuint index, GLfloat x )
{
if (index < VERT_ATTRIB_MAX)
save_Attr1f( index, x );
enum_error();
}
-static void save_VertexAttrib1fvNV( GLuint index, const GLfloat *v )
+static void GLAPIENTRY save_VertexAttrib1fvNV( GLuint index, const GLfloat *v )
{
if (index < VERT_ATTRIB_MAX)
save_Attr1f( index, v[0] );
enum_error();
}
-static void save_VertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y )
+static void GLAPIENTRY save_VertexAttrib2fNV( GLuint index, GLfloat x, GLfloat y )
{
if (index < VERT_ATTRIB_MAX)
save_Attr2f( index, x, y );
enum_error();
}
-static void save_VertexAttrib2fvNV( GLuint index, const GLfloat *v )
+static void GLAPIENTRY save_VertexAttrib2fvNV( GLuint index, const GLfloat *v )
{
if (index < VERT_ATTRIB_MAX)
save_Attr2f( index, v[0], v[1] );
enum_error();
}
-static void save_VertexAttrib3fNV( GLuint index, GLfloat x, GLfloat y,
+static void GLAPIENTRY save_VertexAttrib3fNV( GLuint index, GLfloat x, GLfloat y,
GLfloat z )
{
if (index < VERT_ATTRIB_MAX)
enum_error();
}
-static void save_VertexAttrib3fvNV( GLuint index, const GLfloat *v )
+static void GLAPIENTRY save_VertexAttrib3fvNV( GLuint index, const GLfloat *v )
{
if (index < VERT_ATTRIB_MAX)
save_Attr3f( index, v[0], v[1], v[2] );
enum_error();
}
-static void save_VertexAttrib4fNV( GLuint index, GLfloat x, GLfloat y,
+static void GLAPIENTRY save_VertexAttrib4fNV( GLuint index, GLfloat x, GLfloat y,
GLfloat z, GLfloat w )
{
if (index < VERT_ATTRIB_MAX)
enum_error();
}
-static void save_VertexAttrib4fvNV( GLuint index, const GLfloat *v )
+static void GLAPIENTRY save_VertexAttrib4fvNV( GLuint index, const GLfloat *v )
{
if (index < VERT_ATTRIB_MAX)
save_Attr4f( index, v[0], v[1], v[2], v[3] );
case OPCODE_BLEND_EQUATION:
(*ctx->Exec->BlendEquation)( n[1].e );
break;
- case OPCODE_BLEND_FUNC:
- (*ctx->Exec->BlendFunc)( n[1].e, n[2].e );
- break;
case OPCODE_BLEND_FUNC_SEPARATE:
(*ctx->Exec->BlendFuncSeparateEXT)(n[1].e, n[2].e, n[3].e, n[4].e);
break;
/* Allocate new display list */
ctx->ListState.CurrentListNum = list;
- ctx->ListState.CurrentBlock = (Node *) MALLOC( sizeof(Node) * BLOCK_SIZE );
+ ctx->ListState.CurrentBlock = (Node *) CALLOC( sizeof(Node) * BLOCK_SIZE );
ctx->ListState.CurrentListPtr = ctx->ListState.CurrentBlock;
ctx->ListState.CurrentPos = 0;
table->Accum = save_Accum;
table->AlphaFunc = save_AlphaFunc;
table->Bitmap = save_Bitmap;
- table->BlendFunc = save_BlendFunc;
table->CallList = _mesa_save_CallList;
table->CallLists = _mesa_save_CallLists;
table->Clear = save_Clear;