summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--uxa/uxa-render.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c
index e062001e..4c552cab 100644
--- a/uxa/uxa-render.c
+++ b/uxa/uxa-render.c
@@ -943,11 +943,6 @@ uxa_solid_rects (CARD8 op,
if (!pixman_region_not_empty(dst->pCompositeClip))
return;
- if (op == PictOpClear)
- color->red = color->green = color->blue = color->alpha = 0;
- if (color->alpha >= 0xff00 && op == PictOpOver)
- op = PictOpSrc;
-
if (dst->alphaMap)
goto fallback;
@@ -966,6 +961,11 @@ uxa_solid_rects (CARD8 op,
pixman_region_translate(&region, dst_x, dst_y);
boxes = pixman_region_rectangles(&region, &num_boxes);
+ if (op == PictOpClear)
+ color->red = color->green = color->blue = color->alpha = 0;
+ if (color->alpha >= 0xff00 && op == PictOpOver)
+ op = PictOpSrc;
+
/* Using GEM, the relocation costs outweigh the advantages of the blitter */
if (num_boxes == 1 && (op == PictOpSrc || op == PictOpClear)) {
CARD32 pixel;