summaryrefslogtreecommitdiff
path: root/src/i915_render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-06-08 10:43:24 +0100
committerOwain G. Ainsworth <oga@openbsd.org>2010-06-10 21:08:08 +0100
commit9f4a244a363167dc62fa454af197ca8ba6a5e434 (patch)
treea25488123ccbe6f6a9dc70f9584973d7da166d13 /src/i915_render.c
parentfcdd53c6c130bf29cfd92309672c1fed3ec048f6 (diff)
implicit-flush
(cherry picked from commit 0776a42b70f2de7b7d7d8804046c79442da1cb8a) Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
Diffstat (limited to 'src/i915_render.c')
-rw-r--r--src/i915_render.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/i915_render.c b/src/i915_render.c
index caf1b5d8..0fe960a7 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -828,8 +828,11 @@ i915_prepare_composite(int op, PicturePtr source_picture,
intel->i915_render_state.op = op;
- if((source && i830_uxa_pixmap_is_dirty(source)) ||
- (mask && i830_uxa_pixmap_is_dirty(mask)))
+ /* BUF_INFO is an implicit flush */
+ if (dest != intel->render_current_dest)
+ intel_batch_do_flush(scrn);
+ else if((source && i830_uxa_pixmap_is_dirty(source)) ||
+ (mask && i830_uxa_pixmap_is_dirty(mask)))
intel_batch_emit_flush(scrn);
intel->needs_render_state_emit = TRUE;