diff options
author | Jakob Bornecrantz <wallbraker@gmail.com> | 2010-07-03 12:47:49 +0100 |
---|---|---|
committer | Jakob Bornecrantz <wallbraker@gmail.com> | 2010-07-04 13:32:01 +0100 |
commit | 7174038e29c91c6c32865150eb30616a4d15bc3e (patch) | |
tree | 2652cd105e0625f875543fd2415effffb8184244 /src/gallium/drivers/i915/i915_state_dynamic.c | |
parent | 22d4d5fc3fe4017732043be9eb08128688f9ee66 (diff) | |
download | external_mesa3d-7174038e29c91c6c32865150eb30616a4d15bc3e.zip external_mesa3d-7174038e29c91c6c32865150eb30616a4d15bc3e.tar.gz external_mesa3d-7174038e29c91c6c32865150eb30616a4d15bc3e.tar.bz2 |
i915g: Don't dirty dynamic state if it hasn't changed
Diffstat (limited to 'src/gallium/drivers/i915/i915_state_dynamic.c')
-rw-r--r-- | 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]; |