Patch b64108fa305e956e4edaae9d53071ff0abee268e added a short cut that identifies composite operations that can be performed with a simple copy instead.
glamor_copy works in absolute coordinates, so the dx and dy values passed in need to be converted from drawable-relative to absolute by adding the drawable x/y values. Signed-off-by: Keith Packard <kei...@keithp.com> --- glamor/glamor_render.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c index 9c5cca6..165bced 100644 --- a/glamor/glamor_render.c +++ b/glamor/glamor_render.c @@ -1436,6 +1436,10 @@ glamor_composite_clipped_region(CARD8 op, || (op == PictOpOver && source->format == dest->format && !PICT_FORMAT_A(source->format)))))) { + x_source += source->pDrawable->x; + y_source += source->pDrawable->y; + x_dest += dest->pDrawable->x; + y_dest += dest->pDrawable->y; glamor_copy(source->pDrawable, dest->pDrawable, NULL, box, nbox, x_source - x_dest, y_source - y_dest, FALSE, FALSE, 0, NULL); -- 2.8.1 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel