restore driver depth test enable/disable state in PopAttrib()
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 19 Jul 2000 18:34:00 +0000 (18:34 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 19 Jul 2000 18:34:00 +0000 (18:34 +0000)
src/mesa/main/attrib.c

index 41bd884be967092bf9debf2e3e81956d5e41de8e..be0a644ce1d2dfb51771607909dba5860c88e1b8 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: attrib.c,v 1.24 2000/07/05 22:26:43 brianp Exp $ */
+/* $Id: attrib.c,v 1.25 2000/07/19 18:34:00 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -475,11 +475,14 @@ _mesa_PopAttrib(void)
             break;
          case GL_DEPTH_BUFFER_BIT:
             {
+               GLboolean oldDepthTest = ctx->Depth.Test;
                GLenum oldDepthFunc = ctx->Depth.Func;
                GLboolean oldDepthMask = ctx->Depth.Mask;
                GLfloat oldDepthClear = ctx->Depth.Clear;
                MEMCPY( &ctx->Depth, attr->data,
                        sizeof(struct gl_depthbuffer_attrib) );
+               if (ctx->Depth.Test != oldDepthTest && ctx->Driver.Enable)
+                  (*ctx->Driver.Enable)( ctx, GL_DEPTH_TEST, ctx->Depth.Test);
                if (ctx->Depth.Func != oldDepthFunc && ctx->Driver.DepthFunc)
                   (*ctx->Driver.DepthFunc)( ctx, ctx->Depth.Func );
                if (ctx->Depth.Mask != oldDepthMask && ctx->Driver.DepthMask)