summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915/i915_state_emit.c
diff options
context:
space:
mode:
authorJakob Bornecrantz <wallbraker@gmail.com>2011-02-22 23:12:08 +0000
committerJakob Bornecrantz <wallbraker@gmail.com>2011-02-24 00:26:02 +0000
commit8fb0ecd0cf4a4d672c0744abb4a9f030b3a17527 (patch)
tree4168ca6917e29a112b6c5ca1557d0ff23d94f165 /src/gallium/drivers/i915/i915_state_emit.c
parentb9baad2aff6ddc5145d91cbfb81d083a21990a80 (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.c4
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;
}