diff options
-rw-r--r-- | uxa/uxa-render.c | 10 |
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(®ion, dst_x, dst_y); boxes = pixman_region_rectangles(®ion, &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; |