check for either GL_NV_vertex_program or GL_ARB_vertex_program for some enables

This commit is contained in:
Brian Paul
2004-08-18 18:45:25 +00:00
parent e41460bf77
commit efb2ade520
+13 -12
View File
@@ -5,9 +5,9 @@
/*
* 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"),
@@ -48,13 +48,6 @@
return; \
}
#define CHECK_EXTENSION2(EXT1, EXT2, CAP) \
if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \
_mesa_error(ctx, GL_INVALID_ENUM, "gl%sClientState(0x%x)", \
state ? "Enable" : "Disable", CAP); \
return; \
}
static void
client_state( GLcontext *ctx, GLenum cap, GLboolean state )
@@ -192,6 +185,14 @@ _mesa_DisableClientState( GLenum cap )
return; \
}
#define CHECK_EXTENSION2(EXT1, EXT2, CAP) \
if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \
_mesa_error(ctx, GL_INVALID_ENUM, "gl%s(0x%x)", \
state ? "Enable" : "Disable", CAP); \
return; \
}
/**
* Perform glEnable() and glDisable() calls.
@@ -852,21 +853,21 @@ void _mesa_set_enable( GLcontext *ctx, GLenum cap, GLboolean state )
#if FEATURE_NV_vertex_program
case GL_VERTEX_PROGRAM_NV:
CHECK_EXTENSION(NV_vertex_program, cap);
CHECK_EXTENSION2(NV_vertex_program, ARB_vertex_program, cap);
if (ctx->VertexProgram.Enabled == state)
return;
FLUSH_VERTICES(ctx, _NEW_PROGRAM);
ctx->VertexProgram.Enabled = state;
break;
case GL_VERTEX_PROGRAM_POINT_SIZE_NV:
CHECK_EXTENSION(NV_vertex_program, cap);
CHECK_EXTENSION2(NV_vertex_program, ARB_vertex_program, cap);
if (ctx->VertexProgram.PointSizeEnabled == state)
return;
FLUSH_VERTICES(ctx, _NEW_PROGRAM);
ctx->VertexProgram.PointSizeEnabled = state;
break;
case GL_VERTEX_PROGRAM_TWO_SIDE_NV:
CHECK_EXTENSION(NV_vertex_program, cap);
CHECK_EXTENSION2(NV_vertex_program, ARB_vertex_program, cap);
if (ctx->VertexProgram.TwoSideEnabled == state)
return;
FLUSH_VERTICES(ctx, _NEW_PROGRAM);