diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c index a06868e3f..d4d69a695 100644 --- a/glamor/glamor_render.c +++ b/glamor/glamor_render.c @@ -1423,6 +1423,8 @@ glamor_composite_clipped_region(CARD8 op, /* Is the composite operation equivalent to a copy? */ if (!mask && !source->alphaMap && !dest->alphaMap && source->pDrawable && !source->transform + /* CopyArea is only defined with matching depths. */ + && dest->pDrawable->depth == source->pDrawable->depth && ((op == PictOpSrc && (source->format == dest->format || (PICT_FORMAT_COLOR(dest->format)