[PATCH xserver] glamor: Adjust for drawable x/y in composite's copy optimization
Keith Packard
keithp at keithp.com
Fri May 27 18:05:05 UTC 2016
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 <keithp at 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
More information about the xorg-devel
mailing list