From 3b33d49d37a5751e7848516c468b323e19c34bea Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 29 Sep 2008 08:14:24 +0100 Subject: [PATCH] [test/filter-bilinear-extents] Remove XFAIL. With the reintroduction of Carl Worth's and Owen Taylor's work to expand pattern extents as necessary to include extra samples due to the filter radius, we expect filter-bilinear-extents to PASS. This patch series is important as it factors out our assumptions about filter radius into a single function and cleans up the code in its wake. However, since the external PS/PDF renderers do not necessarily use the same filter as cairo (and currently they only use NEAREST due to lack of /Interpolate emission in those backends) we can expect differences in test output. So add the respective reference images to capture current expectations and to highlight future changes. Fixes bugs: Bug 15349 - bad clipping with EXTEND_NONE [https://bugs.freedesktop.org/show_bug.cgi?id=15349], Bug 15367 -Improve filtering handling in cairo-pattern.c [https://bugs.freedesktop.org/show_bug.cgi?id=15367] --- test/Makefile.am | 35 ++++++++++++++++++++++- test/filter-bilinear-extents-pdf-ref.png | Bin 0 -> 798 bytes test/filter-bilinear-extents-ps2-ref.png | Bin 0 -> 173 bytes test/filter-bilinear-extents-ps3-ref.png | Bin 0 -> 173 bytes 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 test/filter-bilinear-extents-pdf-ref.png create mode 100644 test/filter-bilinear-extents-ps2-ref.png create mode 100644 test/filter-bilinear-extents-ps3-ref.png diff --git a/test/Makefile.am b/test/Makefile.am index 4ad2a4e97..34c3a0520 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -477,6 +477,9 @@ REFERENCE_IMAGES = \ fill-rule-ref.png \ fill-rule-rgb24-ref.png \ filter-bilinear-extents-ref.png \ + filter-bilinear-extents-pdf-ref.png \ + filter-bilinear-extents-ps2-ref.png \ + filter-bilinear-extents-ps3-ref.png \ filter-nearest-offset-ref.png \ finer-grained-fallbacks-ref.png \ finer-grained-fallbacks-rgb24-ref.png \ @@ -916,6 +919,37 @@ $(REFERENCE_IMAGES) # Of course, before any "release" of cairo we should eliminate # everything from this list by fixing the bugs. (We don't necessarily # have to be that strict for "snapshots" though.) +# +# Analysis of XFAIL errors: +# alpha-similar - discrepancy between backends in applying color +# components of a pure alpha surface +# big-line - range overflow of fixed-point +# big-trap - range overflow of fixed-point +# degenerate-path - undefined behaviour in PS, needs path editing to +# convert degenerate segments into circles/rectangles +# as expected by cairo +# device-offset-scale - complication of pre-multiplying device_offset +# into the pattern_matrix and then requiring futher +# manipulation for SVG +# extend-pad - lacks implementation in pixman and consequently used +# as an excuse for lack of support in other backends +# filter-nearest-offset - banker's rounding vs arthimetic rounding in +# double to fixed-point conversion +# long-lines - range overflow of fixed-point +# self-copy-overlap - vector surfaces take snapshot of patterns in contrast +# to the raster backends which don't. One solution +# would be to clone overlapping areas of dst/source, so +# patterns were effectively snapshotted across all +# backends. +# self-intersecting - incremental trapezoidation of strokes can generate +# overlapping traps. Needs self-intersection analysis +# on cairo_traps_t after strokes. +# Test case should also be expanded to hit special-case +# tessellators as well. +# surface-pattern* - old bugs in pixman, but fails PS/PDF due to lack of +# /Interpolate support - which causes a half-pixel +# shift in GS (and consequently virtually every +# image/fallback-image using test to FAIL). XFAIL_TESTS = \ alpha-similar$(EXEEXT) \ big-line$(EXEEXT) \ @@ -924,7 +958,6 @@ degenerate-path$(EXEEXT) \ device-offset-scale$(EXEEXT) \ extend-pad$(EXEEXT) \ filter-nearest-offset$(EXEEXT) \ -filter-bilinear-extents$(EXEEXT) \ long-lines$(EXEEXT) \ self-copy-overlap$(EXEEXT) \ self-intersecting$(EXEEXT) \ diff --git a/test/filter-bilinear-extents-pdf-ref.png b/test/filter-bilinear-extents-pdf-ref.png new file mode 100644 index 0000000000000000000000000000000000000000..014b7152164f584d0c1536e1a3d2c65b6079f97c GIT binary patch literal 798 zcmV+(1L6FMP)z7E*JWnOvceo5{?j;nUb?+PMdj zQDj8>S)i@bOe&LxFePFOPwwn2HD-;p-vGr1GmWL4$SBj<8?+uBeAC)!F9npCo2qH93t?)49TWz!*q{iVC)1g$HF~v8 zu59@4E8du!~w10Y|(!(WVMwvbl}vzg;*~=Rnr&y zQ&Qik+<9{6$!IUuqc`Yv`p*MRNxc$Ti$VvUnqG9Orq@Zmv~%alAO1mw(b1qYYCiCQ za~5bS|k1|%Oc%$NbB*pj^6T^Rm@;DWu&Cj&*2JY5_^ zB3j>GG30A7;9)sv{OEr?pYEa)v)E$ZT$#A3sBmgZ>V(Jd8`PUS9FHgzU21;kakYE8 z^<%vh0mBXn7ak>1naB5-^dlbpZbuUAUHb3Z4sJ=HG}}aOtMBZta$c9W0&QdPboFyt I=akR{0OD>uwg3PC literal 0 HcmV?d00001 diff --git a/test/filter-bilinear-extents-ps3-ref.png b/test/filter-bilinear-extents-ps3-ref.png new file mode 100644 index 0000000000000000000000000000000000000000..da58907eb9f8834b68a9b038aa705d4008e75bc2 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB*pj^6T^Rm@;DWu&Cj&*2JY5_^ zB3j>GG30A7;9)sv{OEr?pYEa)v)E$ZT$#A3sBmgZ>V(Jd8`PUS9FHgzU21;kakYE8 z^<%vh0mBXn7ak>1naB5-^dlbpZbuUAUHb3Z4sJ=HG}}aOtMBZta$c9W0&QdPboFyt I=akR{0OD>uwg3PC literal 0 HcmV?d00001