File U_Fix-RegionContainsRect-test-for-PutImage.patch of Package glamor.openSUSE_13.1_Update
From 29c0907d413ad5be2af3480d008018cd7f5a9e85 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
Date: Tue, 17 Sep 2013 13:25:02 +0200
Subject: [PATCH 1/1] Fix RegionContainsRect test for PutImage
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The return value of RegionContainsRect() is not a boolean but an enum
indicating that the region contains the rectangle completely, partially
or not at all. We can only take the PutImage fastpath when the region
contatins the rectangle completely.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65964
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
---
src/glamor_putimage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/glamor_putimage.c b/src/glamor_putimage.c
index 34e86a1..6567f14 100644
--- a/src/glamor_putimage.c
+++ b/src/glamor_putimage.c
@@ -287,7 +287,7 @@ _glamor_put_image(DrawablePtr drawable, GCPtr gc, int depth, int x, int y,
box.x2 = x + w + drawable->x;
box.y2 = y + h + drawable->y;
- if ((clip != NULL && !RegionContainsRect(clip, &box))
+ if ((clip != NULL && RegionContainsRect(clip, &box) != rgnIN)
|| gc->alu != GXcopy) {
temp_pixmap = glamor_create_pixmap(drawable->pScreen, w, h, depth, 0);
if (temp_pixmap == NULL)
--
1.8.4