diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-08 10:43:24 +0100 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-06-10 21:08:08 +0100 |
commit | 9f4a244a363167dc62fa454af197ca8ba6a5e434 (patch) | |
tree | a25488123ccbe6f6a9dc70f9584973d7da166d13 /src/i915_render.c | |
parent | fcdd53c6c130bf29cfd92309672c1fed3ec048f6 (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.c | 7 |
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; |