From 6d460af6af77a0d5a5b568bcd6094b98e249ba93 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 23 Apr 2004 14:16:46 +0000 Subject: Added ctx->Vertex/FragmentProgram._Enable flags. Set when vertex/fragment program is enabled AND the currently bound program is valid. Check _Enable instead of Enable to prevent things from blowing up when someone calls glEnable(GL_VERTEX_PROGRAM_ARB) without actually defining a program. --- src/mesa/main/mtypes.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/mesa/main/mtypes.h') diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 4d78264bde..d021ffc4ff 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1628,10 +1628,11 @@ struct program_state { */ struct vertex_program_state { - GLboolean Enabled; /**< GL_VERTEX_PROGRAM_NV */ - GLboolean PointSizeEnabled; /**< GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - GLboolean TwoSideEnabled; /**< GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - struct vertex_program *Current; /**< ptr to currently bound program */ + GLboolean Enabled; /**< GL_VERTEX_PROGRAM_NV */ + GLboolean _Enabled; /**< Really enabled? */ + GLboolean PointSizeEnabled; /**< GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + GLboolean TwoSideEnabled; /**< GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + struct vertex_program *Current; /**< ptr to currently bound program */ GLenum TrackMatrix[MAX_NV_VERTEX_PROGRAM_PARAMS / 4]; GLenum TrackMatrixTransform[MAX_NV_VERTEX_PROGRAM_PARAMS / 4]; @@ -1658,6 +1659,7 @@ struct vertex_program_state struct fragment_program_state { GLboolean Enabled; /* GL_VERTEX_PROGRAM_NV */ + GLboolean _Enabled; /* Really enabled? */ struct fragment_program *Current; /* ptr to currently bound program */ struct fp_machine Machine; /* machine state */ GLfloat Parameters[MAX_NV_FRAGMENT_PROGRAM_PARAMS][4]; /* Env params */ -- cgit v1.2.3