[PATCH 2/2] Update test suite for downscaling.

Krzysztof Kosiński <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
The test case used for downscaling showed very similar results regardless
of the used filter. The new test case contains thin horizontal and vertical
lines which give significantly different results depending on the filter.

Since downscaling provides some anti-aliasing, the result for the test
surface-pattern-scale-down was also updated.

Signed-off-by: Krzysztof Kosiński <[email protected]>
---
 test/pixman-downscale.c                            |   2 +-
 test/quad-color-stripes.png                        | Bin 0 -> 696 bytes
 test/quad-color-stripes.svg                        | 247 +++++++++++++++++++++
 test/reference/pixman-downscale-best-24.ref.png    | Bin 191 -> 957 bytes
 test/reference/pixman-downscale-best-95.ref.png    | Bin 685 -> 3845 bytes
 test/reference/pixman-downscale-best-96.ref.png    | Bin 301 -> 627 bytes
 .../reference/pixman-downscale-bilinear-24.ref.png | Bin 191 -> 428 bytes
 .../reference/pixman-downscale-bilinear-95.ref.png | Bin 685 -> 1635 bytes
 .../reference/pixman-downscale-bilinear-96.ref.png | Bin 301 -> 627 bytes
 test/reference/pixman-downscale-fast-24.ref.png    | Bin 191 -> 179 bytes
 test/reference/pixman-downscale-fast-95.ref.png    | Bin 299 -> 618 bytes
 test/reference/pixman-downscale-fast-96.ref.png    | Bin 301 -> 627 bytes
 test/reference/pixman-downscale-good-24.ref.png    | Bin 191 -> 428 bytes
 test/reference/pixman-downscale-good-95.ref.png    | Bin 685 -> 1635 bytes
 test/reference/pixman-downscale-good-96.ref.png    | Bin 301 -> 627 bytes
 test/reference/pixman-downscale-nearest-24.ref.png | Bin 191 -> 179 bytes
 test/reference/pixman-downscale-nearest-95.ref.png | Bin 299 -> 618 bytes
 test/reference/pixman-downscale-nearest-96.ref.png | Bin 301 -> 627 bytes
 .../surface-pattern-scale-down.argb32.ref.png      | Bin 1326 -> 1713 bytes
 .../surface-pattern-scale-down.rgb24.ref.png       | Bin 1326 -> 1713 bytes
 20 files changed, 248 insertions(+), 1 deletion(-)
 create mode 100644 test/quad-color-stripes.png
 create mode 100644 test/quad-color-stripes.svg

diff --git a/test/pixman-downscale.c b/test/pixman-downscale.c
index a57db02..273b60a 100644
--- a/test/pixman-downscale.c
+++ b/test/pixman-downscale.c
@@ -36,7 +36,7 @@
 
 #include "cairo-test.h"
 
-static const char png_filename[] = "quad-color.png";
+static const char png_filename[] = "quad-color-stripes.png";
 
 /* Draw an image scaled down, with antialiasing disabled */
 static cairo_test_status_t
diff --git a/test/quad-color-stripes.png b/test/quad-color-stripes.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2134d7816ae0a71f845f00eb3fa6379de01a9a0
GIT binary patch
literal 696
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoEX7WqAsj$Z!;#Vf<Z~8yL>2?p
zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4<ivthz5Jr|+3#$m7#NsLJzX3_
zD(1YM8`yOyfu}`%q4_7Nt;b)OX02axPyhFYU2it!mle(^+4m_}o8#a~iT{FH3?ZSR
zZ_`EU;==Z>tB=37JidHy-0D@Y%65l_UVZ#ggW*$lgTd^1w>-ETILcVtFNz)Ddmyxd
zd4<Ru1}$E<hHVUB;sZ~@;(W$T#xK9)V;KJa6Bl35%({g&BLOJ1=%AZJ6vOg`Id2$@
z${56#FHD)!HYwA92`CLBUThE*6L+}JbcyN3_x(E<e*M+gb71Gr;J$DGC}hE_`q*Sj
zudKr{z6Xy?ru1A6FhbZVyY0{;rWesb!$B50?Ein1^+f_>E~8Y0LsUcNtQ)E_Zcz=t
z|DMx(XmE*X&FfQOTIcj3Fl{s6zl^heqF92AJHu>&#}-Mk;X0?AGG}f3DZudRcgyv~
z9lGvZN2aZK=kIdloAzz?`04Vs$Ir+o?f*E@W)+`AoLQJ#r5KOwzEiP!;$@uq#w9<r
z)ZaGn-TqlQ@22XWvlkMr*S~3SVff@d<H>!?&+^j@PUhX4EX@EV-`_8;R`~h1I*&hv
zWx>8FC*SUSddqtz&kOleDUSaG)LzOzP?u-&{Lf(jQ{Y5L!>=H<@Aa7z<4!?>0~88=
e&L^qJiN904{7GuP=nG&fWAJqKb6Mw<&;$U<lOY=b

literal 0
HcmV?d00001

diff --git a/test/quad-color-stripes.svg b/test/quad-color-stripes.svg
new file mode 100644
index 0000000..39c46db
--- /dev/null
+++ b/test/quad-color-stripes.svg
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="96"
+   height="96"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48+devel r13124 custom"
+   viewBox="0 0 96 96.000002"
+   sodipodi:docname="quad-stripes.svg"
+   inkscape:export-filename="/home/tweenk/src/cairo/test/quad-color-stripes.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8"
+     inkscape:cx="0.49574998"
+     inkscape:cy="57.512662"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:object-nodes="true"
+     inkscape:window-width="960"
+     inkscape:window-height="768"
+     inkscape:window-x="49"
+     inkscape:window-y="24"
+     inkscape:window-maximized="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3262"
+       spacingx="0.5px"
+       spacingy="0.5px"
+       empspacing="10" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-956.3622)">
+    <rect
+       style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;clip-rule:nonzero"
+       id="rect4088"
+       width="96"
+       height="96.000023"
+       x="-1e-06"
+       y="956.36218" />
+    <g
+       id="g4400">
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path3264"
+         d="m 0.49999901,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 2.4999991,1005.3622 0,-49"
+         id="path4066"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4068"
+         d="m 4.4999991,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 6.4999991,1005.3622 0,-49"
+         id="path4070"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4072"
+         d="m 8.4999992,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ffff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#00ffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 10.499999,1005.3622 0,-49"
+         id="path4074"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4076"
+         d="m 12.499999,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ff00ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 14.499999,1005.3622 0,-49"
+         id="path4078"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4080"
+         d="m 16.499999,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 18.499999,1005.3622 0,-49"
+         id="path4082"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 20.499999,1005.3622 0,-49"
+         id="path4084"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4086"
+         d="m 22.5,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ffff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#00ffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 24.5,1005.3622 0,-49"
+         id="path4088"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4090"
+         d="m 26.5,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ff00ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 28.5,1005.3622 0,-49"
+         id="path4092"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4094"
+         d="m 30.499999,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 32.499999,1005.3622 0,-49"
+         id="path4096"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4098"
+         d="m 34.499999,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ffff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 36.499999,1005.3622 0,-49"
+         id="path4100"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4102"
+         d="m 38.499999,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#00ffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4104"
+         d="m 40.5,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#ff00ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#4d4d4d;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 42.5,1005.3622 0,-49"
+         id="path4106"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path4108"
+         d="m 44.5,1005.3622 0,-49"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto" />
+      <path
+         sodipodi:nodetypes="cc"
+         style="color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill:none;stroke:#b3b3b3;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;paint-order:normal;marker:none;visibility:visible;display:inline;overflow:visible;isolation:auto;mix-blend-mode:normal;enable-background:accumulate;clip-rule:nonzero;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
+         d="m 46.5,1005.3622 0,-49"
+         id="path4110"
+         inkscape:connector-curvature="0" />
+    </g>
+    <use
+       x="0"
+       y="0"
+       xlink:href="#g4400"
+       id="use4476"
+       transform="matrix(0,-1,1,0,-956.3622,1052.3622)"
+       width="100%"
+       height="100%" />
+    <use
+       height="100%"
+       width="100%"
+       transform="matrix(0,1,-1,0,1052.3622,956.3622)"
+       id="use4478"
+       xlink:href="#g4400"
+       y="0"
+       x="0" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#g4400"
+       id="use4480"
+       transform="matrix(-1,0,0,-1,96,2008.7244)"
+       width="100%"
+       height="100%" />
+  </g>
+</svg>
diff --git a/test/reference/pixman-downscale-best-24.ref.png b/test/reference/pixman-downscale-best-24.ref.png
index df0f9c0d84f3f48d00fdb0f3f08ae587754a269d..96cdaf18dc90503027563966b2025bcb305f56a9 100644
GIT binary patch
delta 946
zcmV;j15NzD0lf#18Gi-<007{3J@^0s00v@9M??Vs0RI60puMM)000AWNkl<ZNQsS>
zU2j!Y5Qd+bS^J#QmI{TE2t^V=5-}ug{MJCg3;zoD{txf@2i|(&y&o}XOd2H7n1DsZ
zMw3EIDOGyTUNhsxJ}o4M(=%6lt*kZg%scPQ+VaI`pWfg4=zr?5bElVDxv?Vm-(F>I
z`3gr?PSLL3;P)%<aB<;H{OetYi$AmT)AwKoBrmm;M6wZBF9^q)et*`?5H+kQR*YhW
z(C*usf~K%Le~hiGpP(|<J()=<h2gOEA}MXHm2eLtBs>VOcvL(BuR*v|>yUmk&AH=m
zK>An!fz(pe-GAGHq=*O!BBZdF{EHqE=qapiBcK0BHiG0hia@Q9QKgIt<c0HzxbpAZ
zGakNo7g0U%j+x@_Oay=kxKj=vVeZT|Bx988OO69p3bjrMAPH$n*`8v4^)#tIzRDwj
zsCB{&NYI9Sc9-FuFUfL%Oi79w)nhV%L{N8jj?A(4@qhb_VQ1g0*yI_AfJZRXo8{8c
zQ)EV`#RMUNk^V9f1f-+L+e)F^>Y|b^Hp%^sy%eAkVxy(~VH^4hZKA5U8N?8A1vAnD
zhJiFa94NSxDIkVa$Vd=H!VvEoN<?8GOwAkl?h^)&13g~Y9_(;vYa5wfq#oX-KHcKb
z_B6S8n18432D<SGon88XSGB<(-p4ObapL%SrZ;x*g?s4oGK=&WK3>CL-y}yJXm{sn
zj-F&K2gJ&4?9o~NIXc6mhj*~=2H3)D{2c>!Zr!Bx)-KWfDYQO>W{#P^lnf^|K`%1*
zz=;g32=zC?&u?J;BqKUTi*~Xl5mmB4rg!8vg@2;gdPvh?wZB)j5%U5WAcBqRAgbi%
z6S$ZA<ssQuZ0;|*(i1`Xb^RCA3gLdBnlfQg`pn5IlZX$1a`u}QOcf93!2Yj+zO_V{
zVdI9~ivZ1q>zFlY)bY(JAYu6QDntu1H5tI>^4h5D4yFi%nau(HnB~A>v<I+r>s!o}
z@P8N;>1D2kj9_Zv0-`4-at=_=tX#m<aF0<7kAbLAFZT%xY_bF>d3`CP80m5F6;W9K
z1J>fXOy#*`1!4bD%oIejtUkEiG*f-Nt-3dh{vUg137phEvt=GB1vA66`$4c`s42ya
zFcWJEki9a0^Q-ktafG%TN-r^0s1;fM5G&^-T3g&5_rPn#t9R?DgnPETgC4N{AIjmX
UiH>Ywwg3PC07*qoM6N<$g4><a3IG5A

delta 174
zcmdnXzMpY|WIYoD14F*(s`WsMu{g-xiDBJ2nU_EgXMsm#F#`j)FbFd;%$g$s6l5>)
z^mS#w%g!YzXA$RjT^T48=;`7ZVsZLy@M$gv1&-p2_2KdR)}^+wTsnDICb*q{Vhj5k
z#*^J#c}1N?A#1-m2geHA%rJ0|d{LM!5TR{kq3#hpeahi~5gGN__d-f8AC^(A@!`wk
V)HrbF;{u@R44$rjF6*2UngDBeIgJ1S

diff --git a/test/reference/pixman-downscale-best-95.ref.png b/test/reference/pixman-downscale-best-95.ref.png
index 49011d526a05317a18f203e98b45c24cad6cdf69..c6bc48d7a618beb81a2df8edd1e2b4df5079281f 100644
GIT binary patch
delta 3840
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
CVlPnu

literal 685
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1|<7@q`v|wwj^(N7l!{JxM1({$qWokNuDl_
zAr*7p-Zjj7<RH=Z@H$^t4TJe?tE1PhiLKPQ9JD0i{bb=KkGLFf3Ky`QR`<v<pSCU8
zed1Hk#!I<ns&4iBl<r?vde$zUs3^fJ`awEl!})1pa}HVWb68u)5I^%Vx8=SGxQGj@
zo}A0QeW_HoRJV%vx7;#Mqbf$W1u0d5f7ZRe@&3C>?+fXdXW97JPrhKuX`J-Z_2cVZ
z%QB^6Ypz<qtKIYCU)X_<tupZ^K*Wj{m(Tt8xjZpZB66CH@q<qs*A2a|OYRc9m3-!x
zfK0uF+qT>BOH7XQ?2vw#e&*6yp5N*_YC9w4n;z?Xt1Y$EtDEXP|6tJ3wY>YDdE;>}
z4v&cb{dWKI=0xYe2eT_qPPBH@YWnu}gX|8@NXz1beWv^|f4_cf4QG4T`0tIR>qm7p
zzW+BC)}76a_Pz72PkK?A@7XmKDQ7>ozgABOH#t0AR`IxaQ4LAN!VAs%MZCpNZkGRK
zdNyOZ!FlbXKHHy4CjV|6yezj$HRC`YZ~yBFON-Y@9M4zG-p}1zpY!mkS;2wBqBiVv
z%f4{doJF!x>-Uz;1-I6$-n55H-r<qRgBsBf?Zy8^x3F53yr2J%-Dhn^#YfIxD|Plw
q_1O0eU*rM<Ywd+P<^NNcnmaM)?~uK@vJ{y97(8A5T-G@yGywq7Cqa?`

diff --git a/test/reference/pixman-downscale-best-96.ref.png b/test/reference/pixman-downscale-best-96.ref.png
index 0d68a82cc27532aa78fc12af7646f6821a730a2b..84345836aa56b6cc27b5f9ffb947008babb68ec6 100644
GIT binary patch
literal 627
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z@w>xeImDGQ=GiqMk@zvOQF8lWj9v2pz{TTG^Z@?rY
z<E3XpUi~)uyrVAWS^S+!yZOeStM;Znds`;lzp|RyU#2K<1B>ROYWDR9SS%gqb6Pse
zdjj#pUWFM7_c)q3C#46l>N)8+?)Y<o<>4o1VU`{N9|3)!z(H${jVwFQhFdtY`dvuB
z^NbsaDwH|YI?S6Ani||QXDP(AL^KurT*!IoX}cPSgyIZ^IG_Mnq4t~wOzJO;^FFfz
z(H=n-;Um(H295_7oA?S~wd?ezlKh9F(-zd;-@W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn@ifiUvn?poS&<9uW^=(@Q3MNORP%sA0A}+lbWi^QL$@(
zj2_TV14jSvD_D423%ZX4aBcVK`L<&N^OB2l;$;mcyB<58zwn}u+tyjxX-jKTO4qi4
zo_9O;MBeqACvms1a`UdaHikeo@=lAb^}Z;YG`Vk|tnT*dMcJp8+ck|;MF;KwxWAg>
U`DC*MFcmR)y85}Sb4q9e0Q>tXDF6Tf

literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B@0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM@omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T@ab2krlH<ByqM{lP1D%YXuKdqK|r@Q}6kF=t0)
R<@7`l*VEO{Wt~$(698O(XEy)<

diff --git a/test/reference/pixman-downscale-bilinear-24.ref.png b/test/reference/pixman-downscale-bilinear-24.ref.png
index df0f9c0d84f3f48d00fdb0f3f08ae587754a269d..dd436fcc331e1b8db21dcfe96a6e1bf652abfeed 100644
GIT binary patch
delta 413
zcmV;O0b>5Y0jvX%8Gi-<007{3J@^0s00v@9M??Vs0RI60puMM)0004DNkl<ZNQu>y
zze>YU6vlr!q^l$d5kZtLPNtMTK=MMqgGwL52k8TtO2Mgg=$%}OLc3UU)4Acqq5cU@
zIYS38At8L{yT9D?9TGe}+&9lzPL>IbYc!uBl0lupY|OWI`hOVnasG-pN7ogAhMlW{
zDvEJg-rW!cm;g}(*-*Ogj}gGCfk|z$m;g<@L-Xz#5Euag(P03()>|{6iJ%^uEH=Py
z1#WUY!2ci9-nvKh5?L%ZfSxGjO^NJ;{ly+%LF_%meV_t7_!#=&D~P;DG)+lW(M64>
z4UMK~t!T5Lt$+DT{{xEOV`L;a5yUw}Mu-R^4sr6UEtiDJ`kG|j`pnH)>*bFIlvky#
zMcdo0$)IzEHv?c=nD!@CNDTF1KAoBXnx<F~A^DvNfX-ply*z}%20*c$09%W|+M=o9
z-vWn}4J*VL0ds5_9DPi)qA;CV2Lm7>AmHn2-+rG5O%^`^kcNK!&g^MJ00000NkvXX
Hu0mjf{xG_G

delta 174
zcmZ3(yq|G`WIYoD14F*(s`WsMu{g-xiDBJ2nU_EgXMsm#F#`j)FbFd;%$g$s6l5>)
z^mS#w%g!YzXA$RjT^T48=;`7ZVsZLy@M$gv1&-p2_2KdR)}^+wTsnDICb*q{Vhj5k
z#*^J#c}1N?A#1-m2geHA%rJ0|d{LM!5TR{kq3#hpeahi~5gGN__d-f8AC^(A@!`wk
V)HrbF;{u@R44$rjF6*2UngCrjId}j7

diff --git a/test/reference/pixman-downscale-bilinear-95.ref.png b/test/reference/pixman-downscale-bilinear-95.ref.png
index 49011d526a05317a18f203e98b45c24cad6cdf69..f4f04af45a85f4923c49481b999ad6fe421aa2a2 100644
GIT binary patch
delta 1613
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
LNkvXXu0mjfA$at~

literal 685
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1|<7@q`v|wwj^(N7l!{JxM1({$qWokNuDl_
zAr*7p-Zjj7<RH=Z@H$^t4TJe?tE1PhiLKPQ9JD0i{bb=KkGLFf3Ky`QR`<v<pSCU8
zed1Hk#!I<ns&4iBl<r?vde$zUs3^fJ`awEl!})1pa}HVWb68u)5I^%Vx8=SGxQGj@
zo}A0QeW_HoRJV%vx7;#Mqbf$W1u0d5f7ZRe@&3C>?+fXdXW97JPrhKuX`J-Z_2cVZ
z%QB^6Ypz<qtKIYCU)X_<tupZ^K*Wj{m(Tt8xjZpZB66CH@q<qs*A2a|OYRc9m3-!x
zfK0uF+qT>BOH7XQ?2vw#e&*6yp5N*_YC9w4n;z?Xt1Y$EtDEXP|6tJ3wY>YDdE;>}
z4v&cb{dWKI=0xYe2eT_qPPBH@YWnu}gX|8@NXz1beWv^|f4_cf4QG4T`0tIR>qm7p
zzW+BC)}76a_Pz72PkK?A@7XmKDQ7>ozgABOH#t0AR`IxaQ4LAN!VAs%MZCpNZkGRK
zdNyOZ!FlbXKHHy4CjV|6yezj$HRC`YZ~yBFON-Y@9M4zG-p}1zpY!mkS;2wBqBiVv
z%f4{doJF!x>-Uz;1-I6$-n55H-r<qRgBsBf?Zy8^x3F53yr2J%-Dhn^#YfIxD|Plw
q_1O0eU*rM<Ywd+P<^NNcnmaM)?~uK@vJ{y97(8A5T-G@yGywq7Cqa?`

diff --git a/test/reference/pixman-downscale-bilinear-96.ref.png b/test/reference/pixman-downscale-bilinear-96.ref.png
index 0d68a82cc27532aa78fc12af7646f6821a730a2b..84345836aa56b6cc27b5f9ffb947008babb68ec6 100644
GIT binary patch
literal 627
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z@w>xeImDGQ=GiqMk@zvOQF8lWj9v2pz{TTG^Z@?rY
z<E3XpUi~)uyrVAWS^S+!yZOeStM;Znds`;lzp|RyU#2K<1B>ROYWDR9SS%gqb6Pse
zdjj#pUWFM7_c)q3C#46l>N)8+?)Y<o<>4o1VU`{N9|3)!z(H${jVwFQhFdtY`dvuB
z^NbsaDwH|YI?S6Ani||QXDP(AL^KurT*!IoX}cPSgyIZ^IG_Mnq4t~wOzJO;^FFfz
z(H=n-;Um(H295_7oA?S~wd?ezlKh9F(-zd;-@W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn@ifiUvn?poS&<9uW^=(@Q3MNORP%sA0A}+lbWi^QL$@(
zj2_TV14jSvD_D423%ZX4aBcVK`L<&N^OB2l;$;mcyB<58zwn}u+tyjxX-jKTO4qi4
zo_9O;MBeqACvms1a`UdaHikeo@=lAb^}Z;YG`Vk|tnT*dMcJp8+ck|;MF;KwxWAg>
U`DC*MFcmR)y85}Sb4q9e0Q>tXDF6Tf

literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B@0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM@omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T@ab2krlH<ByqM{lP1D%YXuKdqK|r@Q}6kF=t0)
R<@7`l*VEO{Wt~$(698O(XEy)<

diff --git a/test/reference/pixman-downscale-fast-24.ref.png b/test/reference/pixman-downscale-fast-24.ref.png
index df0f9c0d84f3f48d00fdb0f3f08ae587754a269d..b6c89fc6c0c2c316cf68b07d3b55bb01580a19c0 100644
GIT binary patch
delta 151
zcmV;I0BHZe0kZ*+B!32COGiWi{{a60|De66lK=n!Xh}ptR5*?8k+BWHFbD+iEzjzq
z7{l>?pCSW5fl@?yU4_u;1+q;?MvLVa{i4r`<~gUb7ZKOq2qQ3-0D=7sXGElywN~Ef
z+B+8&S`S1{A;T!8Bmx(xh^(B7sOdzF$HvZiwNcmmZ}z`lCJ;KYkR<>B002ovPDHLk
FV1jiVLJ9x?

delta 163
zcmdnYxSw%?N<Cw7kh>GZx^prw85kHi3p^r=85p>QL70(Y)*K0-AbW|YuPggqb}m6V
zi#WgQ%0Qt&PZ!4!i_>p|PjfLSa1>vx50BrsF13y2(#g9r!R`DLTiDkyp6uqzE9xu?
zS^Ld7I9AwZhJkzJi^6Py2yG(^kKpN34*!eDsL#G96H;>du#9Sr4__Xq#(^^*7XVFX
N@O1TaS?83{1OOl{H=Y0h

diff --git a/test/reference/pixman-downscale-fast-95.ref.png b/test/reference/pixman-downscale-fast-95.ref.png
index 3340423fced1b039bd2258570c853615e111a48f..5f099fc5ac6841d7611200006b5ced438a005e16 100644
GIT binary patch
literal 618
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1SA>tdKLjGwj^(N7l!{JxM1({$qWok@}4e^
zAr*7p&UWm3<RHMZI_jU`eS<o-`v(6eJ*?l#o;LlZr0=}4kiruI+>r^6nxZCi*_D)5
ztx{U0rS&f^Z11}J)4xiW$F0A<YS;bup<gR(n2uetJ#a)jl5b6k(&p+W&IqeA_X&yR
zb;}OD`@@rSyKyP=?XrZIE#GB1z2(BJbc!=xZaA}Wsq<v^X?#9F0Z!`=8!i>PPro7C
zdRK7AV(mK@MK|OE<v==}t#vM6N<4Ykt38!ZS9Y4^mXeH52QD=N1&+(cKJ3%mXw9`-
zxxhUfs4d|(pN{N}ZOq>7Wf9Ak9-h=bmG87n6xg~8Pk?Ti+&=Z(w%ohQJ{vAsp5I*E
z!Wm|Dys)I-;GkFf{qOGt)goTn%s>B5aNoh7?3eZ*zizxf-2UEXyS;~x8_%~>ePsU5
z=fVC(*Gg^slJ9@dy?yR;PtS_$&Mqk~scxYuDXy+*A*pGhf4^H#FO9XH{DbY)>8%&)
z)byr%f9J>-yLF!BwCt^qU&?lu_J2rQDC-~iuIEI8u8^`;ME8-5a@I9|J!RnsULAQ+
z#+rK`Oq}4k;$*mrX=^}FUiiLs?;O<Jwrj_Smn#S_zAgIYnDMSy$9x;*#1eKRLoPR<
w=(`tO<t44wyAFZEWE~_pfT2j9@FRZLS;r>L-2KTGn0OdGUHx3vIVCg!0K(lITmS$7

literal 299
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1SA>tdKLjGwj^(N7l!{JxM1({$v}|@o-U3d
z6?5L+-pJQvAmVWG+K>CMrayjh#8>L{0?Tw(xwF384@m&kG5p!I^Vfkwnea7_llAm7
z6TdzByWKnNqy81mS0bfdR<3gw`R#l!W%4}x{DS9glE?cL58um#%LFc85sah|gR3(?
z{p{ragn9SZr959^DYra4?1nYSL=1&kjCsA^JpRw&uQR6aJJ5O74q+ub(9I41zp@1;
Vakg;<|4|3|!PC{xWt~$(698GGfj9sF

diff --git a/test/reference/pixman-downscale-fast-96.ref.png b/test/reference/pixman-downscale-fast-96.ref.png
index 0d68a82cc27532aa78fc12af7646f6821a730a2b..84345836aa56b6cc27b5f9ffb947008babb68ec6 100644
GIT binary patch
literal 627
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z@w>xeImDGQ=GiqMk@zvOQF8lWj9v2pz{TTG^Z@?rY
z<E3XpUi~)uyrVAWS^S+!yZOeStM;Znds`;lzp|RyU#2K<1B>ROYWDR9SS%gqb6Pse
zdjj#pUWFM7_c)q3C#46l>N)8+?)Y<o<>4o1VU`{N9|3)!z(H${jVwFQhFdtY`dvuB
z^NbsaDwH|YI?S6Ani||QXDP(AL^KurT*!IoX}cPSgyIZ^IG_Mnq4t~wOzJO;^FFfz
z(H=n-;Um(H295_7oA?S~wd?ezlKh9F(-zd;-@W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn@ifiUvn?poS&<9uW^=(@Q3MNORP%sA0A}+lbWi^QL$@(
zj2_TV14jSvD_D423%ZX4aBcVK`L<&N^OB2l;$;mcyB<58zwn}u+tyjxX-jKTO4qi4
zo_9O;MBeqACvms1a`UdaHikeo@=lAb^}Z;YG`Vk|tnT*dMcJp8+ck|;MF;KwxWAg>
U`DC*MFcmR)y85}Sb4q9e0Q>tXDF6Tf

literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B@0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM@omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T@ab2krlH<ByqM{lP1D%YXuKdqK|r@Q}6kF=t0)
R<@7`l*VEO{Wt~$(698O(XEy)<

diff --git a/test/reference/pixman-downscale-good-24.ref.png b/test/reference/pixman-downscale-good-24.ref.png
index df0f9c0d84f3f48d00fdb0f3f08ae587754a269d..dd436fcc331e1b8db21dcfe96a6e1bf652abfeed 100644
GIT binary patch
delta 413
zcmV;O0b>5Y0jvX%8Gi-<007{3J@^0s00v@9M??Vs0RI60puMM)0004DNkl<ZNQu>y
zze>YU6vlr!q^l$d5kZtLPNtMTK=MMqgGwL52k8TtO2Mgg=$%}OLc3UU)4Acqq5cU@
zIYS38At8L{yT9D?9TGe}+&9lzPL>IbYc!uBl0lupY|OWI`hOVnasG-pN7ogAhMlW{
zDvEJg-rW!cm;g}(*-*Ogj}gGCfk|z$m;g<@L-Xz#5Euag(P03()>|{6iJ%^uEH=Py
z1#WUY!2ci9-nvKh5?L%ZfSxGjO^NJ;{ly+%LF_%meV_t7_!#=&D~P;DG)+lW(M64>
z4UMK~t!T5Lt$+DT{{xEOV`L;a5yUw}Mu-R^4sr6UEtiDJ`kG|j`pnH)>*bFIlvky#
zMcdo0$)IzEHv?c=nD!@CNDTF1KAoBXnx<F~A^DvNfX-ply*z}%20*c$09%W|+M=o9
z-vWn}4J*VL0ds5_9DPi)qA;CV2Lm7>AmHn2-+rG5O%^`^kcNK!&g^MJ00000NkvXX
Hu0mjf{xG_G

delta 174
zcmZ3(yq|G`WIYoD14F*(s`WsMu{g-xiDBJ2nU_EgXMsm#F#`j)FbFd;%$g$s6l5>)
z^mS#w%g!YzXA$RjT^T48=;`7ZVsZLy@M$gv1&-p2_2KdR)}^+wTsnDICb*q{Vhj5k
z#*^J#c}1N?A#1-m2geHA%rJ0|d{LM!5TR{kq3#hpeahi~5gGN__d-f8AC^(A@!`wk
V)HrbF;{u@R44$rjF6*2UngCrjId}j7

diff --git a/test/reference/pixman-downscale-good-95.ref.png b/test/reference/pixman-downscale-good-95.ref.png
index 49011d526a05317a18f203e98b45c24cad6cdf69..f4f04af45a85f4923c49481b999ad6fe421aa2a2 100644
GIT binary patch
delta 1613
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
LNkvXXu0mjfA$at~

literal 685
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1|<7@q`v|wwj^(N7l!{JxM1({$qWokNuDl_
zAr*7p-Zjj7<RH=Z@H$^t4TJe?tE1PhiLKPQ9JD0i{bb=KkGLFf3Ky`QR`<v<pSCU8
zed1Hk#!I<ns&4iBl<r?vde$zUs3^fJ`awEl!})1pa}HVWb68u)5I^%Vx8=SGxQGj@
zo}A0QeW_HoRJV%vx7;#Mqbf$W1u0d5f7ZRe@&3C>?+fXdXW97JPrhKuX`J-Z_2cVZ
z%QB^6Ypz<qtKIYCU)X_<tupZ^K*Wj{m(Tt8xjZpZB66CH@q<qs*A2a|OYRc9m3-!x
zfK0uF+qT>BOH7XQ?2vw#e&*6yp5N*_YC9w4n;z?Xt1Y$EtDEXP|6tJ3wY>YDdE;>}
z4v&cb{dWKI=0xYe2eT_qPPBH@YWnu}gX|8@NXz1beWv^|f4_cf4QG4T`0tIR>qm7p
zzW+BC)}76a_Pz72PkK?A@7XmKDQ7>ozgABOH#t0AR`IxaQ4LAN!VAs%MZCpNZkGRK
zdNyOZ!FlbXKHHy4CjV|6yezj$HRC`YZ~yBFON-Y@9M4zG-p}1zpY!mkS;2wBqBiVv
z%f4{doJF!x>-Uz;1-I6$-n55H-r<qRgBsBf?Zy8^x3F53yr2J%-Dhn^#YfIxD|Plw
q_1O0eU*rM<Ywd+P<^NNcnmaM)?~uK@vJ{y97(8A5T-G@yGywq7Cqa?`

diff --git a/test/reference/pixman-downscale-good-96.ref.png b/test/reference/pixman-downscale-good-96.ref.png
index 0d68a82cc27532aa78fc12af7646f6821a730a2b..84345836aa56b6cc27b5f9ffb947008babb68ec6 100644
GIT binary patch
literal 627
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z@w>xeImDGQ=GiqMk@zvOQF8lWj9v2pz{TTG^Z@?rY
z<E3XpUi~)uyrVAWS^S+!yZOeStM;Znds`;lzp|RyU#2K<1B>ROYWDR9SS%gqb6Pse
zdjj#pUWFM7_c)q3C#46l>N)8+?)Y<o<>4o1VU`{N9|3)!z(H${jVwFQhFdtY`dvuB
z^NbsaDwH|YI?S6Ani||QXDP(AL^KurT*!IoX}cPSgyIZ^IG_Mnq4t~wOzJO;^FFfz
z(H=n-;Um(H295_7oA?S~wd?ezlKh9F(-zd;-@W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn@ifiUvn?poS&<9uW^=(@Q3MNORP%sA0A}+lbWi^QL$@(
zj2_TV14jSvD_D423%ZX4aBcVK`L<&N^OB2l;$;mcyB<58zwn}u+tyjxX-jKTO4qi4
zo_9O;MBeqACvms1a`UdaHikeo@=lAb^}Z;YG`Vk|tnT*dMcJp8+ck|;MF;KwxWAg>
U`DC*MFcmR)y85}Sb4q9e0Q>tXDF6Tf

literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B@0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM@omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T@ab2krlH<ByqM{lP1D%YXuKdqK|r@Q}6kF=t0)
R<@7`l*VEO{Wt~$(698O(XEy)<

diff --git a/test/reference/pixman-downscale-nearest-24.ref.png b/test/reference/pixman-downscale-nearest-24.ref.png
index df0f9c0d84f3f48d00fdb0f3f08ae587754a269d..b6c89fc6c0c2c316cf68b07d3b55bb01580a19c0 100644
GIT binary patch
delta 151
zcmV;I0BHZe0kZ*+B!32COGiWi{{a60|De66lK=n!Xh}ptR5*?8k+BWHFbD+iEzjzq
z7{l>?pCSW5fl@?yU4_u;1+q;?MvLVa{i4r`<~gUb7ZKOq2qQ3-0D=7sXGElywN~Ef
z+B+8&S`S1{A;T!8Bmx(xh^(B7sOdzF$HvZiwNcmmZ}z`lCJ;KYkR<>B002ovPDHLk
FV1jiVLJ9x?

delta 163
zcmdnYxSw%?N<Cw7kh>GZx^prw85kHi3p^r=85p>QL70(Y)*K0-AbW|YuPggqb}m6V
zi#WgQ%0Qt&PZ!4!i_>p|PjfLSa1>vx50BrsF13y2(#g9r!R`DLTiDkyp6uqzE9xu?
zS^Ld7I9AwZhJkzJi^6Py2yG(^kKpN34*!eDsL#G96H;>du#9Sr4__Xq#(^^*7XVFX
N@O1TaS?83{1OOl{H=Y0h

diff --git a/test/reference/pixman-downscale-nearest-95.ref.png b/test/reference/pixman-downscale-nearest-95.ref.png
index 3340423fced1b039bd2258570c853615e111a48f..5f099fc5ac6841d7611200006b5ced438a005e16 100644
GIT binary patch
literal 618
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1SA>tdKLjGwj^(N7l!{JxM1({$qWok@}4e^
zAr*7p&UWm3<RHMZI_jU`eS<o-`v(6eJ*?l#o;LlZr0=}4kiruI+>r^6nxZCi*_D)5
ztx{U0rS&f^Z11}J)4xiW$F0A<YS;bup<gR(n2uetJ#a)jl5b6k(&p+W&IqeA_X&yR
zb;}OD`@@rSyKyP=?XrZIE#GB1z2(BJbc!=xZaA}Wsq<v^X?#9F0Z!`=8!i>PPro7C
zdRK7AV(mK@MK|OE<v==}t#vM6N<4Ykt38!ZS9Y4^mXeH52QD=N1&+(cKJ3%mXw9`-
zxxhUfs4d|(pN{N}ZOq>7Wf9Ak9-h=bmG87n6xg~8Pk?Ti+&=Z(w%ohQJ{vAsp5I*E
z!Wm|Dys)I-;GkFf{qOGt)goTn%s>B5aNoh7?3eZ*zizxf-2UEXyS;~x8_%~>ePsU5
z=fVC(*Gg^slJ9@dy?yR;PtS_$&Mqk~scxYuDXy+*A*pGhf4^H#FO9XH{DbY)>8%&)
z)byr%f9J>-yLF!BwCt^qU&?lu_J2rQDC-~iuIEI8u8^`;ME8-5a@I9|J!RnsULAQ+
z#+rK`Oq}4k;$*mrX=^}FUiiLs?;O<Jwrj_Smn#S_zAgIYnDMSy$9x;*#1eKRLoPR<
w=(`tO<t44wyAFZEWE~_pfT2j9@FRZLS;r>L-2KTGn0OdGUHx3vIVCg!0K(lITmS$7

literal 299
zcmeAS@N?(olHy`uVBq!ia0vp^@gU5>1SA>tdKLjGwj^(N7l!{JxM1({$v}|@o-U3d
z6?5L+-pJQvAmVWG+K>CMrayjh#8>L{0?Tw(xwF384@m&kG5p!I^Vfkwnea7_llAm7
z6TdzByWKnNqy81mS0bfdR<3gw`R#l!W%4}x{DS9glE?cL58um#%LFc85sah|gR3(?
z{p{ragn9SZr959^DYra4?1nYSL=1&kjCsA^JpRw&uQR6aJJ5O74q+ub(9I41zp@1;
Vakg;<|4|3|!PC{xWt~$(698GGfj9sF

diff --git a/test/reference/pixman-downscale-nearest-96.ref.png b/test/reference/pixman-downscale-nearest-96.ref.png
index 0d68a82cc27532aa78fc12af7646f6821a730a2b..84345836aa56b6cc27b5f9ffb947008babb68ec6 100644
GIT binary patch
literal 627
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z@w>xeImDGQ=GiqMk@zvOQF8lWj9v2pz{TTG^Z@?rY
z<E3XpUi~)uyrVAWS^S+!yZOeStM;Znds`;lzp|RyU#2K<1B>ROYWDR9SS%gqb6Pse
zdjj#pUWFM7_c)q3C#46l>N)8+?)Y<o<>4o1VU`{N9|3)!z(H${jVwFQhFdtY`dvuB
z^NbsaDwH|YI?S6Ani||QXDP(AL^KurT*!IoX}cPSgyIZ^IG_Mnq4t~wOzJO;^FFfz
z(H=n-;Um(H295_7oA?S~wd?ezlKh9F(-zd;-@W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn@ifiUvn?poS&<9uW^=(@Q3MNORP%sA0A}+lbWi^QL$@(
zj2_TV14jSvD_D423%ZX4aBcVK`L<&N^OB2l;$;mcyB<58zwn}u+tyjxX-jKTO4qi4
zo_9O;MBeqACvms1a`UdaHikeo@=lAb^}Z;YG`Vk|tnT*dMcJp8+ck|;MF;KwxWAg>
U`DC*MFcmR)y85}Sb4q9e0Q>tXDF6Tf

literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B@0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM@omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T@ab2krlH<ByqM{lP1D%YXuKdqK|r@Q}6kF=t0)
R<@7`l*VEO{Wt~$(698O(XEy)<

diff --git a/test/reference/surface-pattern-scale-down.argb32.ref.png b/test/reference/surface-pattern-scale-down.argb32.ref.png
index 8bb58a2a1e811dc1676669f92804f9ef15b21193..ca557237bcd57ca4b1f30be759d9753fc28a5f94 100644
GIT binary patch
delta 1599
zcmV-F2Eh5Q3b754HGc+XNkl<Zc%1FrPeiP37{~G7>4>3Mi-_??#2Z6Iix?tWL>wY!
z5fL$qh=^H4M8sJ{M4UxL#92f{M2m<+v^Wfhp+yXbh!$~($o(#!^Nvn`W}auBKi5<5
z_v6}BQ}=UU_fLy^E+YW|00000000000PsJT&1QRgdaR!U?|)0NSiHHpIXOA8eh|DD
zxm@nx;K2Q7VPV1giSYK7N~MQ~2lvSR{e5q5uk~}`&C2KVr>CdxCHwpP)=!7GX?1n=
z#Yol6%*<FnBi@wJ(b00bTt8LLx$Eoe&dyHjhs9fv$z(P+HycK(W_x?v`jL@(g+ifP
zt@=-uXJTT)`hUTZR@rQJcXu~vq&ycF7p<+W);mD@6pO{%+uP<+<yl`}x84NO<jJ*X
z7$YMi*1JJEluD&YBIP+hKeyfxtkt>p3}bnD*?MQN)9~6ejDdjx>-`~dV`F1}u06vz
zK0dbIB@*<p?PH*8&oJia=dHJkWK2p`ZMuYlb$55iB!A$0*Cp*rPIAh)Ow|RxRd3GT
z-k$Z&5uaJ<_IIkhD!4*2!E(+`PfuI#ACc>m4*!T$t#)0L@7n}*b#>Lz(P7;PL}>Bl
zNO_fY*;^Ot-5dY5wzjN$fk+HV-|D5xtD-9=6D;T4`1rVWQxMYU#*wPkp*u__Sd~hp
zrKQEXHGgQ%C+SCkRLLpla>)eCIk&d9X5AnJ)h>Mr7O7g5T$JxX*EihPXWc3IHzoaS
zGF4uky6E4Be(L7N6^m!qt%5(@($`Rt@+$B0@uq5L$8~mkt1Vgg42{f5zamJLSF0|b
zNr%fzS13GLt>3zHctyW-6j`KdRd!L&J8W#YOn>J2Qb*SP!%LQ;kCazqZY;7$egE!8
zN9(LMXWd0SGAy0Nl`5~I8GKk-X}Hv#)NS2PNFSuNcq8Rin`;X-_;7OK1_ynv_SL$n
zkp2pLq2RwJ-DES7y1#b|3qe<#vhFLSsf2>1CI%n&_g!yq6H8r5?bdxoG*?!Bs>^lx
z9e;edzIHP+VOC@8AqBdlytt}gvu?I=s<yXl*PdbOlXYJq%_S5p)gOGgxNs8_Q7u)m
zZYm_jay9y5^|`*6Q?<VCT3e%Cjj@Lm=uhsS)}mYdBU0z*Ze%2;)rPG5iWo27pVv3{
z?RTn{mt$Ru!H0B+`3k;PLvF|&AG?8p1b<dz@F4|;6A9K`M)Mn=wU|hT<rsWOg}C43
z*(<2$();3v`jQD2gAeIYiRXB)vYOs`{H;$qOeR>4!G}~BkKtgqit4y|{(~=?O(s~s
z7<@>Dt>})llGFIXYd>z+?N4<jlPv}xQlMSBisCTWN@{ti|Dq}FCKD{j;6o}*hkrZ6
zv%H2+eZKmuCX)%)PX-@SVXxT(Tv`qE3*D;zQd=_F`eNNwNZrz1z;inqQ-8UM6Q9#&
zGQn~TKBU6D@8i15Xl^sii63b!fm9tz|5!H_lB8oF$F)~bcQxdp_p2Ohq;92I>t5oK
z`hyQwSxxOmbo6dXt1+c&SL(8EB!8ZHZSY~MsP@}P1K`e-k2X?OY0|oXc-{G*$5qMc
z(<>hr8LozP8sVSYl-jI2hq@jQKCG4Eh*YiCR0{uB%F>v1&*0CRbe7kUkB^HCS1o#|
zC>Q2WtXj7UL45ciUBsO#uf}!I+;5&rdFwu*32{t5yj)u<2Kt2usbt+9gntp?<U_sc
z(9M;yK3{zx<*fUHkUAood}v(L+G+Tr8>wjB5kw{A<U@ek)6-Axdt5tG*18vnR@0LY
z!Kz!;JH7DveV0<fx&??sPw>fyCTm_BPrkJwWvus)`1qfE2wTVc{Rxp}Y1De#NPwTo
zhX~3Wd|0vGEfO=3)IY7$zkiud_@7yhIZ_YOg7qF@<2<%h9Z0>_yMvjL7$U{RCnRY-
z(p2q8oz^=-Dzrv4_`t;{o|*`qstu{tdKXBe?PeqOor_P@(J5UAPZbxRXly1(q)wzk
z>j%c0vF{^N_gs4-s9x#5ZmRaV_C#|QUWwGTG-Lg2c-u~%rD~gNPZxwY_$X2r(uDQ%
x;Qd&UoV3ohCnCpf0+ZncHIwiJBpARO_b<U41Ra|#QDOi9002ovPDHLkV1lLAHN*e_

delta 1234
zcmV;@1TFiq4Xz51HGc%-Nkl<Zc%1FsJ&Y7(7zglY)C3YbgW4#GR%Z+qk=U4sr8!yy
zor%WEXbFWSy%;MEq1DnztcbQqEXC3YEq959g&)mWaNu&c%gxTbU$gi7Ws3`UH}AXq
z{P%g^o!LDi0000000000NU!hvzVB<#f|Z`CJ%P0?M(WI&Gk<j_!zMU)?p%LB?Mbm*
zS9=0OJt0F~H=BELbj)BWyn6Mj&NMr%Ki3CFO4DjhyB+K9-MhmZm6q0;XKGJiIYF7b
z=2nm?k+LARqphWIVxzis>sG3nFi|T{@l<P{rqzi09cz1gJK>JX=8TAk*JskYbm>y<
zyG1?Mu3gKKs(%M+-#IGnu?p1QW~;8!d#s(EoiZI|Yip~(D6CTUY2C-YxOXZ}l^IRb
zs;JaM-!FbyZVx0|wd7w4kH@|sb<LbSBcIGQUeTL0t&NwhV_jI8swmsEoPDSw&$}B2
zl(LJiWZ$B&)E(>VL8&TC(<(1%u=<D#Yy5c01@Y$1n}5Z|BAve?`Z2fj{rP+sc3kJF
zC`HehR<c4nt*(o9-XwGcOj`>31Usq{3*y5w4j*M7i9KV3bu#59{d!zacC3B6E*8#X
zeUWPz_8ZkLGOS(c7sNYv;`HgI-?1PTux7`4KiAoW#0z5Atx8oyyqIz%rW^ITZ}@Gu
z-%aq^?|;gbA)}Gous(4kVmtFhB4YZ2xXxuk3u0Eomck;biYW`?*|Te<irfYlqtyB_
zrfH3hlqBZUT(DxTY)$S`vX#l;SA_*Da3W3&`Z;S~!`7+I$%vh76M5VrO)F`n#50F=
z&SULno5cYuck#DxCvQ~Wrac@ZWj>qr=ytKccz^Ky37Kv*;Dd76`ae>aFXtYO29yfc
zUbc!1^<M1<m53-6tXF^iCf+R;V;XRyK%Mu#Di$o+N@&6>tbBFo_8+=0bxz>fh(F4V
zwCSc5EJwBuq$(o*j$_B--wcB-8^6pjo35o`EsNB`P~|EvThmQ@&wHv0{P6aZQxy@N
zEq~Cg)c=&up^;h`N7I^(s(;+}<IjhuD#|vkKZ}jDp%OhaM^t>BNImjg+`k_$jQGV7
zG_5HTb*z`y`QcOd#-%DEcH;SQzer)}o|XfnGB#3=50$r@9FO=X>i|bUx;@sRweI>P
zsfvgX<I5z+S*nw&=6rJa^_f&R*K-<|dVfthSf4~)YS~c9CVxLly&^a=QlD;Eto3*2
z^Q9^xzK?g39H*12dH6BQ+LvQN{HpdtwZSsIyehY28NDDnO_f!qGw)4TZM*ULZG?P}
zaHCC2q{_(pIJcE8kt!+cMd*e~+0ayuhTIQ${iY>SRpfr#Ou4eY62I;Hm*1soqkp|t
z=A72P(^?z_g@W}UTc6dww?x6UqF58L`Zb~0Ta!P{Kg3&7)sB*t$lA0-sx5`<kt16o
z)uO_m()l^{0i~)@<qMOlX^B+R%73nKdLVw0s`lmiKcO=csd=dKN$7FmxFS_EQn6HP
zZMH;eW~%<}hCyDJsyV7#vqPJfNG{D)-H!Ff>Th*YHEY$2x3p<hpA}QJP{PG*wJ;wN
wc)IokBH~!Yn-M=nyi|K8lR*YN7(i4014=ljmFq(UCjbBd07*qoM6N<$f|r1EPyhe`

diff --git a/test/reference/surface-pattern-scale-down.rgb24.ref.png b/test/reference/surface-pattern-scale-down.rgb24.ref.png
index 8bb58a2a1e811dc1676669f92804f9ef15b21193..ca557237bcd57ca4b1f30be759d9753fc28a5f94 100644
GIT binary patch
delta 1599
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

delta 1234
zcmV;@1TFiq4Xz51HGc%-Nkl<Zc%1FsJ&Y7(7zglY)C3YbgW4#GR%Z+qk=U4sr8!yy
zor%WEXbFWSy%;MEq1DnztcbQqEXC3YEq959g&)mWaNu&c%gxTbU$gi7Ws3`UH}AXq
z{P%g^o!LDi0000000000NU!hvzVB<#f|Z`CJ%P0?M(WI&Gk<j_!zMU)?p%LB?Mbm*
zS9=0OJt0F~H=BELbj)BWyn6Mj&NMr%Ki3CFO4DjhyB+K9-MhmZm6q0;XKGJiIYF7b
z=2nm?k+LARqphWIVxzis>sG3nFi|T{@l<P{rqzi09cz1gJK>JX=8TAk*JskYbm>y<
zyG1?Mu3gKKs(%M+-#IGnu?p1QW~;8!d#s(EoiZI|Yip~(D6CTUY2C-YxOXZ}l^IRb
zs;JaM-!FbyZVx0|wd7w4kH@|sb<LbSBcIGQUeTL0t&NwhV_jI8swmsEoPDSw&$}B2
zl(LJiWZ$B&)E(>VL8&TC(<(1%u=<D#Yy5c01@Y$1n}5Z|BAve?`Z2fj{rP+sc3kJF
zC`HehR<c4nt*(o9-XwGcOj`>31Usq{3*y5w4j*M7i9KV3bu#59{d!zacC3B6E*8#X
zeUWPz_8ZkLGOS(c7sNYv;`HgI-?1PTux7`4KiAoW#0z5Atx8oyyqIz%rW^ITZ}@Gu
z-%aq^?|;gbA)}Gous(4kVmtFhB4YZ2xXxuk3u0Eomck;biYW`?*|Te<irfYlqtyB_
zrfH3hlqBZUT(DxTY)$S`vX#l;SA_*Da3W3&`Z;S~!`7+I$%vh76M5VrO)F`n#50F=
z&SULno5cYuck#DxCvQ~Wrac@ZWj>qr=ytKccz^Ky37Kv*;Dd76`ae>aFXtYO29yfc
zUbc!1^<M1<m53-6tXF^iCf+R;V;XRyK%Mu#Di$o+N@&6>tbBFo_8+=0bxz>fh(F4V
zwCSc5EJwBuq$(o*j$_B--wcB-8^6pjo35o`EsNB`P~|EvThmQ@&wHv0{P6aZQxy@N
zEq~Cg)c=&up^;h`N7I^(s(;+}<IjhuD#|vkKZ}jDp%OhaM^t>BNImjg+`k_$jQGV7
zG_5HTb*z`y`QcOd#-%DEcH;SQzer)}o|XfnGB#3=50$r@9FO=X>i|bUx;@sRweI>P
zsfvgX<I5z+S*nw&=6rJa^_f&R*K-<|dVfthSf4~)YS~c9CVxLly&^a=QlD;Eto3*2
z^Q9^xzK?g39H*12dH6BQ+LvQN{HpdtwZSsIyehY28NDDnO_f!qGw)4TZM*ULZG?P}
zaHCC2q{_(pIJcE8kt!+cMd*e~+0ayuhTIQ${iY>SRpfr#Ou4eY62I;Hm*1soqkp|t
z=A72P(^?z_g@W}UTc6dww?x6UqF58L`Zb~0Ta!P{Kg3&7)sB*t$lA0-sx5`<kt16o
z)uO_m()l^{0i~)@<qMOlX^B+R%73nKdLVw0s`lmiKcO=csd=dKN$7FmxFS_EQn6HP
zZMH;eW~%<}hCyDJsyV7#vqPJfNG{D)-H!Ff>Th*YHEY$2x3p<hpA}QJP{PG*wJ;wN
wc)IokBH~!Yn-M=nyi|K8lR*YN7(i4014=ljmFq(UCjbBd07*qoM6N<$f|r1EPyhe`

-- 
1.8.3.2

-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.