diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-30 10:13:18 +0000 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-03-01 18:43:00 +0000 |
commit | d6783369d0ef9c835060d357aa5afc3c57062705 (patch) | |
tree | 4bd7ed77ce00df2d7d3a78f7d0aa35e3c6dbf755 | |
parent | 4d0f68182c4d586c7ae5b336844d9f471efac490 (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>
(cherry picked from commit a8ea20100de5be45699e71eb6ba67bef546ad0cd)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
-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 626c751f..115dc62f 100644 --- a/src/i830_accel.c +++ b/src/i830_accel.c @@ -140,7 +140,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 1677f590..56f593cc 100644 --- a/src/i830_batchbuffer.c +++ b/src/i830_batchbuffer.c @@ -202,7 +202,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)) |