summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-06-21 22:25:08 +0100
committerOwain G. Ainsworth <oga@openbsd.org>2010-06-21 22:40:40 +0100
commitc7c3890d00a9ec2a60873b284afa8ca8b1386556 (patch)
treeff7870b3312eda60978f40a352a49b5fa164c9da
parentfb65ede594166b36afb9332651d1ec5460446f4c (diff)
Do not clear need_mi_flush within the batch.
This is a situation that should not be possible, need_mi_flush being true but the list of pending flush pixmaps being clear. However, an earlier bug in doing just that revealed this minor bug. So for correctness, be careful not to clear need_mi_flush without emitting a MI_FLUSH. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 0203cf91b54ee8a7cea8560e559288ee9b6e8554) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
-rw-r--r--src/i830_batchbuffer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/i830_batchbuffer.c b/src/i830_batchbuffer.c
index d5d7a5e4..2ef89f24 100644
--- a/src/i830_batchbuffer.c
+++ b/src/i830_batchbuffer.c
@@ -216,7 +216,7 @@ void intel_batch_submit(ScrnInfoPtr scrn, int flush)
list_del(&entry->batch);
}
- intel->need_mi_flush = !list_is_empty(&intel->flush_pixmaps);
+ intel->need_mi_flush |= !list_is_empty(&intel->flush_pixmaps);
while (!list_is_empty(&intel->flush_pixmaps))
list_del(intel->flush_pixmaps.next);