summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/depth.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main/depth.c')
-rw-r--r--src/mesa/main/depth.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mesa/main/depth.c b/src/mesa/main/depth.c
index c3534407599..1ea7d1af5c0 100644
--- a/src/mesa/main/depth.c
+++ b/src/mesa/main/depth.c
@@ -83,7 +83,8 @@ _mesa_DepthFunc( GLenum func )
return;
}
- FLUSH_VERTICES(ctx, _NEW_DEPTH);
+ FLUSH_VERTICES(ctx, ctx->DriverFlags.NewDepth ? 0 : _NEW_DEPTH);
+ ctx->NewDriverState |= ctx->DriverFlags.NewDepth;
ctx->Depth.Func = func;
if (ctx->Driver.DepthFunc)
@@ -107,7 +108,8 @@ _mesa_DepthMask( GLboolean flag )
if (ctx->Depth.Mask == flag)
return;
- FLUSH_VERTICES(ctx, _NEW_DEPTH);
+ FLUSH_VERTICES(ctx, ctx->DriverFlags.NewDepth ? 0 : _NEW_DEPTH);
+ ctx->NewDriverState |= ctx->DriverFlags.NewDepth;
ctx->Depth.Mask = flag;
if (ctx->Driver.DepthMask)
@@ -138,7 +140,8 @@ _mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
if (ctx->Depth.BoundsMin == zmin && ctx->Depth.BoundsMax == zmax)
return;
- FLUSH_VERTICES(ctx, _NEW_DEPTH);
+ FLUSH_VERTICES(ctx, ctx->DriverFlags.NewDepth ? 0 : _NEW_DEPTH);
+ ctx->NewDriverState |= ctx->DriverFlags.NewDepth;
ctx->Depth.BoundsMin = (GLfloat) zmin;
ctx->Depth.BoundsMax = (GLfloat) zmax;
}