diff options
Diffstat (limited to 'src/sna/gen6_render.c')
-rw-r--r-- | src/sna/gen6_render.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c index 8808300a..c276f7e8 100644 --- a/src/sna/gen6_render.c +++ b/src/sna/gen6_render.c @@ -2791,16 +2791,12 @@ gen6_render_copy_boxes(struct sna *sna, uint8_t alu, if (!(alu == GXcopy || alu == GXclear) || src_bo == dst_bo || too_large(src->drawable.width, src->drawable.height) || - too_large(dst->drawable.width, dst->drawable.height)) { - if (!sna_blt_compare_depth(&src->drawable, &dst->drawable)) - return FALSE; + too_large(dst->drawable.width, dst->drawable.height)) + return sna_blt_copy_boxes_fallback(sna, alu, + src, src_bo, src_dx, src_dy, + dst, dst_bo, dst_dx, dst_dy, + box, n); - return sna_blt_copy_boxes(sna, alu, - src_bo, src_dx, src_dy, - dst_bo, dst_dx, dst_dy, - dst->drawable.bitsPerPixel, - box, n); - } tmp.op = alu == GXcopy ? PictOpSrc : PictOpClear; tmp.dst.pixmap = dst; |