diff options
author | Jakob Bornecrantz <wallbraker@gmail.com> | 2011-02-22 23:12:08 +0000 |
---|---|---|
committer | Jakob Bornecrantz <wallbraker@gmail.com> | 2011-02-24 00:26:02 +0000 |
commit | 8fb0ecd0cf4a4d672c0744abb4a9f030b3a17527 (patch) | |
tree | 4168ca6917e29a112b6c5ca1557d0ff23d94f165 /src/gallium/drivers/i915/i915_state_emit.c | |
parent | b9baad2aff6ddc5145d91cbfb81d083a21990a80 (diff) |
i915g: Lazy emit dynamic state
Diffstat (limited to 'src/gallium/drivers/i915/i915_state_emit.c')
-rw-r--r-- | src/gallium/drivers/i915/i915_state_emit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/i915/i915_state_emit.c b/src/gallium/drivers/i915/i915_state_emit.c index fcbe299ec2..509d487b49 100644 --- a/src/gallium/drivers/i915/i915_state_emit.c +++ b/src/gallium/drivers/i915/i915_state_emit.c @@ -223,7 +223,8 @@ i915_emit_hardware_state(struct i915_context *i915 ) { int i; for (i = 0; i < I915_MAX_DYNAMIC; i++) { - OUT_BATCH(i915->current.dynamic[i]); + if (i915->dynamic_dirty & (1 << i)); + OUT_BATCH(i915->current.dynamic[i]); } } #endif @@ -444,4 +445,5 @@ i915_emit_hardware_state(struct i915_context *i915 ) i915->hardware_dirty = 0; i915->immediate_dirty = 0; + i915->dynamic_dirty = 0; } |