Mesa (master): intel: Flag _NEW_ARRAY state when doing array object binding in clears.
Eric Anholt
anholt at kemper.freedesktop.org
Tue Jul 14 22:17:55 UTC 2009
Module: Mesa
Branch: master
Commit: 374110bc9876365e8517175ecdb319be35e23016
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=374110bc9876365e8517175ecdb319be35e23016
Author: Eric Anholt <eric at anholt.net>
Date: Tue Jul 14 11:51:17 2009 -0700
intel: Flag _NEW_ARRAY state when doing array object binding in clears.
This is just following bind_vertex_array()'s behavior.
---
src/mesa/drivers/dri/intel/intel_clear.c | 8 ++++++++
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 273856f..0d0cf39 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);
}
More information about the mesa-commit
mailing list