summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2009-07-14 11:51:17 -0700
committerEric Anholt <[email protected]>2009-07-14 15:14:51 -0700
commit374110bc9876365e8517175ecdb319be35e23016 (patch)
tree3c8902acf9d1f2e2d7a06eedd51942f62b9a7230 /src/mesa/drivers/dri
parente786ecbfb5ff6953d61d62099c8af445a6d99fb9 (diff)
intel: Flag _NEW_ARRAY state when doing array object binding in clears.
This is just following bind_vertex_array()'s behavior.
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r--src/mesa/drivers/dri/intel/intel_clear.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_clear.c b/src/mesa/drivers/dri/intel/intel_clear.c
index 273856fd2f0..0d0cf39fde2 100644
--- a/src/mesa/drivers/dri/intel/intel_clear.c
+++ b/src/mesa/drivers/dri/intel/intel_clear.c
@@ -86,6 +86,8 @@ init_clear(GLcontext *ctx)
/* save current array object, bind new one */
_mesa_reference_array_object(ctx, &arraySave, ctx->Array.ArrayObj);
+ ctx->NewState |= _NEW_ARRAY;
+ ctx->Array.NewState |= _NEW_ARRAY_ALL;
_mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, intel->clear.arrayObj);
/* one-time setup of vertex arrays (pos, color) */
@@ -97,6 +99,8 @@ init_clear(GLcontext *ctx)
_mesa_Enable(GL_VERTEX_ARRAY);
/* restore original array object */
+ ctx->NewState |= _NEW_ARRAY;
+ ctx->Array.NewState |= _NEW_ARRAY_ALL;
_mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, arraySave);
_mesa_reference_array_object(ctx, &arraySave, NULL);
@@ -192,6 +196,8 @@ intel_clear_tris(GLcontext *ctx, GLbitfield mask)
/* save current array object, bind our private one */
_mesa_reference_array_object(ctx, &arraySave, ctx->Array.ArrayObj);
+ ctx->NewState |= _NEW_ARRAY;
+ ctx->Array.NewState |= _NEW_ARRAY_ALL;
_mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, intel->clear.arrayObj);
intel_meta_set_passthrough_transform(intel);
@@ -283,6 +289,8 @@ intel_clear_tris(GLcontext *ctx, GLbitfield mask)
_mesa_PopAttrib();
/* restore current array object */
+ ctx->NewState |= _NEW_ARRAY;
+ ctx->Array.NewState |= _NEW_ARRAY_ALL;
_mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, arraySave);
_mesa_reference_array_object(ctx, &arraySave, NULL);
}