diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-21 22:25:08 +0100 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-06-21 22:40:40 +0100 |
commit | c7c3890d00a9ec2a60873b284afa8ca8b1386556 (patch) | |
tree | ff7870b3312eda60978f40a352a49b5fa164c9da | |
parent | fb65ede594166b36afb9332651d1ec5460446f4c (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.c | 2 |
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); |