diff options
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 c71a7c8f..b2bc7a76 100644 --- a/src/i915_render.c +++ b/src/i915_render.c @@ -832,8 +832,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; |