summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-11-30 10:13:18 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2009-11-30 10:13:18 +0000
commita8ea20100de5be45699e71eb6ba67bef546ad0cd (patch)
treed228bb734a376ba7609415ebf56136a621e8cc6b
parentc10850c63f9f88fbf08135bc4dcef1e5a2c71ee6 (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.c5
-rw-r--r--src/i830_batchbuffer.c2
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))