diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-30 10:13:18 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-30 10:13:18 +0000 |
commit | a8ea20100de5be45699e71eb6ba67bef546ad0cd (patch) | |
tree | d228bb734a376ba7609415ebf56136a621e8cc6b | |
parent | c10850c63f9f88fbf08135bc4dcef1e5a2c71ee6 (diff) |
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 <chris@chris-wilson.co.uk>
-rw-r--r-- | src/i830_accel.c | 5 | ||||
-rw-r--r-- | 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)) |