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

Krzysztof Kosiński tweenk.pl at gmail.com
Wed Mar 12 18:01:03 PDT 2014


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 <tweenk.pl at gmail.com>
---
 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 at 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 at 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 at W)+`AoLQJ#r5KOwzEiP!;$@uq#w9<r
z)ZaGn-TqlQ at 22XWvlkMr*S~3SVff at d<H>!?&+^j at 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 at 9M??Vs0RI60puMM)000AWNkl<ZNQsS>
zU2j!Y5Qd+bS^J#QmI{TE2t^V=5-}ug{MJCg3;zoD{txf at 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 at Q9QKgIt<c0HzxbpAZ
zGakNo7g0U%j+x at _Oay=kxKj=vVeZT|Bx988OO69p3bjrMAPH$n*`8v4^)#tIzRDwj
zsCB{&NYI9Sc9-FuFUfL%Oi79w)nhV%L{N8jj?A(4 at 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 at 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 at 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 at 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 at 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
zcmV+b5C8D31%)1v83+OZ0003ljG~bt6n_r7Nkl<Zc%02#dyHJwdH;RqoI5jj?mTwF
zdZju}QzZtoHemdSVU2N(y#- at ChyV$#pf16p>O*N1r3fXsA}D at P(FBLm76s8F3aX+6
zf~YZ$YmDW%wh%bHy%;%BL1ru2>&)Jnx%bZ8d(Qd#$LwO#s?@8>-1Gf$XZFsyvwugw
z`JL~54h?<gGe>^%<Jo`s$47tm_cwob(<5WMH(meP{fAy2@^5`PJ9KNsKln;E^!57Q
zt^fA*&3|=x+t%7&Y~FKd+xFTw?|l03-CIhBUwXQfY<b$e^u0!O;1QP3HvaL}M;?9r
z*#lp_RsO@%_rI|2RXl#p11~)OJbzx;^8lI$@4-`VHJVRtCi}s_<2OFm{g3Xv1 at lgw
zI<;cOif?V+{LFLDRf51+3kQU)RU|~CUK3Id4AdmadVN4hYBXvjWep7p*{A~wwQ5x=
zRjXDZRkc?2psJOUQYd*9c&Y+VVL%3ehe{<-o+qmnc!e^80=%FM&jV0KqkrH71vKD8
z6cJPdQ5LmYElX39^3QL%<>9;T>}gG)oN;0HJk<<a3P6@=FlU)&u+|wES*8n;wa!?{
zOlyyo)`pp_)`D4EZ3P<*W&j$NwFN5!W5J#_hAl%Iu<hS6ra#gkvj(tU21~HYXk(1g
zTAMWOm5RaB&-%Oe_(2)Q0e|ig`Nk*!L^ORRoOwTe?f;Vf%k+Ihf8f;T(*viUn*Nyj
z&wX?xrf(ByTA-wA#}l`%|6to4X{sq_>P&HGa<Zjzo(KTIz}8IVC-rA{*LRf>Sme$f
zCXlHcC(sd)ZQ1(b#4Ud^zEx)_93YQUUKmcEJv!%b#@3)(Gtd60zJF_HJqX~0$s$-&
zcY- at oA`I0Z-9EnKA<^q;%9}e=Hmm7|-T{o|YM_3qXs0R#$Y1XOpdsH4y#q*vaNOQ5
z at Q~I$7r3L8*UFkspksh4^G^$ECn!)QCzu16ithwE5(pK(I&L2naKcvxdrCFK?CjCu
zb2uFXTj5}LQSL|CSATA(9SmtVY!(alBJWqLf7SX*XpH%!{_X!{D1Z2>lx(%zPM~A0
z4a&jp7hl}He}CEctpg4Z5gDzWKt~D@#?hwLtN- at quUKR9_LRZQLMd0c18X@b7k9si
z=l6 at i&)r$>2h%m<26tErFN}YA`|9R{H(P7+Hd$b1B~-iR27h-fY?*_D#XX0x*B9m7
zV{|46P*!t;JA!3W2$vt(wEq1a#^z2PFheS|J6$Kxu@>br at B6vhyBFnh?rH}Bh at f@J
z33R07aI&yz(~%tyyzfQ`%7E%-9VgHMEK^zOp96bg%b>ggVn9$SaYOGgWC4>$c+>lM
zz}j<~Xgj<4Fn^Rl$IKwkI)`EjKGWfHb^!2|wh(#GhzU|RA}7$17GVju9pw982Eh5N
z9%e{sB6b2DvV;Q5V*!o;B`<ey0DvH~h7;&mVN1Qzzh83j)nzZA(@e=(3NtGyI~_Mx
zmbJE6EWG;qu>&t3 at k=Gkd6S1hf^_DFR+d79z20q?UVn1`@@4&^a?ZjGB~9B6e}^oi
zRFJQX;qaUAi*7i}LT0HG=om$QnC{&;chB~D1f1I}?O6x|5;BGxdIzuyrT?Tij^c0u
zKId(;7!aToZs;AdD)qz9 at 7s96zU`pAnFD|!C88Kkpkpmc9^N=khhKtUazpJ9vdj&1
zl(J#V-+#Dq-}bHh@{h8BDb0h}33R{~q(t;S at H(=h6EV6c&~(IRL6y<og+KT)?vc4$
ztZC*XaARdLv9xru(s>;ydYKEkQvok+xY1>x4B7#He;3{JFMuR)?&tslNXQ9v7zDw(
zRl<8fK{>Is1Z;1>4RpvB)8e7wLvLOFM&6zv0DmyER5EJ2;wys$=}B!)=3nYV9~~*X
zu^SZ|0LGZXp~0b{A+4S08&pcQTCVgBf{2nNnV6U`#t;#IB#%KX2&^TDNkW5!)<Oud
z(14JdS&*?-2qCOs!A3wZ2nG<wkPxtB1OyoiA^Ic95+n>D0l)y#7zhaqBO#!TEEFcg
z(0>VZh{zZ-I5;?W?p$W>6MO1vxmW1HQZ<4R9HR=>^;*)+P)O<;-K1VXH?0?oy<XZa
zc9BxOi-b7E0C8L&NaL9Nv>sEG)yovc^>Pr!Q5IyPLv at Wdkw#rmyI$9wmaLdsOLla%
zT<rGP7$t>ZFr;9HfB>@)U}iutvj7;}uYVB;As8Sbzz`%D5dGQ#3oryMJ{(C?4**0E
z^pTMS2=Me40RZU3(dSOH**tOLgzx(k6BEAgPn?`k1L~5oOI5A=*eDNmDy#9B4SxIK
zAC6oymw!3(@Ne-YS3G>&EFFI6wKo<moVWOmrDk6A&{7(Sy<ys+)s^4hF}(UpeSc{9
z`zv}^fBtXw_10c>|Gs@|ue$1U`#u+~?cFz9d at 0ql#eI?f(qG><`?{OMe;s`CrtrGK
zC!RZb!*zf6<ddQkMMb3$#f5^35h<?_MJN^(5GhrRfTB`JAf=3xL`aD!5ke-2r9d15
z5D>9YNT2`@U4W4Ex*$T*V<1HWMt{-;!0>v;Lk}K|LJEj}mz9!I649JFa~3REFlWx3
zxpU_RK`=BlWKtvQV!^w^^G+>#{es1(7hf=M@$19$lEW`uD3jr%7aop=<%NgeTu?3@
zc;yI{_`)Oe7VzQ&^A-h*E*idc at 5L7dd-o1Ef{PCg at BP%JvxcAFf9b5j-GBS{4-TF;
zynp_pIg55KSU6|V;`s}AE?PWi*UtH$o;!c{{9SYB&t9-=&&6|QKl9vk>iYHT-#jrM
zth;*R==j?Dx(_CfuG>(5^%vuT+AwZ^v7w+|9k;=%;>5)1wX0UWc50${?W$kDc4~QX
zv>ClQI;!4$D^hwi;<r|ovwydV<&uEAv~uZ^x8trHxi}az^J&ERV<VT**fC#33(v#5
z3oD&tvq%?9Hng%JPo6xPB+2pP$CD%haN@*?fq{Yk-Ww2LfdU|P5iBzgD8eJZ1P}`F
z34mV&vtKNMff9hs2U)Ek$`H0(hOzKbw$>o<tucXLHpZZgp4I`B)_*;ypx4tu0G*{}
z1Zk=flzUoNf<SHGvW2AVEnQM?$6L+iom%Vi?IsL|EiW5JxQscR54(&PMT=Klab*}s
ze8m-u!*~T>k&J}DyN1Kb5vDaGm|V>ijsoj=O>cDFnss5Xhc&Ce7^Vu>rt8CNJ%p|G
z at YPLdOIvDx84!F`dVduO>Z{@Ym55HCKHXnvXDk;3Ocs3?+5)f^3~+xfTMJ++QEvf|
zg#e)+%39k;xc_1aFxCKo0fFq)t|3cA)&fKpmIyGGK*m~i at ZiCLdflWclr*pc(i%vK
zDNWwj>IN*>S}TQswJe1tE3CAZq_hNUAuT~#kR>Z at e<WEpihlr0R#^+BEZ7<-CRPRv
z;*Z4QeLE$kjH2lL^Ur4&a_ at keHEUL_R&&S8u+};P4FGlQ?PKL~xlio8C)4jYkW$LL
z=P at O!^gAWL>Kp9_Is!JdY at OlG#;0x*MZkf+5D<{!?F+_wD|*Daw_yN)5}%%gKLD%q
zhldzOsah8{aDSmN0YKfjg$sanU^W8W0~Wr^UyGpK&^+p*X2Wm5WM1xShZx4gd7X+G
zWO5-r2&j8;BT&e{p$Gs3&^v~OF}^0D^PUU<C^S|8Wq2lky#oMj10SqG=T0l1*<SyD
zidu8^H$2aYwh$qZbTM+-J9qtMqO}_~YvZ*D$}kR4hkpPtjL+R{I^&VIsGogfO#z;D
zph`jzDU$i`j9io4#lj7}vj`i at 2n_Py6$KCj0UM1j@^8uo0Cne at UGNIXy;To=#nXFd
z<l^M6YovBS5dzBm=?$`4f&OTz<ZNhkHnX2O9f?fbMK@(Jqi6YSXEZ}mEC1;U<#}v5
zcdaZ)B!9i`%B4&0UcJVV<D1l`jn`Ewfi~vMF7W)Q0|Ixc*Gq*PMoZoP#2xS)=n4TK
zfG*xya;&?iE36ynnCqG{XuxFopLzoZJVOyupM?uQ7u3o-NKF- at az;nMCcw&LbaxlV
z3F<(7vl&zx&{{e`9U&B=*h|hWb!K4T)D7}7K!5cs&p8VVAReR96yFi}#Lj#8I8j}H
za|sm)7jlCDgjNx8%#QfVBbVKvlq)fM9Ak8J?B4IB#tp at zwr=iLD<z}zH(3lwfo7!R
zn1mxX>;4-?JSZ1pbODhdUOqOuGQHOdH}uZ8THmYIs at mpX3k5?6`Rm at PIEci|DmF7n
z_kYbu)YZ$s4e5;HiITBvS7qN_PA(jE3aHkDTWZy+b)k+92q}A~CW0t-Bsr)?zJ0e;
z>NgAf|ND_oA1D9c;8hA4CGpx-tF|m(;Yy7DgDu~!R;xxk(F!Z2oR~Nr#gQv9`sm%i
z2lbnU*?g$e-}8g9RY$WG8CeH at D?pw6L4Vk&4`gnf@>f(UI?=0iDmaIg;+fR5RxI_T
z0z0tTMgS48!HVtLjVKFHPjr&nKuPN?f1AauRPjWr+eB_O89;r(TTYNr4){9|KxD-R
zjqPxQJ?dogM59#8G6(z}=3-IB`b3r5IG2j&>_x3w{sk$?6<0aJx(#;QcKyj6=YRRJ
zq8@$by?T8>YX|bm%*rc#a6D|cYGP*8nNdA!Cb_{ohSy4x49-3KB_Lu%YbV!TZnjxR
z^v;jodvsvH5xs*#K^+grTeXgKBsVz!nm-d#IuWBwfhe9_ceUQO4BGItfYIL#Fg?eq
zrNJMr5AOfjzdt>a`&|p at e?kA at sei9H^9BFyet+PZJ8Jx&f7qzI!JR2zdHhq|o-7pl
zdvBzY5P(nukRAX5NFqoH0g{j)0VPS0k`e?+j{v0r5TJ-46$D5L1tOso5lJOM at RTAz
zDGwmeQ$$e8Bar7Q5P6;=KrOlH%fgL3r4*tQMc1!izkSP=$uRT^g*c9F+ilt&L^7Fz
zlV$@*(TKAQQH&H>j0jn3+8v!`olb-dCTeO>rx`%%uHVrb?M^p?ZnxSny47wQt=sK3
zG&jT0Xs^{t*fY(fWekVmq?v6dCtI_PX@)Ip?SBF2!bTwKL=`~*0000<MNUMnLSTZQ
CVlPnu

literal 685
zcmeAS at N?(olHy`uVBq!ia0vp^@gU5>1|<7 at q`v|wwj^(N7l!{JxM1({$qWokNuDl_
zAr*7p-Zjj7<RH=Z at 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 at q<qs*A2a|OYRc9m3-!x
zfK0uF+qT>BOH7XQ?2vw#e&*6yp5N*_YC9w4n;z?Xt1Y$EtDEXP|6tJ3wY>YDdE;>}
z4v&cb{dWKI=0xYe2eT_qPPBH at YWnu}gX|8 at NXz1beWv^|f4_cf4QG4T`0tIR>qm7p
zzW+BC)}76a_Pz72PkK?A at 7XmKDQ7>ozgABOH#t0AR`IxaQ4LAN!VAs%MZCpNZkGRK
zdNyOZ!FlbXKHHy4CjV|6yezj$HRC`YZ~yBFON-Y at 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 at vJ{y97(8A5T-G at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z at w>xeImDGQ=GiqMk at 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;- at W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B at 0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM at omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T at ab2krlH<ByqM{lP1D%YXuKdqK|r at 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 at 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 at 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 at 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
zcmV-T2D16B1>+2m83+OZ0003ljG~bt6n_R7Nkl<Zc%1E;K}cI!7)C$BHEpu7HHg?Q
z?80Vlx^S{+3$L3Yv#DVQga{=Dq)1yZASg`1thy_>5tJ4}p+#45l|UEm+jMH7j4sB(
zU?IK4RFuJ%j3jNr##S%y&O)d5I^%5re~}XiSp+<sd|Y_Xhd>};8VwT&G)yC40)LH$
z>FhMdyfvottuY55Bc at a;MIsSXDw#;6WJ->478Z=-7-JTUaTbi}HO9Ec^cvT7dwYA0
z>zZV8&deoEa&FEflg5}iV}`TF3>#yz#ta+Rb!TU1U%q_#?Af!`)zup}ZUmSiz=qqS
zqYv-hqqeYMR0q at 3$mOUdEEv_<yMH~p^RT&{W0=Nt4$bWx!|2}adpi%QEi4$-dGG**
z0=0w<qdFra+xPFkqqeYMR0o&^c#Vfqoo$S~!+mNC3r2Njxh;oPosn%YJ9aqL!5rXH
zJJ>L)Q%lrd-+WDNVZo?Qp-^yLUgKd@=T;&ydGjW<g$1KJC=}4#&T-UkC4XK|Hn(#O
zPw{jf^VAj=jOzTjIr#JYyVMpIjOsjpj(J|w;Z$dEaP#in_tX{^jOqZ-(L8sKV-th#
z(L8sK;WuEB+TjR{>RemHopovn8%A}o#BMx{>a1N{Tfe+cZDGNv&eGD-;v%o{FsgIy
z;>A0cFH>7sFsg%BuTU&fOMh4}s#EGaUmWkEwy<DSXBDeOG`DjM=SzKE#c^s23r2NT
zSGgTKoa*%TmBz<;<zZ9 at _!Cgn4i=2+EaU16j8a=zFskzxx8<;^b9EV`FQ_GK7}a4o
z9!7Q6&abV1w at z(g!KlusPoEl%2DOC+qdKQgpYH7Jq_(hNR7Y$5<$uc;Y6}ZSby{0n
z+uPfzEi8Q00*82>r?swDt6N)Jl}crOeSLX(xm+&mCtCl$|E9HmqV-BXuUA%dUguZz
ziq7YCxtz=8%H^`oX<gPitv9sRdPeJwnHjyYp=b0=RabR3tE<&)He0P$byn*SdP?gL
zT5CO}^@ph`y|bey^nb*T-q8~idS_>1VuDefP$(p&4244N?d>fsEhkT&Y&04^pHC_&
zKkmOtDV3DF#iHEZl|@<HmAkT7ls at 0$;-b&zlZ#UN<f4>8DW#m3GB`gkgF!hj=i6kP
zbY0oj=DKcMTbp#HJSz)Qo|RI{f|O?q1=-y#b28U0yJapXyMMcLxtvI)QmRrxDz&F7
zDWocUDv^Lv+dyI)Dgmf%AdY&y9*@UWy^eUiuIe$w8VwbTL8%51Yd|@G@&E^(=Q)m}
zJP*;RU-_em`u!>zg;IV%wn9ljwE_~J=LLho&!0bQt+%$eJkL`~)oQhljt=Ty>Hv|+
zWB?$O5kLkR2!D)?0XPMWodOO%rqO|pbUF<H>2wD$gduccXb3<TFw_Nf0SE(Ogb at yh
z!vGKt_W(WnuO0wBK+mQ9KYIz-|L(u=`54VvY;0^$J6P=P?eRIA#fcLqs2wbfG1Ll&
zh&ONEP&-%zgTZs>&QV(&Aov`C`*@y5t#F9wecVg!V1J>c`me*927&LX6^_tKE$|H@
zJxr}&BNcw4cKC{DPUn9R!$?y*SSU!aS&smIpmsQdpIYD$F))y%cCd&>RewLV#6O6>
zK57LUKcneDJWdW!J6J?jv<F<qBl^H=JbqT^PIBNewS$F<M$z9xZE=9W_3P9QHmt6*
z;?vXA4u2Mo<D|k|F0{nxD6hvJm|de!GrLB2SY4y at nhwBdIuLPQ(}AOqqIUR-xI=Al
z1Xhn32nScF9V`@Lz!0^?0Rot$b~pl~^@uB19BK!PSWFFZnGVDxv+1yUzDfMz at H%&5
zDmKLD+<AmY)D9MP)TtE?5s?dAZl>&`;&G(8+<)p8$mgjYZ0el0bAiuYTmV2k9#8Yx
zPM+Cz>a4aC>5ou5Sg5$-^B*>WU#S(2ut_cO4dM*1=ckeQh%su1uZTaW4UWKRIuM;W
zL+xPk5ecwaj{utMITmq-*};=Yd>rF49SCL*RiaX%Huwe+3IwSgEK)703^LRf2Z$PK
z)H)6p6)+l)2n0ja4i+t`6f$hKgBq{xusV1|FvM#+sZ=V%W;=fadaqp+M27N&00000
LNkvXXu0mjfA$at~

literal 685
zcmeAS at N?(olHy`uVBq!ia0vp^@gU5>1|<7 at q`v|wwj^(N7l!{JxM1({$qWokNuDl_
zAr*7p-Zjj7<RH=Z at 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 at q<qs*A2a|OYRc9m3-!x
zfK0uF+qT>BOH7XQ?2vw#e&*6yp5N*_YC9w4n;z?Xt1Y$EtDEXP|6tJ3wY>YDdE;>}
z4v&cb{dWKI=0xYe2eT_qPPBH at YWnu}gX|8 at NXz1beWv^|f4_cf4QG4T`0tIR>qm7p
zzW+BC)}76a_Pz72PkK?A at 7XmKDQ7>ozgABOH#t0AR`IxaQ4LAN!VAs%MZCpNZkGRK
zdNyOZ!FlbXKHHy4CjV|6yezj$HRC`YZ~yBFON-Y at 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 at vJ{y97(8A5T-G at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z at w>xeImDGQ=GiqMk at 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;- at W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B at 0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM at omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T at ab2krlH<ByqM{lP1D%YXuKdqK|r at 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 at 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 at 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 at 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 at dy?yR;PtS_$&Mqk~scxYuDXy+*A*pGhf4^H#FO9XH{DbY)>8%&)
z)byr%f9J>-yLF!BwCt^qU&?lu_J2rQDC-~iuIEI8u8^`;ME8-5a at I9|J!RnsULAQ+
z#+rK`Oq}4k;$*mrX=^}FUiiLs?;O<Jwrj_Smn#S_zAgIYnDMSy$9x;*#1eKRLoPR<
w=(`tO<t44wyAFZEWE~_pfT2j9 at FRZLS;r>L-2KTGn0OdGUHx3vIVCg!0K(lITmS$7

literal 299
zcmeAS at N?(olHy`uVBq!ia0vp^@gU5>1SA>tdKLjGwj^(N7l!{JxM1({$v}|@o-U3d
z6?5L+-pJQvAmVWG+K>CMrayjh#8>L{0?Tw(xwF384 at 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 at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z at w>xeImDGQ=GiqMk at 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;- at W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B at 0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM at omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T at ab2krlH<ByqM{lP1D%YXuKdqK|r at 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 at 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 at 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 at 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
zcmV-T2D16B1>+2m83+OZ0003ljG~bt6n_R7Nkl<Zc%1E;K}cI!7)C$BHEpu7HHg?Q
z?80Vlx^S{+3$L3Yv#DVQga{=Dq)1yZASg`1thy_>5tJ4}p+#45l|UEm+jMH7j4sB(
zU?IK4RFuJ%j3jNr##S%y&O)d5I^%5re~}XiSp+<sd|Y_Xhd>};8VwT&G)yC40)LH$
z>FhMdyfvottuY55Bc at a;MIsSXDw#;6WJ->478Z=-7-JTUaTbi}HO9Ec^cvT7dwYA0
z>zZV8&deoEa&FEflg5}iV}`TF3>#yz#ta+Rb!TU1U%q_#?Af!`)zup}ZUmSiz=qqS
zqYv-hqqeYMR0q at 3$mOUdEEv_<yMH~p^RT&{W0=Nt4$bWx!|2}adpi%QEi4$-dGG**
z0=0w<qdFra+xPFkqqeYMR0o&^c#Vfqoo$S~!+mNC3r2Njxh;oPosn%YJ9aqL!5rXH
zJJ>L)Q%lrd-+WDNVZo?Qp-^yLUgKd@=T;&ydGjW<g$1KJC=}4#&T-UkC4XK|Hn(#O
zPw{jf^VAj=jOzTjIr#JYyVMpIjOsjpj(J|w;Z$dEaP#in_tX{^jOqZ-(L8sKV-th#
z(L8sK;WuEB+TjR{>RemHopovn8%A}o#BMx{>a1N{Tfe+cZDGNv&eGD-;v%o{FsgIy
z;>A0cFH>7sFsg%BuTU&fOMh4}s#EGaUmWkEwy<DSXBDeOG`DjM=SzKE#c^s23r2NT
zSGgTKoa*%TmBz<;<zZ9 at _!Cgn4i=2+EaU16j8a=zFskzxx8<;^b9EV`FQ_GK7}a4o
z9!7Q6&abV1w at z(g!KlusPoEl%2DOC+qdKQgpYH7Jq_(hNR7Y$5<$uc;Y6}ZSby{0n
z+uPfzEi8Q00*82>r?swDt6N)Jl}crOeSLX(xm+&mCtCl$|E9HmqV-BXuUA%dUguZz
ziq7YCxtz=8%H^`oX<gPitv9sRdPeJwnHjyYp=b0=RabR3tE<&)He0P$byn*SdP?gL
zT5CO}^@ph`y|bey^nb*T-q8~idS_>1VuDefP$(p&4244N?d>fsEhkT&Y&04^pHC_&
zKkmOtDV3DF#iHEZl|@<HmAkT7ls at 0$;-b&zlZ#UN<f4>8DW#m3GB`gkgF!hj=i6kP
zbY0oj=DKcMTbp#HJSz)Qo|RI{f|O?q1=-y#b28U0yJapXyMMcLxtvI)QmRrxDz&F7
zDWocUDv^Lv+dyI)Dgmf%AdY&y9*@UWy^eUiuIe$w8VwbTL8%51Yd|@G@&E^(=Q)m}
zJP*;RU-_em`u!>zg;IV%wn9ljwE_~J=LLho&!0bQt+%$eJkL`~)oQhljt=Ty>Hv|+
zWB?$O5kLkR2!D)?0XPMWodOO%rqO|pbUF<H>2wD$gduccXb3<TFw_Nf0SE(Ogb at yh
z!vGKt_W(WnuO0wBK+mQ9KYIz-|L(u=`54VvY;0^$J6P=P?eRIA#fcLqs2wbfG1Ll&
zh&ONEP&-%zgTZs>&QV(&Aov`C`*@y5t#F9wecVg!V1J>c`me*927&LX6^_tKE$|H@
zJxr}&BNcw4cKC{DPUn9R!$?y*SSU!aS&smIpmsQdpIYD$F))y%cCd&>RewLV#6O6>
zK57LUKcneDJWdW!J6J?jv<F<qBl^H=JbqT^PIBNewS$F<M$z9xZE=9W_3P9QHmt6*
z;?vXA4u2Mo<D|k|F0{nxD6hvJm|de!GrLB2SY4y at nhwBdIuLPQ(}AOqqIUR-xI=Al
z1Xhn32nScF9V`@Lz!0^?0Rot$b~pl~^@uB19BK!PSWFFZnGVDxv+1yUzDfMz at H%&5
zDmKLD+<AmY)D9MP)TtE?5s?dAZl>&`;&G(8+<)p8$mgjYZ0el0bAiuYTmV2k9#8Yx
zPM+Cz>a4aC>5ou5Sg5$-^B*>WU#S(2ut_cO4dM*1=ckeQh%su1uZTaW4UWKRIuM;W
zL+xPk5ecwaj{utMITmq-*};=Yd>rF49SCL*RiaX%Huwe+3IwSgEK)703^LRf2Z$PK
z)H)6p6)+l)2n0ja4i+t`6f$hKgBq{xusV1|FvM#+sZ=V%W;=fadaqp+M27N&00000
LNkvXXu0mjfA$at~

literal 685
zcmeAS at N?(olHy`uVBq!ia0vp^@gU5>1|<7 at q`v|wwj^(N7l!{JxM1({$qWokNuDl_
zAr*7p-Zjj7<RH=Z at 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 at q<qs*A2a|OYRc9m3-!x
zfK0uF+qT>BOH7XQ?2vw#e&*6yp5N*_YC9w4n;z?Xt1Y$EtDEXP|6tJ3wY>YDdE;>}
z4v&cb{dWKI=0xYe2eT_qPPBH at YWnu}gX|8 at NXz1beWv^|f4_cf4QG4T`0tIR>qm7p
zzW+BC)}76a_Pz72PkK?A at 7XmKDQ7>ozgABOH#t0AR`IxaQ4LAN!VAs%MZCpNZkGRK
zdNyOZ!FlbXKHHy4CjV|6yezj$HRC`YZ~yBFON-Y at 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 at vJ{y97(8A5T-G at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z at w>xeImDGQ=GiqMk at 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;- at W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B at 0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM at omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T at ab2krlH<ByqM{lP1D%YXuKdqK|r at 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 at 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 at 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 at 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 at dy?yR;PtS_$&Mqk~scxYuDXy+*A*pGhf4^H#FO9XH{DbY)>8%&)
z)byr%f9J>-yLF!BwCt^qU&?lu_J2rQDC-~iuIEI8u8^`;ME8-5a at I9|J!RnsULAQ+
z#+rK`Oq}4k;$*mrX=^}FUiiLs?;O<Jwrj_Smn#S_zAgIYnDMSy$9x;*#1eKRLoPR<
w=(`tO<t44wyAFZEWE~_pfT2j9 at FRZLS;r>L-2KTGn0OdGUHx3vIVCg!0K(lITmS$7

literal 299
zcmeAS at N?(olHy`uVBq!ia0vp^@gU5>1SA>tdKLjGwj^(N7l!{JxM1({$v}|@o-U3d
z6?5L+-pJQvAmVWG+K>CMrayjh#8>L{0?Tw(xwF384 at 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 at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lNlJ8G(24#
zLn`LHogLWq%0a+2-}L6h+Z~Z at w>xeImDGQ=GiqMk at 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;- at W|<m-mHjxp$*0T2(V*ufNmXb4aLU
zKS-SK-2H`p;eFkYPd;v2zx}Ly{->{J`uQjQdvxyNud9F9Sw83Ie74EIy=~p=O*+5#
zX)m#nQ)!(dcq&9AXeCFgn at 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 at N?(olHy`uVBq!ia0vp^2_VeD1SE5RJ;(=AY)RhkE)4%caKYZ?lYt_SJY5_^
zD(1Ysy^*iUK*S+1>rej2(}h=B at 0d(;Js;WVUVNE%S1wQ;!=K59zYi43gs*v=>!Y8U
z_vgvq?cQM at omse;SR0!h92Y1A>{u^la;*65g4(k)k}t|wYjB7lNebZM8vKpTne!)c
zbN%i~M<*ZqX0g}kFdxELd^!~Z1T at ab2krlH<ByqM{lP1D%YXuKdqK|r at 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 at nx;K2Q7VPV1giSYK7N~MQ~2lvSR{e5q5uk~}`&C2KVr>CdxCHwpP)=!7GX?1n=
z#Yol6%*<FnBi at wJ(b00bTt8LLx$Eoe&dyHjhs9fv$z(P+HycK(W_x?v`jL@(g+ifP
zt@=-uXJTT)`hUTZR at rQJcXu~vq&ycF7p<+W);mD at 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 at 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 at +$B0 at 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 at 8AqBdlytt}gvu?I=s<yXl*PdbOlXYJq%_S5p)gOGgxNs8_Q7u)m
zZYm_jay9y5^|`*6Q?<VCT3e%Cjj at Lm=uhsS)}mYdBU0z*Ze%2;)rPG5iWo27pVv3{
z?RTn{mt$Ru!H0B+`3k;PLvF|&AG?8p1b<dz at 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- at SVXxT(Tv`qE3*D;zQd=_F`eNNwNZrz1z;inqQ-8UM6Q9#&
zGQn~TKBU6D at 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 at 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 at ek)6-Axdt5tG*18vnR at 0LY
z!Kz!;JH7DveV0<fx&??sPw>fyCTm_BPrkJwWvus)`1qfE2wTVc{Rxp}Y1De#NPwTo
zhX~3Wd|0vGEfO=3)IY7$zkiud_ at 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 at 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 at 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 at 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 at 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 at 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
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 at nx;K2Q7VPV1giSYK7N~MQ~2lvSR{e5q5uk~}`&C2KVr>CdxCHwpP)=!7GX?1n=
z#Yol6%*<FnBi at wJ(b00bTt8LLx$Eoe&dyHjhs9fv$z(P+HycK(W_x?v`jL@(g+ifP
zt@=-uXJTT)`hUTZR at rQJcXu~vq&ycF7p<+W);mD at 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 at 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 at +$B0 at 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 at 8AqBdlytt}gvu?I=s<yXl*PdbOlXYJq%_S5p)gOGgxNs8_Q7u)m
zZYm_jay9y5^|`*6Q?<VCT3e%Cjj at Lm=uhsS)}mYdBU0z*Ze%2;)rPG5iWo27pVv3{
z?RTn{mt$Ru!H0B+`3k;PLvF|&AG?8p1b<dz at 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- at SVXxT(Tv`qE3*D;zQd=_F`eNNwNZrz1z;inqQ-8UM6Q9#&
zGQn~TKBU6D at 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 at 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 at ek)6-Axdt5tG*18vnR at 0LY
z!Kz!;JH7DveV0<fx&??sPw>fyCTm_BPrkJwWvus)`1qfE2wTVc{Rxp}Y1De#NPwTo
zhX~3Wd|0vGEfO=3)IY7$zkiud_ at 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 at 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 at 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 at 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 at 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 at 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



More information about the cairo mailing list