From a8ea20100de5be45699e71eb6ba67bef546ad0cd Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 30 Nov 2009 10:13:18 +0000 Subject: debug: Don't always flush the batch when emitting a debugging flush I incorrectly changed the logic in 285f286 and caused the batch to always be flushed when debugging, instead of merely inserting a MI_FLUSH between operations. Signed-off-by: Chris Wilson --- src/i830_accel.c | 5 ++++- src/i830_batchbuffer.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/i830_accel.c b/src/i830_accel.c index 83fdf8a7..26228376 100644 --- a/src/i830_accel.c +++ b/src/i830_accel.c @@ -71,7 +71,10 @@ void i830_debug_flush(ScrnInfoPtr scrn) { intel_screen_private *intel = intel_get_screen_private(scrn); - if (intel->debug_flush & (DEBUG_FLUSH_BATCHES | DEBUG_FLUSH_CACHES)) + if (intel->debug_flush & DEBUG_FLUSH_CACHES) + intel_batch_pipelined_flush(scrn); + + if (intel->debug_flush & DEBUG_FLUSH_BATCHES) intel_batch_flush(scrn, FALSE); } diff --git a/src/i830_batchbuffer.c b/src/i830_batchbuffer.c index 351c0c86..6a4ece2d 100644 --- a/src/i830_batchbuffer.c +++ b/src/i830_batchbuffer.c @@ -128,7 +128,7 @@ void intel_batch_flush(ScrnInfoPtr scrn, Bool flush) assert (!intel->in_batch_atomic); - if (flush || intel->debug_flush & DEBUG_FLUSH_CACHES) { + if (flush) { int flags = MI_WRITE_DIRTY_STATE | MI_INVALIDATE_MAP_CACHE; if (IS_I965G(intel)) -- cgit v1.2.3