[cairo-commit] src/cairo-xlib-surface.c

Chris Wilson ickle at kemper.freedesktop.org
Thu Sep 3 09:06:08 PDT 2009


 src/cairo-xlib-surface.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a76c36f2edd16d8e2b8f49e6409134aceab38a42
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Sep 3 14:29:20 2009 +0100

    [xlib] solid pictures should only be 1x1
    
    Creating an widthxheight solid picture for using with
    RenderCompositeTrapezoids defeats the optimization with the xserver that
    checks for a solid alpha pattern. The checks it performs are for
    CONTENT_ALPHA, Repeat, 1x1 and value == 0xff.

diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
index 9d49d87..a8507ff 100644
--- a/src/cairo-xlib-surface.c
+++ b/src/cairo-xlib-surface.c
@@ -2517,7 +2517,7 @@ _create_trapezoid_mask (cairo_xlib_surface_t *dst,
 	offset_traps[i].right.p2.y = _cairo_fixed_to_16_16(traps[i].right.p2.y) - 0x10000 * dst_y;
     }
 
-    solid_picture = _create_a8_picture (dst, &solid, width, height, TRUE);
+    solid_picture = _create_a8_picture (dst, &solid, 1, 1, TRUE);
     if (solid_picture == None) {
 	XRenderFreePicture (dst->dpy, mask_picture);
 	free (offset_traps);


More information about the cairo-commit mailing list