Mesa (master): i915g: Don't dirty dynamic state if it hasn't changed

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Sun Jul 4 12:38:37 UTC 2010


Module: Mesa
Branch: master
Commit: 7174038e29c91c6c32865150eb30616a4d15bc3e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7174038e29c91c6c32865150eb30616a4d15bc3e

Author: Jakob Bornecrantz <wallbraker at gmail.com>
Date:   Sat Jul  3 12:47:49 2010 +0100

i915g: Don't dirty dynamic state if it hasn't changed

---

 src/gallium/drivers/i915/i915_state_dynamic.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_state_dynamic.c b/src/gallium/drivers/i915/i915_state_dynamic.c
index d964483..d61a8c3 100644
--- a/src/gallium/drivers/i915/i915_state_dynamic.c
+++ b/src/gallium/drivers/i915/i915_state_dynamic.c
@@ -30,7 +30,7 @@
 #include "i915_context.h"
 #include "i915_reg.h"
 #include "i915_state.h"
-#include "util/u_math.h"
+
 #include "util/u_memory.h"
 #include "util/u_pack_color.h"
 
@@ -53,6 +53,9 @@ static INLINE void set_dynamic_indirect(struct i915_context *i915,
 {
    unsigned i;
 
+   if (!memcmp(src, &i915->current.dynamic[offset], dwords * 4))
+      return;
+
    for (i = 0; i < dwords; i++)
       i915->current.dynamic[offset + i] = src[i];
 




More information about the mesa-commit mailing list