[PATCH] Revert "glamor: Fix coordinates handling for composite source/mask pictures"

Michel Dänzer michel at daenzer.net
Tue Jun 24 00:09:19 PDT 2014


From: Michel Dänzer <michel.daenzer at amd.com>

This reverts commit 4e9aabb6fc15d8052934f20c6a07801c197ec36a.

It broke kwin decorations with XRender compositing.

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---

Since nobody's come up with a fix, here's a revert for 1.16.

 glamor/glamor_render.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c
index 5a7a238..14ab738 100644
--- a/glamor/glamor_render.c
+++ b/glamor/glamor_render.c
@@ -1450,8 +1450,8 @@ glamor_composite_clipped_region(CARD8 op,
                     || source_pixmap->drawable.height != height)))) {
         temp_src =
             glamor_convert_gradient_picture(screen, source,
-                                            x_source,
-                                            y_source,
+                                            extent->x1 + x_source - x_dest,
+                                            extent->y1 + y_source - y_dest,
                                             width, height);
         if (!temp_src) {
             temp_src = source;
@@ -1459,8 +1459,8 @@ glamor_composite_clipped_region(CARD8 op,
         }
         temp_src_priv =
             glamor_get_pixmap_private((PixmapPtr) (temp_src->pDrawable));
-        x_temp_src = 0;
-        y_temp_src = 0;
+        x_temp_src = -extent->x1 + x_dest;
+        y_temp_src = -extent->y1 + y_dest;
     }
 
     if (mask
@@ -1474,8 +1474,8 @@ glamor_composite_clipped_region(CARD8 op,
          * to do reduce one convertion. */
         temp_mask =
             glamor_convert_gradient_picture(screen, mask,
-                                            x_mask,
-                                            y_mask,
+                                            extent->x1 + x_mask - x_dest,
+                                            extent->y1 + y_mask - y_dest,
                                             width, height);
         if (!temp_mask) {
             temp_mask = mask;
@@ -1483,8 +1483,8 @@ glamor_composite_clipped_region(CARD8 op,
         }
         temp_mask_priv =
             glamor_get_pixmap_private((PixmapPtr) (temp_mask->pDrawable));
-        x_temp_mask = 0;
-        y_temp_mask = 0;
+        x_temp_mask = -extent->x1 + x_dest;
+        y_temp_mask = -extent->y1 + y_dest;
     }
     /* Do two-pass PictOpOver componentAlpha, until we enable
      * dual source color blending.
-- 
2.0.0



More information about the xorg-devel mailing list