summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etnaviv/etnaviv_render.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/etnaviv/etnaviv_render.c b/etnaviv/etnaviv_render.c
index 46bc181..a3abb3b 100644
--- a/etnaviv/etnaviv_render.c
+++ b/etnaviv/etnaviv_render.c
@@ -477,7 +477,14 @@ static Bool etnaviv_compute_composite_region(RegionPtr region,
return miComputeCompositeRegion(region, pSrc, pMask, pDst,
xSrc, ySrc, xMask, yMask,
- xDst, yDst, width, height);
+ xDst, yDst, width, height) &&
+ /* Xorg 1.17 can return TRUE, despite the region being
+ * empty, which goes against the comment immediately
+ * above miComputeCompositeRegion(). It appears to be
+ * a pixman bug, with pixman_region_intersect() returning
+ * TRUE even though the resulting region is empty.
+ */
+ RegionNotEmpty(region);
}
static Bool etnaviv_Composite_Clear(PicturePtr pDst, struct etnaviv_de_op *op)