diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-29 21:07:45 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-29 22:42:07 +0000 |
commit | 9a2c18fb92659d57741bfdcacbe4f69aab361532 (patch) | |
tree | ae8f274a7b29c6b90f2b0b11e1f3c018fc25c051 /src/i915_render.c | |
parent | 285f286597df5af13ac3f3d366f2fc9d0468dafa (diff) |
batch: Emit a 'pipelined' flush when using a dirty source.
Ensure that the render caches and texture caches are appropriately
flushed when switching a pixmap from a target to a source.
This should fix bug 24315,
[855GM] Rendering corruption in text (usually)
https://bugs.freedesktop.org/show_bug.cgi?id=24315
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/i915_render.c')
-rw-r--r-- | src/i915_render.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/i915_render.c b/src/i915_render.c index c720f2f3..34fd2538 100644 --- a/src/i915_render.c +++ b/src/i915_render.c @@ -459,6 +459,11 @@ i915_prepare_composite(int op, PicturePtr source_picture, } intel->i915_render_state.op = op; + + if(i830_uxa_pixmap_is_dirty(source) || + (mask && i830_uxa_pixmap_is_dirty(mask))) + intel_batch_pipelined_flush(scrn); + intel->needs_render_state_emit = TRUE; return TRUE; |