diff options
-rw-r--r-- | src/sna/gen6_render.c | 8 | ||||
-rw-r--r-- | src/sna/gen7_render.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 1f15091f..b014e9ec 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2267,7 +2267,13 @@ gen6_render_composite(struct sna *sna, return true; if (gen6_composite_fallback(sna, src, mask, dst)) - return false; + return (mask == NULL && + sna_blt_composite(sna, op, + src, dst, + src_x, src_y, + dst_x, dst_y, + width, height, + tmp, true)); if (need_tiling(sna, width, height)) return sna_tiling_composite(op, src, mask, dst, diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c index 6f2e3abd..1b5e607d 100644 --- a/src/sna/gen7_render.c +++ b/src/sna/gen7_render.c @@ -2518,7 +2518,13 @@ gen7_render_composite(struct sna *sna, return true; if (gen7_composite_fallback(sna, src, mask, dst)) - return false; + return (mask == NULL && + sna_blt_composite(sna, op, + src, dst, + src_x, src_y, + dst_x, dst_y, + width, height, + tmp, true)); if (need_tiling(sna, width, height)) return sna_tiling_composite(op, src, mask, dst, |