summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/i915simple/i915_prim_emit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/i915simple/i915_prim_emit.c')
-rw-r--r--src/mesa/pipe/i915simple/i915_prim_emit.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mesa/pipe/i915simple/i915_prim_emit.c b/src/mesa/pipe/i915simple/i915_prim_emit.c
index 6d7cfe2e3e..a1e0e85196 100644
--- a/src/mesa/pipe/i915simple/i915_prim_emit.c
+++ b/src/mesa/pipe/i915simple/i915_prim_emit.c
@@ -120,7 +120,11 @@ emit_prim( struct draw_stage *stage,
unsigned *ptr;
unsigned i;
- i915_emit_hardware_state( i915 );
+ if (i915->dirty)
+ i915_update_derived( i915 );
+
+ if (i915->hw_dirty)
+ i915_emit_hardware_state( i915 );
ptr = winsys->batch_start( winsys, nr * vertex_size, 0 );
if (ptr == 0) {