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