[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 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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` 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