aboutsummaryrefslogtreecommitdiffstats
path: root/third_party/webrender/wrench
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/webrender/wrench')
-rw-r--r--third_party/webrender/wrench/Cargo.toml22
-rw-r--r--third_party/webrender/wrench/README.md27
-rw-r--r--third_party/webrender/wrench/android.txt7
-rw-r--r--third_party/webrender/wrench/benchmarks/large-blur-radius.yaml2
-rw-r--r--third_party/webrender/wrench/invalidation/basic.yaml6
-rw-r--r--third_party/webrender/wrench/invalidation/composite_nop_1.yaml6
-rw-r--r--third_party/webrender/wrench/invalidation/composite_nop_2.yaml6
-rw-r--r--third_party/webrender/wrench/reftests/aa/reftest.list2
-rw-r--r--third_party/webrender/wrench/reftests/aa/rounded-rects-ref.pngbin10886 -> 10881 bytes
-rw-r--r--third_party/webrender/wrench/reftests/backface/backface-flatten.yaml31
-rw-r--r--third_party/webrender/wrench/reftests/backface/backface-vis-3d.yaml16
-rw-r--r--third_party/webrender/wrench/reftests/backface/reftest.list2
-rw-r--r--third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.pngbin18255 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.yaml52
-rw-r--r--third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop-ref.yaml6
-rw-r--r--third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop.yaml29
-rw-r--r--third_party/webrender/wrench/reftests/blend/reftest.list10
-rw-r--r--third_party/webrender/wrench/reftests/border/border-clamp-corner-radius.pngbin12265 -> 12198 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-dashed-dotted-caching.pngbin6793 -> 6863 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-gradient-nine-patch.pngbin1283 -> 1051 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-empty-slice-ref.pngbin9635 -> 16010 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-fill-2-ref.pngbin25443 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-fill-2.yaml55
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-fill-ref.pngbin20384 -> 28383 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-ref.pngbin5519 -> 4044 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-round-ref.pngbin14815 -> 20108 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-image-src-2.pngbin2215 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-no-bogus-line-ref.pngbin2294 -> 2253 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-radial-gradient-nine-patch.pngbin2394 -> 977 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-radii.pngbin1035 -> 1130 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-suite-2.pngbin48233 -> 48919 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-suite-3.pngbin25873 -> 26021 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/border-suite.pngbin64319 -> 64147 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/degenerate-curve.pngbin20687 -> 20581 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/dotted-corner-small-radius.pngbin8741 -> 8724 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/overlapping.pngbin4074 -> 4096 bytes
-rw-r--r--third_party/webrender/wrench/reftests/border/reftest.list25
-rw-r--r--third_party/webrender/wrench/reftests/border/small-dotted-border.pngbin1551 -> 1556 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-border-radii.pngbin11567 -> 12336 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-cache.pngbin33603 -> 35970 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-huge-radius.pngbin15792 -> 16290 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.pngbin125598 -> 151753 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.pngbin56821 -> 60187 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-spread.pngbin7573 -> 7471 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.pngbin13529 -> 16139 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.pngbin5612 -> 6245 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-blur.pngbin86873 -> 86569 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-no-blur.pngbin21209 -> 21181 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/boxshadow-spread-only-ref.pngbin19562 -> 19279 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-alpha.pngbin1619 -> 1670 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-border-radius.pngbin3016 -> 3711 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-downscale.pngbin12980 -> 13809 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-large-offset-ref.pngbin4086 -> 2472 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-mask-region.pngbin24233 -> 23384 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-neg-offset.pngbin3048 -> 3607 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-no-blur-radius-ref.pngbin672 -> 674 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-offset.pngbin3114 -> 3500 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/inset-subpx.pngbin1809 -> 1810 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/no-stretch.pngbin4020 -> 3957 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/overlap1.pngbin10907 -> 11085 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/overlap2.pngbin8491 -> 8490 bytes
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/reftest.list12
-rw-r--r--third_party/webrender/wrench/reftests/boxshadow/scale.pngbin13669 -> 13527 bytes
-rw-r--r--third_party/webrender/wrench/reftests/clip/blend-container-ref.yaml6
-rw-r--r--third_party/webrender/wrench/reftests/clip/blend-container.yaml15
-rw-r--r--third_party/webrender/wrench/reftests/clip/border-with-rounded-clip.pngbin1846 -> 1900 bytes
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-45-degree-rotation-ref.pngbin13211 -> 13358 bytes
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-ellipse.pngbin9542 -> 9486 bytes
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-filter-raster-root-ref.yaml16
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-filter-raster-root.yaml23
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-mode.pngbin2783 -> 2740 bytes
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc-ref.yaml7
-rw-r--r--third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc.yaml16
-rw-r--r--third_party/webrender/wrench/reftests/clip/reftest.list9
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/basic-ref.yaml18
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/basic.yaml22
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/blank.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/mix-blend-ref.yaml17
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/mix-blend.yaml20
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/picture-passthrough.yaml15
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/reftest.list4
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces-ref.yaml31
-rw-r--r--third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces.yaml39
-rw-r--r--third_party/webrender/wrench/reftests/filters/backdrop-filter-basic.yaml1
-rw-r--r--third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.pngbin60124 -> 60142 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.yaml1
-rw-r--r--third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.pngbin16589 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.yaml22
-rw-r--r--third_party/webrender/wrench/reftests/filters/blend-clipped.pngbin2099 -> 2102 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/drop-shadow-inverse-scale.yaml14
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-clamping-ref.yaml4
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-clamping.yaml4
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-huge.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-scaled-ref.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.pngbin3364 -> 3214 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur-scaled.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur.pngbin54549 -> 58574 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-blur.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-2.pngbin3046 -> 3115 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-3.pngbin32966 -> 37433 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip.pngbin12109 -> 12738 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.pngbin10325 -> 12248 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-drop-shadow.pngbin78700 -> 79646 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.pngbin109624 -> 115399 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-long-chain.pngbin23150 -> 20983 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-long-chain.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.pngbin17400 -> 17466 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/filters/reftest.list20
-rw-r--r--third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.pngbin5728 -> 6159 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.yaml3
-rw-r--r--third_party/webrender/wrench/reftests/filters/svg-filter-blur.yaml3
-rw-r--r--third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-on-viewport-edge.pngbin11449 -> 12410 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-perspective.pngbin12687 -> 13036 bytes
-rw-r--r--third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow.pngbin79321 -> 79573 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/conic-center.pngbin1695 -> 3117 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/conic-color-wheel.pngbin35963 -> 36018 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/conic-large-ref.yaml16
-rw-r--r--third_party/webrender/wrench/reftests/gradient/conic-large.yaml12
-rw-r--r--third_party/webrender/wrench/reftests/gradient/conic-nan.yaml41
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-aligned-border-radius.pngbin6851 -> 6832 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-bug-1703141.yaml12
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-far-endpoints.yaml10
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-hard-stop-ref.pngbin2031 -> 2026 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-large-ref.yaml12
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-large.yaml8
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-nan.yaml213
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-ref.pngbin3227 -> 3576 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-repeat-clip-ref.yaml8
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-repeat-clip.yaml13
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-reverse-2-ref.yaml9
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-reverse-2.yaml9
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-reverse-3-ref.yaml13
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-reverse-3.yaml13
-rw-r--r--third_party/webrender/wrench/reftests/gradient/linear-stops-ref.pngbin7360 -> 912 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/premultiplied-aligned.pngbin11635 -> 12560 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/premultiplied-angle.pngbin18487 -> 18453 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-circle-ref.pngbin27523 -> 48655 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-ellipse-ref.pngbin22812 -> 39749 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-large-ref.pngbin36904 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-large.yaml8
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-nan.yaml35
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-optimized-2-ref.yaml8
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-optimized-2.yaml8
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-optimized-ref.yaml33
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-optimized.yaml12
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized-ref.yaml24
-rw-r--r--third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized.yaml13
-rw-r--r--third_party/webrender/wrench/reftests/gradient/reftest.list40
-rw-r--r--third_party/webrender/wrench/reftests/gradient/repeat-border-radius.pngbin31999 -> 31964 bytes
-rw-r--r--third_party/webrender/wrench/reftests/image/downscale.pngbin10613 -> 14074 bytes
-rw-r--r--third_party/webrender/wrench/reftests/image/occlusion.pngbin57660 -> 49427 bytes
-rw-r--r--third_party/webrender/wrench/reftests/image/reftest.list5
-rw-r--r--third_party/webrender/wrench/reftests/image/segments.pngbin7200 -> 7182 bytes
-rw-r--r--third_party/webrender/wrench/reftests/image/yuv-clip.yaml24
-rw-r--r--third_party/webrender/wrench/reftests/image/yuv.pngbin620802 -> 621771 bytes
-rw-r--r--third_party/webrender/wrench/reftests/invalidation/one-rounded-rect-green.yaml17
-rw-r--r--third_party/webrender/wrench/reftests/invalidation/one-rounded-rect.yaml17
-rw-r--r--third_party/webrender/wrench/reftests/invalidation/reftest.list1
-rw-r--r--third_party/webrender/wrench/reftests/invalidation/rounded-rects.yaml42
-rw-r--r--third_party/webrender/wrench/reftests/invalidation/two-rounded-rects.yaml27
-rw-r--r--third_party/webrender/wrench/reftests/mask/checkerboard.pngbin4958 -> 11433 bytes
-rw-r--r--third_party/webrender/wrench/reftests/mask/circle.pngbin4928 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/mask/mask-perspective.pngbin279 -> 311 bytes
-rw-r--r--third_party/webrender/wrench/reftests/mask/reftest.list9
-rw-r--r--third_party/webrender/wrench/reftests/mask/rounded-corners.pngbin1697 -> 1720 bytes
-rw-r--r--third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.pngbin5314 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.yaml27
-rw-r--r--third_party/webrender/wrench/reftests/performance/no-clip-mask.pngbin3201 -> 2776 bytes
-rw-r--r--third_party/webrender/wrench/reftests/reftest.list2
-rw-r--r--third_party/webrender/wrench/reftests/scrolling/ancestor-scroll-frames.yaml37
-rw-r--r--third_party/webrender/wrench/reftests/scrolling/blank.yaml2
-rw-r--r--third_party/webrender/wrench/reftests/scrolling/reftest.list2
-rw-r--r--third_party/webrender/wrench/reftests/scrolling/scale-offsets.yaml1
-rw-r--r--third_party/webrender/wrench/reftests/scrolling/scroll-frame-order-ref.yaml34
-rw-r--r--third_party/webrender/wrench/reftests/scrolling/scroll-frame-order.yaml35
-rw-r--r--third_party/webrender/wrench/reftests/snap/preserve-3d.pngbin6837 -> 6807 bytes
-rw-r--r--third_party/webrender/wrench/reftests/snap/reftest.list1
-rw-r--r--third_party/webrender/wrench/reftests/snap/snap.pngbin164 -> 2885 bytes
-rw-r--r--third_party/webrender/wrench/reftests/snap/subpixel-raster-root-ref.yaml7
-rw-r--r--third_party/webrender/wrench/reftests/snap/subpixel-raster-root.yaml13
-rw-r--r--third_party/webrender/wrench/reftests/snap/transform.pngbin412 -> 3012 bytes
-rw-r--r--third_party/webrender/wrench/reftests/split/reftest.list4
-rw-r--r--third_party/webrender/wrench/reftests/split/same-plane.pngbin4279 -> 4279 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/alpha-transform.pngbin23933 -> 23930 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/blurred-shadow-local-clip-rect-ref.pngbin19462 -> 19504 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/border-radius-alpha.pngbin14077 -> 14101 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/border-radius-subpx.pngbin14413 -> 14411 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/clipped-transform.pngbin1790 -> 1792 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/colors-alpha.pngbin101403 -> 93670 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/colors-subpx.pngbin133545 -> 132119 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/decorations-suite.pngbin23230 -> 24087 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/isolated-text.pngbin7159 -> 6737 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/perspective-clip.pngbin1755 -> 1753 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/raster-space.pngbin62103 -> 64740 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/raster-space.yaml1
-rw-r--r--third_party/webrender/wrench/reftests/text/reftest.list40
-rw-r--r--third_party/webrender/wrench/reftests/text/shadow-transforms.pngbin95237 -> 96541 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/subpixel-rotate.pngbin19021 -> 19021 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/subpixel-scale.pngbin14069 -> 14063 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/subpixel-skew.pngbin15332 -> 15337 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/text-fixed-slice-fast.pngbin5353 -> 5025 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/text-fixed-slice-slow.pngbin7081 -> 6024 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/text-fixed-slice.yaml7
-rw-r--r--third_party/webrender/wrench/reftests/text/text-masking-alpha.pngbin19118 -> 18885 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/text-masking-subpx.pngbin29047 -> 28989 bytes
-rw-r--r--third_party/webrender/wrench/reftests/text/two-shadows.pngbin11313 -> 11350 bytes
-rw-r--r--third_party/webrender/wrench/reftests/tiles/mix-blend-clip-ref.yaml14
-rw-r--r--third_party/webrender/wrench/reftests/tiles/mix-blend-clip.yaml27
-rw-r--r--third_party/webrender/wrench/reftests/tiles/reftest.list4
-rw-r--r--third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.pngbin11235 -> 0 bytes
-rw-r--r--third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.yaml40
-rw-r--r--third_party/webrender/wrench/reftests/transforms/border-scale-2.pngbin4234 -> 6817 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/border-scale-3.pngbin4058 -> 6562 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/border-scale-4.pngbin4064 -> 6545 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/border-scale.pngbin4879 -> 7232 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/border-zoom.pngbin26360 -> 27613 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/coord-system.pngbin3711 -> 4234 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/flatten-all-flat-ref.yaml18
-rw-r--r--third_party/webrender/wrench/reftests/transforms/flatten-all-flat.yaml20
-rw-r--r--third_party/webrender/wrench/reftests/transforms/image-rotated-clip.pngbin3816 -> 3824 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/local-clip.pngbin2129 -> 2138 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/near-plane-clip.pngbin69834 -> 69832 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/nested-preserve-3d.pngbin3793 -> 3830 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/nested-rotate-x-flat.pngbin4539 -> 4593 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/nested-rotate-x.pngbin3789 -> 3832 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/non-inversible-world-rect.yaml23
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective-border-radius.pngbin11453 -> 11839 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective-clip-1.pngbin2004 -> 2019 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective-clip.pngbin17183 -> 16932 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective-mask.pngbin2206 -> 2285 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective-origin.pngbin46890 -> 47142 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective-shadow.pngbin9496 -> 10342 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/perspective.pngbin128029 -> 134799 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/prim-suite.pngbin49076 -> 48510 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/raster-root-huge-scale.yaml10
-rw-r--r--third_party/webrender/wrench/reftests/transforms/reftest.list20
-rw-r--r--third_party/webrender/wrench/reftests/transforms/rotated-clip-large.pngbin7183 -> 7420 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/rotated-clip.pngbin3767 -> 3789 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/rotated-image.pngbin7396 -> 7441 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/screen-space-blit-trivial.pngbin74560 -> 75011 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/screen-space-blit.pngbin72987 -> 73453 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/screen-space-blur.pngbin231537 -> 234783 bytes
-rw-r--r--third_party/webrender/wrench/reftests/transforms/screen-space-blur.yaml4
-rwxr-xr-xthird_party/webrender/wrench/script/headless.py16
-rw-r--r--third_party/webrender/wrench/src/args.yaml42
-rw-r--r--third_party/webrender/wrench/src/egl.rs2
-rw-r--r--third_party/webrender/wrench/src/main.rs92
-rw-r--r--third_party/webrender/wrench/src/perf.rs2
-rw-r--r--third_party/webrender/wrench/src/rawtest.rs105
-rw-r--r--third_party/webrender/wrench/src/reftest.rs42
-rw-r--r--third_party/webrender/wrench/src/test_invalidation.rs129
-rw-r--r--third_party/webrender/wrench/src/wrench.rs23
-rw-r--r--third_party/webrender/wrench/src/yaml_frame_reader.rs62
-rw-r--r--third_party/webrender/wrench/src/yaml_helper.rs9
257 files changed, 447 insertions, 1846 deletions
diff --git a/third_party/webrender/wrench/Cargo.toml b/third_party/webrender/wrench/Cargo.toml
index f51e4202ff2..5595ced68e2 100644
--- a/third_party/webrender/wrench/Cargo.toml
+++ b/third_party/webrender/wrench/Cargo.toml
@@ -7,25 +7,30 @@ license = "MPL-2.0"
edition = "2018"
[dependencies]
-base64 = "0.12"
+base64 = "0.10"
+bincode = "1.0"
+byteorder = "1.0"
env_logger = { version = "0.5", optional = true }
-gleam = "0.15"
+euclid = "0.22"
+gleam = "0.12"
glutin = "0.21"
+app_units = "0.7"
clap = { version = "2", features = ["yaml"] }
log = "0.4"
yaml-rust = "0.4"
serde_json = "1.0"
+ron = "0.5"
time = "0.1"
chrono = "0.2"
crossbeam = "0.2"
osmesa-sys = { version = "0.1.2", optional = true }
-osmesa-src = { version = "0.2", git = "https://github.com/servo/osmesa-src", optional = true }
-webrender = { path = "../webrender", features = ["capture", "replay", "png", "profiler", "no_static_freetype", "leak_checks"] }
+osmesa-src = { git = "https://github.com/servo/osmesa-src", optional = true }
+webrender = {path = "../webrender", features=["capture","replay","debugger","png","profiler","no_static_freetype", "leak_checks"]}
+webrender_api = {path = "../webrender_api", features=["serialize","deserialize"]}
winit = "0.19"
-serde = { version = "1.0", features = ["derive"] }
+serde = {version = "1.0", features = ["derive"] }
semver = "0.9.0"
swgl = { path = "../swgl", optional = true }
-tracy-rs = "0.1.2"
[dependencies.image]
version = "0.23"
@@ -43,7 +48,7 @@ software = [ "swgl" ]
[target.'cfg(target_os = "windows")'.dependencies]
dwrote = "0.11"
-mozangle = { version = "0.3.2", features = ["egl"] }
+mozangle = {version = "0.3.1", features = ["egl"]}
[target.'cfg(all(unix, not(target_os = "android")))'.dependencies]
font-loader = "0.11"
@@ -52,8 +57,7 @@ font-loader = "0.11"
[package.metadata.android]
package_name = "org.mozilla.wrench"
label = "Wrench"
-# keep it in sync with android-sdk-version in android-sdk.configure
-android_version = 30
+android_version = 29
target_sdk_version = 18
min_sdk_version = 18
fullscreen = true
diff --git a/third_party/webrender/wrench/README.md b/third_party/webrender/wrench/README.md
index 6a60c6bb56c..1119a27112e 100644
--- a/third_party/webrender/wrench/README.md
+++ b/third_party/webrender/wrench/README.md
@@ -2,20 +2,29 @@
`wrench` is a tool for debugging webrender outside of a browser engine.
-## Build
-
-Build `wrench` with `cargo build --release` within the `wrench` directory.
-
## headless
`wrench` has an optional headless mode for use in continuous integration. To run in headless mode, instead of using `cargo run -- args`, use `./headless.py args`.
-## `show`
+## `replay` and `show`
+
+Binary recordings can be generated by webrender and replayed with `wrench replay`. Enable binary recording in `RendererOptions`.
+
+```rust
+RendererOptions {
+ ...
+ recorder: Some(Box::new(BinaryRecorder::new("wr-frame.bin"))),
+ ...
+}
+```
+
+If you are working on gecko integration you can enable recording in `webrender_bindings/src/bindings.rs` by setting
+
+```rust
+static ENABLE_RECORDING: bool = true;
+```
-If you are working on gecko integration you can capture a frame via the following steps.
-* Visit about:support and check that the "Compositing" value in the "Graphics" table says "WebRender". Enable `gfx.webrender.all` in about:config if necessary to enable WebRender.
-* Hit ctrl-shift-3 to capture the frame. The data will be put in `~/wr-capture`.
-* View the capture with `wrench show ~/wr-capture`.
+`wrench replay --save yaml` will convert the recording into frames described in yaml. Frames can then be replayed with `wrench show`.
## `reftest`
diff --git a/third_party/webrender/wrench/android.txt b/third_party/webrender/wrench/android.txt
index 35f5863c91d..7ff0ac0eb1d 100644
--- a/third_party/webrender/wrench/android.txt
+++ b/third_party/webrender/wrench/android.txt
@@ -10,10 +10,9 @@ Follow the steps at https://github.com/rust-windowing/android-rs-glue#setting-up
- Install both the i686-linux-android and armv7-linux-androideabi rust
targets, as the APK will include native libraries with both architectures.
- - Don't install currently published version of cargo-apk as it doesn't work with the
- version of winit and glutin we are using.
- Instead, install the git master version of our fork like so:
- cargo install --git https://github.com/jamienicol/android-rs-glue cargo-apk
+ - Don't install currently published version of cargo-apk (it doesn't support newer NDKs).
+ Instead, install the git master version like so:
+ cargo install --git https://github.com/rust-windowing/android-rs-glue cargo-apk
- Consider adding ~/.mozbuild/android-sdk-linux/platform-tools to your path, for the adb commands below.
diff --git a/third_party/webrender/wrench/benchmarks/large-blur-radius.yaml b/third_party/webrender/wrench/benchmarks/large-blur-radius.yaml
index 55cfec76439..927e4237656 100644
--- a/third_party/webrender/wrench/benchmarks/large-blur-radius.yaml
+++ b/third_party/webrender/wrench/benchmarks/large-blur-radius.yaml
@@ -3,7 +3,7 @@ root:
items:
- type: stacking-context
bounds: 100 100 1024 1024
- filters: blur(100, 100)
+ filters: blur(100)
items:
- type: rect
bounds: 0 0 1024 1024
diff --git a/third_party/webrender/wrench/invalidation/basic.yaml b/third_party/webrender/wrench/invalidation/basic.yaml
deleted file mode 100644
index c7d1b6f4502..00000000000
--- a/third_party/webrender/wrench/invalidation/basic.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-root:
- items:
- - type: rect
- color: red
- bounds: 100 100 500 100
diff --git a/third_party/webrender/wrench/invalidation/composite_nop_1.yaml b/third_party/webrender/wrench/invalidation/composite_nop_1.yaml
deleted file mode 100644
index ce6cc46977f..00000000000
--- a/third_party/webrender/wrench/invalidation/composite_nop_1.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-root:
- items:
- - type: rect
- color: red
- bounds: 100 100 100 100
diff --git a/third_party/webrender/wrench/invalidation/composite_nop_2.yaml b/third_party/webrender/wrench/invalidation/composite_nop_2.yaml
deleted file mode 100644
index a99663ed549..00000000000
--- a/third_party/webrender/wrench/invalidation/composite_nop_2.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-root:
- items:
- - type: rect
- color: red
- bounds: 100 120 100 100
diff --git a/third_party/webrender/wrench/reftests/aa/reftest.list b/third_party/webrender/wrench/reftests/aa/reftest.list
index a7490085d0d..af7f1da1b36 100644
--- a/third_party/webrender/wrench/reftests/aa/reftest.list
+++ b/third_party/webrender/wrench/reftests/aa/reftest.list
@@ -1,3 +1,3 @@
-skip_on(android) fuzzy(1,1) fuzzy-if(platform(swgl),4,27) == rounded-rects.yaml rounded-rects-ref.png # Too wide for Android
+skip_on(android) == rounded-rects.yaml rounded-rects-ref.png # Too wide for Android
== aa-dist-bug.yaml aa-dist-bug-ref.yaml
== fractional-radii.yaml fractional-radii-ref.yaml
diff --git a/third_party/webrender/wrench/reftests/aa/rounded-rects-ref.png b/third_party/webrender/wrench/reftests/aa/rounded-rects-ref.png
index 73fb98446b7..441f2ac93d9 100644
--- a/third_party/webrender/wrench/reftests/aa/rounded-rects-ref.png
+++ b/third_party/webrender/wrench/reftests/aa/rounded-rects-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/backface/backface-flatten.yaml b/third_party/webrender/wrench/reftests/backface/backface-flatten.yaml
deleted file mode 100644
index e754d45bc94..00000000000
--- a/third_party/webrender/wrench/reftests/backface/backface-flatten.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-# In this test, there is a flattened ref frame between an element
-# and the picture it's rendered into. The element should be considered
-# invisible as it's back face oriented at this flattening step.
-# If WR only checks the "final" transform, it will consider it visible.
-
----
-root:
- transform: rotate-x(1)
- items:
- - type: stacking-context
- transform-style: preserve-3d
- #transform: rotate-x(1)
- items:
- - type: stacking-context
- bounds: 0 0 200 200
- transform: rotate-y(30)
- transform-style: flat
- items:
- - type: stacking-context
- bounds: 0 0 200 200
- transform: rotate-y(-100)
- transform-style: preserve-3d
- items:
- - type: stacking-context
- #transform: rotate-x(1)
- transform-style: flat
- items:
- - type: rect
- bounds: 0 0 200 200
- color: green
- backface-visible: false
diff --git a/third_party/webrender/wrench/reftests/backface/backface-vis-3d.yaml b/third_party/webrender/wrench/reftests/backface/backface-vis-3d.yaml
deleted file mode 100644
index c58026a5cc0..00000000000
--- a/third_party/webrender/wrench/reftests/backface/backface-vis-3d.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Verifies that a 3d context selects the correct reference (containing block) spatial node.
-root:
- items:
- - type: stacking-context
- bounds: 100 0 100 100
- transform: scale-x(-1)
- items:
- - type: stacking-context
- bounds: 0 0 100 100
- transform: rotate-y(180)
- transform-style: preserve-3d
- items:
- - type: rect
- bounds: 0 0 100 100
- color: red
- backface-visible: false
diff --git a/third_party/webrender/wrench/reftests/backface/reftest.list b/third_party/webrender/wrench/reftests/backface/reftest.list
index 70ab29b4a45..ec21edb22f9 100644
--- a/third_party/webrender/wrench/reftests/backface/reftest.list
+++ b/third_party/webrender/wrench/reftests/backface/reftest.list
@@ -5,5 +5,3 @@
== backface-picture.yaml backface-picture-ref.yaml
== backface-double-flip.yaml blank.yaml
== backface-both-sides.yaml backface-both-sides-ref.yaml
-== backface-vis-3d.yaml blank.yaml
-== backface-flatten.yaml blank.yaml
diff --git a/third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.png b/third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.png
deleted file mode 100644
index c88dccb864f..00000000000
--- a/third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.yaml b/third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.yaml
deleted file mode 100644
index 33a1ab691c0..00000000000
--- a/third_party/webrender/wrench/reftests/blend/mix-blend-complex-transform.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
----
-root:
- items:
- - type: stacking-context
- transform: [
- 1, 0, 0, 0,
- 0.3443276, 1, 0, 0,
- 0, 0, 1, 0,
- -1822.09131, 0, 0, 1
- ]
- bounds: 12 12 0 0
- items:
- - type: clip
- bounds: 0 0 1884 1290
- id: 2
- - type: stacking-context
- transform: [
- 1, 0, 0, 0,
- -0.3443276, 1, 0, 0,
- 0, 0, 1, 0,
- 444.18262, 0, 0, 1
- ]
- items:
- - type: stacking-context
- clip-node: 2
- transform: [
- 1, 0, 0, 0,
- 0.3443276, 1, 0, 0,
- 0, 0, 1, 0,
- -444.18262, 0, 0, 1
- ]
- items:
- - type: stacking-context
- items:
- - type: stacking-context
- blend-container: true
- items:
- - type: stacking-context
- mix-blend-mode: multiply
- items:
- - type: stacking-context
- bounds: 1436 0 0 0
- transform: [
- 1, 0, 0, 0,
- -0.3443276, 1, 0, 0,
- 0, 0, 1, 0,
- 444.18262, 0, 0, 1
- ]
- items:
- - type: rect
- color: red
- bounds: 0 0 113.025 1290
diff --git a/third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop-ref.yaml b/third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop-ref.yaml
deleted file mode 100644
index 1e204cb3385..00000000000
--- a/third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop-ref.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-root:
- items:
- - type: rect
- bounds: [0, 0, 100, 100]
- color: red
diff --git a/third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop.yaml b/third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop.yaml
deleted file mode 100644
index e5f56e74c1b..00000000000
--- a/third_party/webrender/wrench/reftests/blend/mix-blend-invalid-backdrop.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-# Test that if the parent surface is clipped such that there
-# is no backdrop rect available, no crash occurs and output
-# is as expected (a no-op mix-blend)
----
-root:
- items:
- # Ensure a filter is placed here to force this mix-blend to isolate from
- # the tile cache backdrop - otherwise the surface won't get clipped, which
- # is what we're trying to test.
- - type: stacking-context
- filters: [identity]
- items:
- - type: clip
- id: 2
- bounds: [0, 0, 100, 100]
- - type: stacking-context
- blend-container: true
- clip-node: 2
- items:
- - type: rect
- bounds: [0, 0, 100, 100]
- color: red
- - type: stacking-context
- bounds: [100, 0, 100, 100]
- mix-blend-mode: multiply
- items:
- - type: rect
- bounds: [0, 0, 100, 100]
- color: green
diff --git a/third_party/webrender/wrench/reftests/blend/reftest.list b/third_party/webrender/wrench/reftests/blend/reftest.list
index f1621b20903..e533e36ce06 100644
--- a/third_party/webrender/wrench/reftests/blend/reftest.list
+++ b/third_party/webrender/wrench/reftests/blend/reftest.list
@@ -1,10 +1,10 @@
== multiply.yaml multiply-ref.yaml
fuzzy(1,32) == multiply-2.yaml multiply-2-ref.yaml
-fuzzy(1,32) == color_targets(3) alpha_targets(0) multiply-3.yaml multiply-2-ref.yaml
+fuzzy(1,32) == color_targets(4) alpha_targets(0) multiply-3.yaml multiply-2-ref.yaml
== difference.yaml difference-ref.yaml
fuzzy(1,30000) == difference-transparent.yaml difference-transparent-ref.yaml
-fuzzy-if(platform(swgl),1,10000) == darken.yaml darken-ref.yaml
-fuzzy-if(platform(swgl),1,10000) == lighten.yaml lighten-ref.yaml
+== darken.yaml darken-ref.yaml
+== lighten.yaml lighten-ref.yaml
fuzzy(1,32) == repeated-difference.yaml repeated-difference-ref.yaml
@@ -21,6 +21,4 @@ fuzzy(3,397) == isolated-2.yaml isolated-2-ref.yaml
fuzzy(1,2502) == transparent-composite-1.yaml transparent-composite-1-ref.yaml
fuzzy(1,2502) == transparent-composite-2.yaml transparent-composite-2-ref.yaml
-fuzzy(2,420) == multi-mix-blend-mode.yaml multi-mix-blend-mode-ref.yaml
-== mix-blend-invalid-backdrop.yaml mix-blend-invalid-backdrop-ref.yaml
-platform(linux) == mix-blend-complex-transform.yaml mix-blend-complex-transform.png
+fuzzy(2,324) == multi-mix-blend-mode.yaml multi-mix-blend-mode-ref.yaml
diff --git a/third_party/webrender/wrench/reftests/border/border-clamp-corner-radius.png b/third_party/webrender/wrench/reftests/border/border-clamp-corner-radius.png
index cf20fb59902..bdeda438645 100644
--- a/third_party/webrender/wrench/reftests/border/border-clamp-corner-radius.png
+++ b/third_party/webrender/wrench/reftests/border/border-clamp-corner-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-dashed-dotted-caching.png b/third_party/webrender/wrench/reftests/border/border-dashed-dotted-caching.png
index 14a79cd475a..652efde994c 100644
--- a/third_party/webrender/wrench/reftests/border/border-dashed-dotted-caching.png
+++ b/third_party/webrender/wrench/reftests/border/border-dashed-dotted-caching.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-gradient-nine-patch.png b/third_party/webrender/wrench/reftests/border/border-gradient-nine-patch.png
index c984cf90151..7ab8c3df601 100644
--- a/third_party/webrender/wrench/reftests/border/border-gradient-nine-patch.png
+++ b/third_party/webrender/wrench/reftests/border/border-gradient-nine-patch.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-image-empty-slice-ref.png b/third_party/webrender/wrench/reftests/border/border-image-empty-slice-ref.png
index 8ba6808ac90..103fdb57f65 100644
--- a/third_party/webrender/wrench/reftests/border/border-image-empty-slice-ref.png
+++ b/third_party/webrender/wrench/reftests/border/border-image-empty-slice-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-image-fill-2-ref.png b/third_party/webrender/wrench/reftests/border/border-image-fill-2-ref.png
deleted file mode 100644
index 5bb7dc8fb2a..00000000000
--- a/third_party/webrender/wrench/reftests/border/border-image-fill-2-ref.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-image-fill-2.yaml b/third_party/webrender/wrench/reftests/border/border-image-fill-2.yaml
deleted file mode 100644
index 653c4f34e45..00000000000
--- a/third_party/webrender/wrench/reftests/border/border-image-fill-2.yaml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-root:
- items:
- - type: stacking-context
- bounds: [0, 0, 500, 500]
- items:
- - type: border
- bounds: [ 20, 20, 200, 200 ]
- width: [20, 40]
- border-type: image
- image-source: "border-image-src-2.png"
- image-width: 100
- image-height: 50
- slice: [ 20, 40 ]
- outset: 0
- repeat-vertical: repeat
- repeat-horizontal: repeat
- fill: true
- - type: border
- bounds: [ 240, 20, 200, 200 ]
- width: [20, 40]
- slice: [ 20, 40 ]
- border-type: image
- image-source: "border-image-src-2.png"
- image-width: 100
- image-height: 50
- slice: [ 20, 40 ]
- outset: 0
- repeat-vertical: stretch
- repeat-horizontal: repeat
- fill: true
- - type: border
- bounds: [ 20, 240, 200, 200 ]
- width: [20, 40]
- border-type: image
- image-source: "border-image-src-2.png"
- image-width: 100
- image-height: 50
- slice: [ 20, 40 ]
- outset: 0
- repeat-vertical: repeat
- repeat-horizontal: stretch
- fill: true
- - type: border
- bounds: [ 240, 240, 200, 200 ]
- width: [20, 40]
- border-type: image
- image-source: "border-image-src-2.png"
- image-width: 100
- image-height: 50
- slice: [ 20, 40 ]
- outset: 0
- repeat-vertical: stretch
- repeat-horizontal: stretch
- fill: true
diff --git a/third_party/webrender/wrench/reftests/border/border-image-fill-ref.png b/third_party/webrender/wrench/reftests/border/border-image-fill-ref.png
index 9d618bc76e6..41627d94557 100644
--- a/third_party/webrender/wrench/reftests/border/border-image-fill-ref.png
+++ b/third_party/webrender/wrench/reftests/border/border-image-fill-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-image-ref.png b/third_party/webrender/wrench/reftests/border/border-image-ref.png
index 73e4eb52560..0ae931a7777 100644
--- a/third_party/webrender/wrench/reftests/border/border-image-ref.png
+++ b/third_party/webrender/wrench/reftests/border/border-image-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-image-round-ref.png b/third_party/webrender/wrench/reftests/border/border-image-round-ref.png
index 62a18fbba90..46a128f39e5 100644
--- a/third_party/webrender/wrench/reftests/border/border-image-round-ref.png
+++ b/third_party/webrender/wrench/reftests/border/border-image-round-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-image-src-2.png b/third_party/webrender/wrench/reftests/border/border-image-src-2.png
deleted file mode 100644
index 5ebebaf21f2..00000000000
--- a/third_party/webrender/wrench/reftests/border/border-image-src-2.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-no-bogus-line-ref.png b/third_party/webrender/wrench/reftests/border/border-no-bogus-line-ref.png
index 1310e99f792..fefa2bcbced 100644
--- a/third_party/webrender/wrench/reftests/border/border-no-bogus-line-ref.png
+++ b/third_party/webrender/wrench/reftests/border/border-no-bogus-line-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-radial-gradient-nine-patch.png b/third_party/webrender/wrench/reftests/border/border-radial-gradient-nine-patch.png
index 9fa19d215bc..fd1ed84b8db 100644
--- a/third_party/webrender/wrench/reftests/border/border-radial-gradient-nine-patch.png
+++ b/third_party/webrender/wrench/reftests/border/border-radial-gradient-nine-patch.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-radii.png b/third_party/webrender/wrench/reftests/border/border-radii.png
index 7a4bc340eba..87d5b674fd9 100644
--- a/third_party/webrender/wrench/reftests/border/border-radii.png
+++ b/third_party/webrender/wrench/reftests/border/border-radii.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-suite-2.png b/third_party/webrender/wrench/reftests/border/border-suite-2.png
index cb43146c820..519e43fc52e 100644
--- a/third_party/webrender/wrench/reftests/border/border-suite-2.png
+++ b/third_party/webrender/wrench/reftests/border/border-suite-2.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-suite-3.png b/third_party/webrender/wrench/reftests/border/border-suite-3.png
index b2b7d7347cc..dcd6f5d7602 100644
--- a/third_party/webrender/wrench/reftests/border/border-suite-3.png
+++ b/third_party/webrender/wrench/reftests/border/border-suite-3.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/border-suite.png b/third_party/webrender/wrench/reftests/border/border-suite.png
index 8e8870afdf7..8ab844c5856 100644
--- a/third_party/webrender/wrench/reftests/border/border-suite.png
+++ b/third_party/webrender/wrench/reftests/border/border-suite.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/degenerate-curve.png b/third_party/webrender/wrench/reftests/border/degenerate-curve.png
index 9a4eb6736f0..9c3805e33e5 100644
--- a/third_party/webrender/wrench/reftests/border/degenerate-curve.png
+++ b/third_party/webrender/wrench/reftests/border/degenerate-curve.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/dotted-corner-small-radius.png b/third_party/webrender/wrench/reftests/border/dotted-corner-small-radius.png
index 99405da1a33..303e1719471 100644
--- a/third_party/webrender/wrench/reftests/border/dotted-corner-small-radius.png
+++ b/third_party/webrender/wrench/reftests/border/dotted-corner-small-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/overlapping.png b/third_party/webrender/wrench/reftests/border/overlapping.png
index bf12c8d81ab..38dcdc79e22 100644
--- a/third_party/webrender/wrench/reftests/border/overlapping.png
+++ b/third_party/webrender/wrench/reftests/border/overlapping.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/border/reftest.list b/third_party/webrender/wrench/reftests/border/reftest.list
index a5551e82705..3b64eb89bec 100644
--- a/third_party/webrender/wrench/reftests/border/reftest.list
+++ b/third_party/webrender/wrench/reftests/border/reftest.list
@@ -1,35 +1,34 @@
platform(linux,mac) == border-clamp-corner-radius.yaml border-clamp-corner-radius.png
fuzzy(1,840) == border-gradient-simple.yaml border-gradient-simple-ref.yaml
platform(linux,mac) == border-gradient-nine-patch.yaml border-gradient-nine-patch.png
-fuzzy-if(platform(swgl),1,4) == border-radial-gradient-simple.yaml border-radial-gradient-simple-ref.yaml
+== border-radial-gradient-simple.yaml border-radial-gradient-simple-ref.yaml
platform(linux,mac) == border-radial-gradient-nine-patch.yaml border-radial-gradient-nine-patch.png
-== fuzzy(1,10) border-radii.yaml border-radii.png
+== border-radii.yaml border-radii.png
== border-none.yaml border-none-ref.yaml
-fuzzy(128,69) fuzzy-if(platform(swgl),2,118) == border-overlapping-corner.yaml border-overlapping-corner-ref.yaml
+fuzzy(128,69) == border-overlapping-corner.yaml border-overlapping-corner-ref.yaml
== border-overlapping-edge.yaml border-overlapping-edge-ref.yaml
== border-invisible.yaml border-invisible-ref.yaml
-platform(linux,mac) fuzzy(3,80) == border-suite.yaml border-suite.png
-platform(linux,mac) fuzzy(8,105) == border-suite-2.yaml border-suite-2.png
-platform(linux,mac) fuzzy(1,10) == border-suite-3.yaml border-suite-3.png
+platform(linux,mac) == border-suite.yaml border-suite.png
+platform(linux,mac) fuzzy(8,80) == border-suite-2.yaml border-suite-2.png
+platform(linux,mac) == border-suite-3.yaml border-suite-3.png
skip_on(android,device) == border-double-simple.yaml border-double-simple-ref.yaml # Fails on Pixel2
== border-double-simple-2.yaml border-double-simple-2-ref.yaml
skip_on(android,device) fuzzy(64,24) == border-groove-simple.yaml border-groove-simple-ref.yaml # Fails on Pixel2
skip_on(android,device) fuzzy(64,24) == border-ridge-simple.yaml border-ridge-simple-ref.yaml # Fails on Pixel2
-platform(linux,mac) fuzzy(1,26) == degenerate-curve.yaml degenerate-curve.png
+platform(linux,mac) fuzzy(1,3) == degenerate-curve.yaml degenerate-curve.png
platform(linux,mac) == border-image.yaml border-image-ref.png
platform(linux,mac) == border-image-empty-slice.yaml border-image-empty-slice-ref.png
platform(linux,mac) == border-image-round.yaml border-image-round-ref.png
== border-image-crash.yaml border-image-crash-ref.yaml
fuzzy(1,5000) == border-image-fill.yaml border-image-fill-ref.png
-fuzzy(2,25360) == border-image-fill-2.yaml border-image-fill-2-ref.png
-fuzzy-if(platform(swgl),1,8) == border-no-bogus-line.yaml border-no-bogus-line-ref.png
-platform(linux,mac) fuzzy(1,130) == dotted-corner-small-radius.yaml dotted-corner-small-radius.png
-fuzzy-if(platform(swgl),1,20) == overlapping.yaml overlapping.png
+== border-no-bogus-line.yaml border-no-bogus-line-ref.png
+platform(linux,mac) == dotted-corner-small-radius.yaml dotted-corner-small-radius.png
+== overlapping.yaml overlapping.png
== zero-width.yaml blank.yaml
platform(linux,mac) == small-dotted-border.yaml small-dotted-border.png
-fuzzy(1,30) == discontinued-dash.yaml discontinued-dash.png
+== discontinued-dash.yaml discontinued-dash.png
platform(linux,mac) == border-dashed-dotted-caching.yaml border-dashed-dotted-caching.png
!= small-inset-outset.yaml small-inset-outset-notref.yaml
-fuzzy(1,90) == no-aa.yaml green-square.yaml
+fuzzy(1,16) == no-aa.yaml green-square.yaml
skip_on(android,device) == border-double-1px.yaml border-double-1px-ref.yaml # Fails on Pixel2
== max-scale.yaml max-scale-ref.yaml
diff --git a/third_party/webrender/wrench/reftests/border/small-dotted-border.png b/third_party/webrender/wrench/reftests/border/small-dotted-border.png
index b867b04c2b9..adfb6eff508 100644
--- a/third_party/webrender/wrench/reftests/border/small-dotted-border.png
+++ b/third_party/webrender/wrench/reftests/border/small-dotted-border.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-border-radii.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-border-radii.png
index 0741826160a..6143955683e 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-border-radii.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-border-radii.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-cache.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-cache.png
index 96d2c7fed3b..e70e13c6918 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-cache.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-cache.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-huge-radius.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-huge-radius.png
index f2be685139f..a28981ba0f9 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-huge-radius.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-huge-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.png
index 9111ca44131..edea0e497f4 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-2.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.png
index 2b954422808..a723604095d 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-large-blur-radius-3.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-spread.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-spread.png
index 7c1910aba45..6fbd03aafff 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-spread.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-spread.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.png
index 5d631c182bd..662079e9f4f 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-x.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.png
index d76f58e170f..8ba78979873 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-stretch-mode-y.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-blur.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-blur.png
index 67b46a609ee..b1433cb9dbb 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-blur.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-blur.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-no-blur.png b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-no-blur.png
index 66e6dd9c386..a8c3b1d0cab 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-no-blur.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/box-shadow-suite-no-blur.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/boxshadow-spread-only-ref.png b/third_party/webrender/wrench/reftests/boxshadow/boxshadow-spread-only-ref.png
index 314b17f9639..a05bf7314eb 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/boxshadow-spread-only-ref.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/boxshadow-spread-only-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-alpha.png b/third_party/webrender/wrench/reftests/boxshadow/inset-alpha.png
index bc4c0a1f372..4da7a868577 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-alpha.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-alpha.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-border-radius.png b/third_party/webrender/wrench/reftests/boxshadow/inset-border-radius.png
index 1572de5b777..b8e3d5034a6 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-border-radius.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-border-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-downscale.png b/third_party/webrender/wrench/reftests/boxshadow/inset-downscale.png
index aef79686003..40534805e1d 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-downscale.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-downscale.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-large-offset-ref.png b/third_party/webrender/wrench/reftests/boxshadow/inset-large-offset-ref.png
index e1d189eaa08..92263830912 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-large-offset-ref.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-large-offset-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-mask-region.png b/third_party/webrender/wrench/reftests/boxshadow/inset-mask-region.png
index b696cbfd419..5145148cd33 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-mask-region.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-mask-region.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-neg-offset.png b/third_party/webrender/wrench/reftests/boxshadow/inset-neg-offset.png
index b6b232a1d00..462d46f8503 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-neg-offset.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-neg-offset.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-no-blur-radius-ref.png b/third_party/webrender/wrench/reftests/boxshadow/inset-no-blur-radius-ref.png
index 9c6a8d4bcfb..dfc23875e3a 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-no-blur-radius-ref.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-no-blur-radius-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-offset.png b/third_party/webrender/wrench/reftests/boxshadow/inset-offset.png
index d5f41456fee..fed26f950ea 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-offset.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-offset.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/inset-subpx.png b/third_party/webrender/wrench/reftests/boxshadow/inset-subpx.png
index 89ca1e44b11..b15cf63d80c 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/inset-subpx.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/inset-subpx.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/no-stretch.png b/third_party/webrender/wrench/reftests/boxshadow/no-stretch.png
index e916a7d3829..c89ec417e6a 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/no-stretch.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/no-stretch.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/overlap1.png b/third_party/webrender/wrench/reftests/boxshadow/overlap1.png
index a47c3ad6963..0ab363f03fb 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/overlap1.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/overlap1.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/overlap2.png b/third_party/webrender/wrench/reftests/boxshadow/overlap2.png
index 6b7b1760118..33401618904 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/overlap2.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/overlap2.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/boxshadow/reftest.list b/third_party/webrender/wrench/reftests/boxshadow/reftest.list
index 4f44cfab3d6..92ff47e495e 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/reftest.list
+++ b/third_party/webrender/wrench/reftests/boxshadow/reftest.list
@@ -1,21 +1,21 @@
!= inset-simple.yaml inset-simple-ref.yaml
!= inset-spread.yaml inset-spread-ref.yaml
-fuzzy-if(platform(swgl),3,2) == inset-no-blur-radius.yaml inset-no-blur-radius-ref.png
+== inset-no-blur-radius.yaml inset-no-blur-radius-ref.png
== inset-spread-large.yaml inset-spread-large-ref.yaml
platform(linux,mac) == inset-alpha.yaml inset-alpha.png
platform(linux,mac) == boxshadow-spread-only.yaml boxshadow-spread-only-ref.png
== box-shadow-clip.yaml box-shadow-clip-ref.yaml
-fuzzy(1,402) fuzzy-if(platform(swgl),2,1208) == inset-large-offset.yaml inset-large-offset-ref.png
+fuzzy(1,396) == inset-large-offset.yaml inset-large-offset-ref.png
platform(linux,mac) == inset-border-radius.yaml inset-border-radius.png
platform(linux,mac) == inset-offset.yaml inset-offset.png
platform(linux,mac) == inset-neg-offset.yaml inset-neg-offset.png
== box-shadow-empty.yaml blank.yaml
platform(linux,mac) == box-shadow-suite-no-blur.yaml box-shadow-suite-no-blur.png
platform(linux,mac) == box-shadow-suite-blur.yaml box-shadow-suite-blur.png
-fuzzy(1,8) == box-shadow-large-blur-radius.yaml box-shadow-large-blur-radius-ref.yaml
+== box-shadow-large-blur-radius.yaml box-shadow-large-blur-radius-ref.yaml
fuzzy(1,6388) == rounding.yaml rounding-ref.yaml
platform(linux,mac) == box-shadow-border-radii.yaml box-shadow-border-radii.png
-skip_on(android) fuzzy-if(platform(swgl),9,34) == box-shadow-spread.yaml box-shadow-spread.png # Too wide for Android
+skip_on(android) == box-shadow-spread.yaml box-shadow-spread.png # Too wide for Android
== box-shadow-spread-radii.yaml box-shadow-spread-radii-ref.yaml
== invalid.yaml invalid-ref.yaml
== inset-empty.yaml blank.yaml
@@ -23,7 +23,7 @@ platform(linux,mac) == inset-subpx.yaml inset-subpx.png
platform(linux,mac) fuzzy(1,4) == inset-downscale.yaml inset-downscale.png
platform(linux,mac) fuzzy(1,979) == box-shadow-cache.yaml box-shadow-cache.png
platform(linux,mac) fuzzy(1,685) == overlap1.yaml overlap1.png
-fuzzy(2,757) fuzzy-if(platform(swgl),2,2414) == overlap2.yaml overlap2.png
+fuzzy(2,691) == overlap2.yaml overlap2.png
platform(linux,mac) fuzzy(1,48) == no-stretch.yaml no-stretch.png
platform(linux,mac) fuzzy(1,9) == box-shadow-stretch-mode-x.yaml box-shadow-stretch-mode-x.png
platform(linux,mac) fuzzy(1,41) == box-shadow-stretch-mode-y.yaml box-shadow-stretch-mode-y.png
@@ -33,5 +33,5 @@ platform(linux,mac) fuzzy(1,14) == inset-mask-region.yaml inset-mask-region.png
fuzzy(1,5) platform(linux,mac) == box-shadow-huge-radius.yaml box-shadow-huge-radius.png
platform(linux,mac) == box-shadow-large-blur-radius-2.yaml box-shadow-large-blur-radius-2.png
-platform(linux,mac) fuzzy(1,8) == box-shadow-large-blur-radius-3.yaml box-shadow-large-blur-radius-3.png
+platform(linux,mac) == box-shadow-large-blur-radius-3.yaml box-shadow-large-blur-radius-3.png
platform(linux,mac) fuzzy(1,79) == scale.yaml scale.png
diff --git a/third_party/webrender/wrench/reftests/boxshadow/scale.png b/third_party/webrender/wrench/reftests/boxshadow/scale.png
index 2f635e91804..49aa8e8e053 100644
--- a/third_party/webrender/wrench/reftests/boxshadow/scale.png
+++ b/third_party/webrender/wrench/reftests/boxshadow/scale.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/clip/blend-container-ref.yaml b/third_party/webrender/wrench/reftests/clip/blend-container-ref.yaml
deleted file mode 100644
index 2d3464959dd..00000000000
--- a/third_party/webrender/wrench/reftests/clip/blend-container-ref.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-root:
- items:
- - type: rect
- bounds: [ 50, 50, 100, 100 ]
- color: blue
diff --git a/third_party/webrender/wrench/reftests/clip/blend-container.yaml b/third_party/webrender/wrench/reftests/clip/blend-container.yaml
deleted file mode 100644
index 2a18d3a5e3d..00000000000
--- a/third_party/webrender/wrench/reftests/clip/blend-container.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Verify that clip-chains are correctly applied to root level blend containers (which get
-# optimized to be tile caches).
----
-root:
- items:
- - type: clip
- id: 2
- bounds: [ 50, 50, 100, 100 ]
- - type: stacking-context
- blend-container: true
- clip-node: 2
- items:
- - type: rect
- bounds: [ 0, 0, 200, 200 ]
- color: blue
diff --git a/third_party/webrender/wrench/reftests/clip/border-with-rounded-clip.png b/third_party/webrender/wrench/reftests/clip/border-with-rounded-clip.png
index 120b21b6cc3..f3400057149 100644
--- a/third_party/webrender/wrench/reftests/clip/border-with-rounded-clip.png
+++ b/third_party/webrender/wrench/reftests/clip/border-with-rounded-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/clip/clip-45-degree-rotation-ref.png b/third_party/webrender/wrench/reftests/clip/clip-45-degree-rotation-ref.png
index 7b27e84239d..620eb49e435 100644
--- a/third_party/webrender/wrench/reftests/clip/clip-45-degree-rotation-ref.png
+++ b/third_party/webrender/wrench/reftests/clip/clip-45-degree-rotation-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/clip/clip-ellipse.png b/third_party/webrender/wrench/reftests/clip/clip-ellipse.png
index 49570d0359b..49624825573 100644
--- a/third_party/webrender/wrench/reftests/clip/clip-ellipse.png
+++ b/third_party/webrender/wrench/reftests/clip/clip-ellipse.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/clip/clip-filter-raster-root-ref.yaml b/third_party/webrender/wrench/reftests/clip/clip-filter-raster-root-ref.yaml
deleted file mode 100644
index 7fde17f1845..00000000000
--- a/third_party/webrender/wrench/reftests/clip/clip-filter-raster-root-ref.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-root:
- items:
- -
- type: "reference-frame"
- transform: [perspective(10), rotate(45)]
- transform-origin: 500 100
- items:
- -
- type: "stacking-context"
- filters: [identity]
- items:
- -
- bounds: [100, 100, 200, 200]
- type: rect
- color: red
diff --git a/third_party/webrender/wrench/reftests/clip/clip-filter-raster-root.yaml b/third_party/webrender/wrench/reftests/clip/clip-filter-raster-root.yaml
deleted file mode 100644
index 95ffc7dbd05..00000000000
--- a/third_party/webrender/wrench/reftests/clip/clip-filter-raster-root.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Test that a local-space clip when applied to a surface (due to the filter) that is also
-# a raster root (due to the perspective) is correctly applied.
----
-root:
- items:
- -
- type: "reference-frame"
- transform: [perspective(10), rotate(45)]
- transform-origin: 500 100
- items:
- -
- bounds: [100, 100, 200, 200]
- type: clip
- id: 2
- -
- clip-node: 2
- type: "stacking-context"
- filters: [identity]
- items:
- -
- bounds: [0, 0, 400, 400]
- type: rect
- color: red
diff --git a/third_party/webrender/wrench/reftests/clip/clip-mode.png b/third_party/webrender/wrench/reftests/clip/clip-mode.png
index e40a9db215c..69f2b8b4ae8 100644
--- a/third_party/webrender/wrench/reftests/clip/clip-mode.png
+++ b/third_party/webrender/wrench/reftests/clip/clip-mode.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc-ref.yaml b/third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc-ref.yaml
deleted file mode 100644
index 5946aeedae6..00000000000
--- a/third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc-ref.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-root:
- items:
- -
- bounds: [0, 0, 100, 100]
- type: rect
- color: blue
diff --git a/third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc.yaml b/third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc.yaml
deleted file mode 100644
index ac88edb489d..00000000000
--- a/third_party/webrender/wrench/reftests/clip/clip-rectangle-redundant-sc.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-# Test that rect clips on redundant stacking contexts are applied to child prims
----
-root:
- items:
- -
- bounds: [0, 0, 100, 100]
- type: clip
- id: 2
- -
- clip-node: 2
- type: "stacking-context"
- items:
- -
- bounds: [0, 0, 200, 200]
- type: rect
- color: blue
diff --git a/third_party/webrender/wrench/reftests/clip/reftest.list b/third_party/webrender/wrench/reftests/clip/reftest.list
index 155678562ff..8518911a9f4 100644
--- a/third_party/webrender/wrench/reftests/clip/reftest.list
+++ b/third_party/webrender/wrench/reftests/clip/reftest.list
@@ -1,10 +1,10 @@
platform(linux,mac) == border-with-rounded-clip.yaml border-with-rounded-clip.png
-fuzzy-if(platform(swgl),1,4) == clip-mode.yaml clip-mode.png
-fuzzy-if(platform(swgl),1,80) == clip-ellipse.yaml clip-ellipse.png
+== clip-mode.yaml clip-mode.png
+== clip-ellipse.yaml clip-ellipse.png
platform(linux,mac) == clip-45-degree-rotation.yaml clip-45-degree-rotation-ref.png
== clip-3d-transform.yaml clip-3d-transform-ref.yaml
fuzzy(1,4) == clip-corner-overlap.yaml clip-corner-overlap-ref.yaml
-fuzzy(9,60) == custom-clip-chains.yaml custom-clip-chains-ref.yaml
+fuzzy(8,60) == custom-clip-chains.yaml custom-clip-chains-ref.yaml
== custom-clip-chain-node-ancestors.yaml custom-clip-chain-node-ancestors-ref.yaml
== fixed-position-clipping.yaml fixed-position-clipping-ref.yaml
platform(linux,mac) == segmentation-with-other-coordinate-system-clip.yaml segmentation-with-other-coordinate-system-clip.png
@@ -16,6 +16,3 @@ color_targets(1) alpha_targets(0) == clip-out-rotation.yaml blank.yaml # Unexpec
== clipped-occlusion.yaml clipped-occlusion-ref.yaml
== clip-empty-inner-rect.yaml clip-empty-inner-rect-ref.yaml
== iframe-nested-in-stacking-context.yaml iframe-nested-in-stacking-context-ref.yaml
-== clip-rectangle-redundant-sc.yaml clip-rectangle-redundant-sc-ref.yaml
-fuzzy(128,707) == clip-filter-raster-root.yaml clip-filter-raster-root-ref.yaml
-== blend-container.yaml blend-container-ref.yaml
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/basic-ref.yaml b/third_party/webrender/wrench/reftests/compositor-surface/basic-ref.yaml
deleted file mode 100644
index 1a567dd9e68..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/basic-ref.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-root:
- items:
- - type: rect
- bounds: [50, 50, 462, 462]
- color: green
- - type: rect
- bounds: [125, 125, 312, 312]
- color: [128, 128, 128, 0.5]
- - image: transparent-checkerboard(2,16,16)
- bounds: [150, 150, 262, 262]
- - type: rect
- bounds: [200, 200, 162, 162]
- color: [0, 0, 255, 0.5]
- - text: "Subpixel AA Text"
- origin: 80 100
- size: 20
- color: black
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/basic.yaml b/third_party/webrender/wrench/reftests/compositor-surface/basic.yaml
deleted file mode 100644
index 0ea9b8a394a..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/basic.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-# Test that basic functionality of non-opaque compositor surfaces
-# is blending correctly, and that subpixel AA is used outside the
-# compositor surface region.
----
-root:
- items:
- - type: rect
- bounds: [50, 50, 462, 462]
- color: green
- - type: rect
- bounds: [125, 125, 312, 312]
- color: [128, 128, 128, 0.5]
- - image: transparent-checkerboard(2,16,16)
- bounds: [150, 150, 262, 262]
- prefer-compositor-surface: true
- - type: rect
- bounds: [200, 200, 162, 162]
- color: [0, 0, 255, 0.5]
- - text: "Subpixel AA Text"
- origin: 80 100
- size: 20
- color: black
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/blank.yaml b/third_party/webrender/wrench/reftests/compositor-surface/blank.yaml
deleted file mode 100644
index c4eb3ab6730..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/blank.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-root:
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/mix-blend-ref.yaml b/third_party/webrender/wrench/reftests/compositor-surface/mix-blend-ref.yaml
deleted file mode 100644
index c8ce2fb444a..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/mix-blend-ref.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-root:
- items:
- - type: stacking-context
- blend-container: true
- items:
- - type: rect
- bounds: [50, 50, 362, 362]
- color: green
- - image: transparent-checkerboard(2,16,16)
- bounds: [100, 100, 262, 262]
- - type: stacking-context
- mix-blend-mode: multiply
- items:
- - type: rect
- bounds: [150, 150, 162, 162]
- color: red
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/mix-blend.yaml b/third_party/webrender/wrench/reftests/compositor-surface/mix-blend.yaml
deleted file mode 100644
index fb8afe312d1..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/mix-blend.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Verify that we don't promote compositor surfaces within a root level blend container,
-# as that can prevent correct blending with the compositor surface.
----
-root:
- items:
- - type: stacking-context
- blend-container: true
- items:
- - type: rect
- bounds: [50, 50, 362, 362]
- color: green
- - image: transparent-checkerboard(2,16,16)
- bounds: [100, 100, 262, 262]
- prefer-compositor-surface: true
- - type: stacking-context
- mix-blend-mode: multiply
- items:
- - type: rect
- bounds: [150, 150, 162, 162]
- color: red
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/picture-passthrough.yaml b/third_party/webrender/wrench/reftests/compositor-surface/picture-passthrough.yaml
deleted file mode 100644
index cfe73293d29..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/picture-passthrough.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-# Ensure that compositor surfaces which exist in child pictures with
-# None for composite mode don't get promoted to a compositor surface,
-# as we don't currently account for these in `compositor_surface_count`.
----
-root:
- items:
- - type: stacking-context
- backdrop-root: true
- items:
- - type: backdrop-filter
- bounds: 0 0 256 256
- filters: invert(1)
- - image: checkerboard(2,16,16)
- bounds: [150, 150, 262, 262]
- prefer-compositor-surface: true
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/reftest.list b/third_party/webrender/wrench/reftests/compositor-surface/reftest.list
deleted file mode 100644
index a593c1003a5..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/reftest.list
+++ /dev/null
@@ -1,4 +0,0 @@
-skip_on(android) fuzzy(2,500) == basic.yaml basic-ref.yaml
-== too-many-surfaces.yaml too-many-surfaces-ref.yaml
-!= picture-passthrough.yaml blank.yaml
-fuzzy(2,1000) == mix-blend.yaml mix-blend-ref.yaml
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces-ref.yaml b/third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces-ref.yaml
deleted file mode 100644
index 00f9f7da6b7..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces-ref.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
----
-root:
- items:
- - type: rect
- bounds: [50, 50, 400, 88]
- color: green
- - image: transparent-checkerboard(2,8,8)
- bounds: [60, 60, 68, 68]
- - type: rect
- bounds: [55, 70, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [138, 60, 68, 68]
- - type: rect
- bounds: [55, 80, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [216, 60, 68, 68]
- - type: rect
- bounds: [55, 90, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [294, 60, 68, 68]
- - type: rect
- bounds: [55, 100, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [372, 60, 68, 68]
- - type: rect
- bounds: [55, 110, 390, 5]
- color: [255, 0, 0, 0.9]
diff --git a/third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces.yaml b/third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces.yaml
deleted file mode 100644
index e5744ddedc7..00000000000
--- a/third_party/webrender/wrench/reftests/compositor-surface/too-many-surfaces.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-# Test that when there are too many compositor surfaces present that
-# the additional compositor surfaces are correctly drawn as regular
-# primitives into picture cache content tiles.
----
-root:
- items:
- - type: rect
- bounds: [50, 50, 400, 88]
- color: green
- - image: transparent-checkerboard(2,8,8)
- bounds: [60, 60, 68, 68]
- prefer-compositor-surface: true
- - type: rect
- bounds: [55, 70, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [138, 60, 68, 68]
- prefer-compositor-surface: true
- - type: rect
- bounds: [55, 80, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [216, 60, 68, 68]
- prefer-compositor-surface: true
- - type: rect
- bounds: [55, 90, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [294, 60, 68, 68]
- prefer-compositor-surface: true
- - type: rect
- bounds: [55, 100, 390, 5]
- color: [255, 0, 0, 0.9]
- - image: transparent-checkerboard(2,8,8)
- bounds: [372, 60, 68, 68]
- prefer-compositor-surface: true
- - type: rect
- bounds: [55, 110, 390, 5]
- color: [255, 0, 0, 0.9]
diff --git a/third_party/webrender/wrench/reftests/filters/backdrop-filter-basic.yaml b/third_party/webrender/wrench/reftests/filters/backdrop-filter-basic.yaml
index 837d4039780..e71decc659a 100644
--- a/third_party/webrender/wrench/reftests/filters/backdrop-filter-basic.yaml
+++ b/third_party/webrender/wrench/reftests/filters/backdrop-filter-basic.yaml
@@ -3,7 +3,6 @@
root:
items:
- type: stacking-context
- backdrop-root: true
bounds: 0 0 0 0
items:
- type: rect
diff --git a/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.png b/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.png
index 34166161664..83e181e970b 100644
--- a/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.png
+++ b/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.yaml b/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.yaml
index ca834e5ff71..43d29ddf1d6 100644
--- a/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.yaml
+++ b/third_party/webrender/wrench/reftests/filters/backdrop-filter-perspective.yaml
@@ -4,7 +4,6 @@ root:
items:
- type: stacking-context
bounds: 0 0 0 0
- backdrop-root: true
perspective: 500
items:
- type: rect
diff --git a/third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.png b/third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.png
deleted file mode 100644
index 9d334c40f59..00000000000
--- a/third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.yaml b/third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.yaml
deleted file mode 100644
index fdb62af4832..00000000000
--- a/third_party/webrender/wrench/reftests/filters/blend-clipped-raster-root.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-root:
- items:
- -
- bounds: [0, 100, 1000, 1000]
- type: clip
- id: 3
- -
- bounds: [200, 200, 0, 0]
- clip-node: 3
- type: "stacking-context"
- transform: rotate(10)
- items:
- -
- type: "stacking-context"
- filters:
- - opacity(0.5)
- items:
- -
- bounds: [0, 0, 1000, 500]
- type: rect
- color: green
diff --git a/third_party/webrender/wrench/reftests/filters/blend-clipped.png b/third_party/webrender/wrench/reftests/filters/blend-clipped.png
index e8240cca611..04b63a8909f 100644
--- a/third_party/webrender/wrench/reftests/filters/blend-clipped.png
+++ b/third_party/webrender/wrench/reftests/filters/blend-clipped.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/drop-shadow-inverse-scale.yaml b/third_party/webrender/wrench/reftests/filters/drop-shadow-inverse-scale.yaml
deleted file mode 100644
index 229bdaa4b61..00000000000
--- a/third_party/webrender/wrench/reftests/filters/drop-shadow-inverse-scale.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-# Ensure that zero sized drop shadows handle reflection scale transforms without crashing
----
-root:
- items:
- -
- type: "stacking-context"
- bounds: [100, 100, 100, 100]
- filters: drop-shadow([0, 1], 1, red)
- transform: scale(-1, 1)
- items:
- -
- type: rect
- color: green
- bounds: [0, 0, 1, 0]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-clamping-ref.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur-clamping-ref.yaml
index a06489467a7..cdc6c56a47b 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-clamping-ref.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-clamping-ref.yaml
@@ -4,14 +4,14 @@ root:
items:
- type: stacking-context
bounds: [100, 100, 300, 300]
- filters: blur(100, 100)
+ filters: blur(100)
items:
- type: rect
bounds: [0, 0, 100, 100]
color: 0 255 0 1.0
- type: stacking-context
bounds: [400, 100, 300, 300]
- filters: blur(50, 50)
+ filters: blur(50)
items:
- type: rect
bounds: [0, 0, 100, 100]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-clamping.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur-clamping.yaml
index 0d81a616ee9..614aa8ee02a 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-clamping.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-clamping.yaml
@@ -9,7 +9,7 @@ root:
- type: stacking-context
bounds: [0, 0, 300, 300]
# Blur will be 20 * 10(scale) = 200 and it should then be clamped to 100
- filters: blur(20, 20)
+ filters: blur(20)
items:
- type: rect
bounds: [0, 0, 10, 10]
@@ -23,7 +23,7 @@ root:
# Blur should be 500 * 0.1(scale) = 50. This tests to make sure clamping
# does not occur before applying scale factors, otherwise 500 would be
# clamped to 100.
- filters: blur(500, 500)
+ filters: blur(500)
items:
- type: rect
bounds: [0, 0, 1000, 1000]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-huge.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur-huge.yaml
index 13a4c72fd8f..2f76dd289ed 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-huge.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-huge.yaml
@@ -4,7 +4,7 @@ root:
items:
- type: stacking-context
bounds: [10, 10, 260, 260]
- filters: blur(1000000, 1000000)
+ filters: blur(1000000)
items:
- image: checkerboard(2, 16, 16)
bounds: [10, 10, 260, 260]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-ref.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-ref.yaml
index 6a5f314df07..82e5b026824 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-ref.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-ref.yaml
@@ -4,7 +4,7 @@ root:
items:
- type: stacking-context
bounds: [0, 0, 500, 500]
- filters: blur(10, 10)
+ filters: blur(10)
items:
- type: rect
bounds: [50, 50, 250, 250]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.png b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.png
index 48f8913752d..6bb0834bc36 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.yaml
index 18a897131d4..b244741cda3 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled-xonly.yaml
@@ -9,7 +9,7 @@ root:
items:
- type: stacking-context
bounds: [0, 0, 100, 100]
- filters: blur(2, 2)
+ filters: blur(2)
items:
- type: rect
bounds: [10, 10, 50, 50]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled.yaml
index 0e8c9cbff97..b99b6c7f83e 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur-scaled.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur-scaled.yaml
@@ -8,7 +8,7 @@ root:
items:
- type: stacking-context
bounds: [0, 0, 100, 100]
- filters: blur(2, 2)
+ filters: blur(2)
items:
- type: rect
bounds: [10, 10, 50, 50]
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur.png b/third_party/webrender/wrench/reftests/filters/filter-blur.png
index 996e79215e3..067f8e4af72 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-blur.yaml b/third_party/webrender/wrench/reftests/filters/filter-blur.yaml
index ee915d7bb1a..42762f56d7b 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-blur.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-blur.yaml
@@ -3,7 +3,7 @@ root:
items:
- type: stacking-context
bounds: [100, 100, 300, 300]
- filters: blur(10, 10)
+ filters: blur(10)
items:
- image: "firefox.png"
bounds: 20 20 256 256
diff --git a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-2.png b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-2.png
index d14182e2312..f58e15c5fcc 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-2.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-2.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-3.png b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-3.png
index d1bbd48c8bb..4583f5f730c 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-3.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip-3.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip.png b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip.png
index d33eed0faaf..36db8671428 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.png b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.png
index 24de0898ea8..f529db8b01d 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow-on-viewport-edge.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow.png b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow.png
index dd81aa63efa..f5c9253dcc1 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-drop-shadow.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-drop-shadow.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.png b/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.png
index 24db853d44d..3b0a501ded5 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.yaml b/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.yaml
index 6ce5f4cb223..87ecb096277 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-large-blur-radius.yaml
@@ -3,7 +3,7 @@ root:
items:
- type: stacking-context
bounds: 100 100 512 512
- filters: blur(100, 100)
+ filters: blur(100)
items:
- type: rect
bounds: 0 0 512 512
diff --git a/third_party/webrender/wrench/reftests/filters/filter-long-chain.png b/third_party/webrender/wrench/reftests/filters/filter-long-chain.png
index 6e58dd6300d..4de04ead672 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-long-chain.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-long-chain.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-long-chain.yaml b/third_party/webrender/wrench/reftests/filters/filter-long-chain.yaml
index a0f9d698bd7..0fe7bb614ec 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-long-chain.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-long-chain.yaml
@@ -11,7 +11,7 @@ root:
opacity(0.8),
saturate(10),
sepia(0.4),
- "blur(3,3)",
+ blur(3),
"drop-shadow([73, 73], 3, [0, 255, 0, 1])"]
items:
- type: rect
diff --git a/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.png b/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.png
index e755e2bb6cb..bbace6aa22c 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.png
+++ b/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.yaml b/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.yaml
index d5b550d0ab0..7ebf95545de 100644
--- a/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.yaml
+++ b/third_party/webrender/wrench/reftests/filters/filter-small-blur-radius.yaml
@@ -3,7 +3,7 @@ root:
items:
- type: stacking-context
bounds: 100 100 512 512
- filters: blur(2, 2)
+ filters: blur(2)
items:
- type: rect
bounds: 0 0 512 512
diff --git a/third_party/webrender/wrench/reftests/filters/reftest.list b/third_party/webrender/wrench/reftests/filters/reftest.list
index e322dc10a4d..27da91df11c 100644
--- a/third_party/webrender/wrench/reftests/filters/reftest.list
+++ b/third_party/webrender/wrench/reftests/filters/reftest.list
@@ -2,20 +2,20 @@
platform(linux,mac) == draw_calls(7) color_targets(7) alpha_targets(0) filter-blur.yaml filter-blur.png
== isolated.yaml isolated-ref.yaml
== invisible.yaml invisible-ref.yaml
-fuzzy-if(platform(swgl),1,10000) == opacity.yaml opacity-ref.yaml
+== opacity.yaml opacity-ref.yaml
fuzzy-range(<=1,*10000) == opacity-combined.yaml opacity-combined-ref.yaml
-fuzzy-if(platform(swgl),1,10000) == opacity-overlap.yaml opacity-overlap-ref.yaml
+== opacity-overlap.yaml opacity-overlap-ref.yaml
== filter-brightness.yaml filter-brightness-ref.yaml
== filter-brightness-2.yaml filter-brightness-2-ref.yaml
== filter-brightness-3.yaml filter-brightness-3-ref.yaml
-fuzzy-if(platform(swgl),1,10000) == filter-brightness-4.yaml filter-brightness-4-ref.yaml
+== filter-brightness-4.yaml filter-brightness-4-ref.yaml
== filter-component-transfer.yaml filter-component-transfer-ref.yaml
skip_on(android,device) == filter-color-matrix.yaml filter-color-matrix-ref.yaml # fails on Pixel2
== filter-contrast-gray-alpha-1.yaml filter-contrast-gray-alpha-1-ref.yaml
== filter-invert.yaml filter-invert-ref.yaml
== filter-invert-2.yaml filter-invert-2-ref.yaml
platform(linux,mac) fuzzy(1,133) == filter-large-blur-radius.yaml filter-large-blur-radius.png
-skip_on(android,device) fuzzy(1,12) fuzzy-if(platform(swgl),2,12276) == draw_calls(7) color_targets(6) alpha_targets(0) filter-small-blur-radius.yaml filter-small-blur-radius.png # fails on Pixel2
+skip_on(android,device) fuzzy(1,12) == draw_calls(6) color_targets(6) alpha_targets(0) filter-small-blur-radius.yaml filter-small-blur-radius.png # fails on Pixel2
== filter-saturate-red-1.yaml filter-saturate-red-1-ref.yaml
== filter-saturate-red-2.yaml filter-saturate-red-2-ref.yaml
== filter-saturate-red-3.yaml filter-saturate-red-3-ref.yaml
@@ -30,13 +30,13 @@ skip_on(android,device) fuzzy(1,12) fuzzy-if(platform(swgl),2,12276) == draw_cal
== filter-saturate-blue-alpha-1.yaml filter-saturate-blue-alpha-1-ref.yaml
fuzzy(1,14) == filter-hue-rotate-1.yaml filter-hue-rotate-1-ref.yaml
skip_on(android,device) == filter-hue-rotate-alpha-1.yaml filter-hue-rotate-alpha-1-ref.yaml # Fails on Pixel2
-skip_on(android,device) fuzzy(2,9072) fuzzy-if(platform(swgl),9,109897) == filter-long-chain.yaml filter-long-chain.png # fails on Pixel2
+skip_on(android,device) fuzzy(2,9072) == filter-long-chain.yaml filter-long-chain.png # fails on Pixel2
platform(linux,mac) == filter-drop-shadow.yaml filter-drop-shadow.png
platform(linux,mac) == filter-drop-shadow-on-viewport-edge.yaml filter-drop-shadow-on-viewport-edge.png
platform(linux,mac) == blend-clipped.yaml blend-clipped.png
platform(linux,mac) == filter-drop-shadow-clip.yaml filter-drop-shadow-clip.png
fuzzy(2,10) platform(linux,mac) == filter-drop-shadow-clip-2.yaml filter-drop-shadow-clip-2.png
-fuzzy(1,26) platform(linux) == filter-drop-shadow-clip-3.yaml filter-drop-shadow-clip-3.png
+platform(linux) == filter-drop-shadow-clip-3.yaml filter-drop-shadow-clip-3.png
fuzzy(5,100000) == filter-drop-shadow-scaled.yaml filter-drop-shadow-scaled-ref.yaml
== filter-segments.yaml filter-segments-ref.yaml
== iframe-dropshadow.yaml iframe-dropshadow-ref.yaml
@@ -49,7 +49,7 @@ skip_on(android,device) == filter-mix-blend-mode.yaml filter-mix-blend-mode-ref.
fuzzy(3,79400) == filter-drop-shadow-blur-clamping.yaml filter-drop-shadow-blur-clamping-ref.yaml
== filter-blur-scaled.yaml filter-blur-scaled-ref.yaml
== filter-blur-clamping.yaml filter-blur-clamping-ref.yaml
-skip_on(android,device) fuzzy(1,104) fuzzy-if(platform(swgl),4,18484) == filter-blur-scaled-xonly.yaml filter-blur-scaled-xonly.png # fails on Pixel2
+skip_on(android,device) fuzzy(1,104) == filter-blur-scaled-xonly.yaml filter-blur-scaled-xonly.png # fails on Pixel2
== svg-filter-component-transfer.yaml filter-component-transfer-ref.yaml
== svg-filter-flood.yaml svg-filter-flood-ref.yaml
skip_on(android,device) == svg-filter-blend.yaml svg-filter-blend-ref.yaml
@@ -57,14 +57,12 @@ skip_on(android,device) == svg-filter-color-matrix.yaml filter-color-matrix-ref.
platform(linux,mac) == draw_calls(8) color_targets(8) alpha_targets(0) svg-filter-blur.yaml filter-blur.png # Extra draw call is due to render task graph workaround
platform(linux,mac) == svg-filter-drop-shadow.yaml svg-filter-drop-shadow.png
== fuzzy(1,10000) svg-srgb-to-linear.yaml srgb-to-linear-ref.yaml
-platform(linux,mac) == fuzzy(5,35250) svg-filter-drop-shadow-rotate.yaml svg-filter-drop-shadow-rotate-ref.yaml
+platform(linux,mac) == fuzzy(4,28250) svg-filter-drop-shadow-rotate.yaml svg-filter-drop-shadow-rotate-ref.yaml
platform(linux,mac) fuzzy(3,3184) == svg-filter-blur-transforms.yaml svg-filter-blur-transforms.png
platform(linux,mac) == svg-filter-drop-shadow-on-viewport-edge.yaml svg-filter-drop-shadow-on-viewport-edge.png
-fuzzy(1,1) platform(linux,mac) == svg-filter-drop-shadow-perspective.yaml svg-filter-drop-shadow-perspective.png
+platform(linux,mac) == svg-filter-drop-shadow-perspective.yaml svg-filter-drop-shadow-perspective.png
== backdrop-filter-basic.yaml backdrop-filter-basic-ref.yaml
platform(linux,mac) == backdrop-filter-perspective.yaml backdrop-filter-perspective.png
platform(linux,max) == svg-filter-offset.yaml svg-filter-offset-ref.yaml
skip_on(android,device) == fuzzy(1,100) svg-filter-composite.yaml svg-filter-composite-ref.yaml
skip_on(android,device) == filter-mix-blend-scaling.yaml filter-mix-blend-scaling-ref.yaml
-platform(linux) == blend-clipped-raster-root.yaml blend-clipped-raster-root.png
-== drop-shadow-inverse-scale.yaml blank.yaml
diff --git a/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.png b/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.png
index 890c815bef3..7bd8b5c4b67 100644
--- a/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.png
+++ b/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.yaml b/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.yaml
index d78f3ae806e..4962ecbe130 100644
--- a/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.yaml
+++ b/third_party/webrender/wrench/reftests/filters/svg-filter-blur-transforms.yaml
@@ -6,8 +6,7 @@ root:
transform: scale-x(0.1) rotate-z(-45)
filter-primitives:
- type: blur
- width: 10
- height: 10
+ radius: 10
in: previous
color-space: srgb
items:
diff --git a/third_party/webrender/wrench/reftests/filters/svg-filter-blur.yaml b/third_party/webrender/wrench/reftests/filters/svg-filter-blur.yaml
index 5554688500c..61381d540f6 100644
--- a/third_party/webrender/wrench/reftests/filters/svg-filter-blur.yaml
+++ b/third_party/webrender/wrench/reftests/filters/svg-filter-blur.yaml
@@ -5,8 +5,7 @@ root:
bounds: [100, 100, 300, 300]
filter-primitives:
- type: blur
- width: 10
- height: 10
+ radius: 10
in: previous
color-space: srgb
items:
diff --git a/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-on-viewport-edge.png b/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-on-viewport-edge.png
index dcc09c53cbb..200efc99657 100644
--- a/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-on-viewport-edge.png
+++ b/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-on-viewport-edge.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-perspective.png b/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-perspective.png
index 035c5d46e01..7ae7393f87a 100644
--- a/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-perspective.png
+++ b/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow-perspective.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow.png b/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow.png
index eee62c79d27..e6c2c0e49e4 100644
--- a/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow.png
+++ b/third_party/webrender/wrench/reftests/filters/svg-filter-drop-shadow.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/conic-center.png b/third_party/webrender/wrench/reftests/gradient/conic-center.png
index 9843a2efb5e..aeb0c293981 100644
--- a/third_party/webrender/wrench/reftests/gradient/conic-center.png
+++ b/third_party/webrender/wrench/reftests/gradient/conic-center.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/conic-color-wheel.png b/third_party/webrender/wrench/reftests/gradient/conic-color-wheel.png
index 3fff3c32d41..368007c74f6 100644
--- a/third_party/webrender/wrench/reftests/gradient/conic-color-wheel.png
+++ b/third_party/webrender/wrench/reftests/gradient/conic-color-wheel.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/conic-large-ref.yaml b/third_party/webrender/wrench/reftests/gradient/conic-large-ref.yaml
deleted file mode 100644
index 9441175cf1b..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/conic-large-ref.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-root:
- items:
- - type: rect
- bounds: 50 50 2000 300
- color: blue
-
- - type: conic-gradient
- bounds: 50 50 2000 300
- center: 150 150
- angle: 0.0
- stops: [0.0, red,
- 0.125, blue,
- 0.375, blue,
- 0.5, yellow,
- 1.0, red] \ No newline at end of file
diff --git a/third_party/webrender/wrench/reftests/gradient/conic-large.yaml b/third_party/webrender/wrench/reftests/gradient/conic-large.yaml
deleted file mode 100644
index 78bf305f54c..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/conic-large.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-root:
- items:
- - type: conic-gradient
- bounds: 50 50 2000 300
- center: 150 150
- angle: 0.0
- stops: [0.0, red,
- 0.125, blue,
- 0.375, blue,
- 0.5, yellow,
- 1.0, red] \ No newline at end of file
diff --git a/third_party/webrender/wrench/reftests/gradient/conic-nan.yaml b/third_party/webrender/wrench/reftests/gradient/conic-nan.yaml
deleted file mode 100644
index 6cc6234611f..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/conic-nan.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
----
-root:
- items:
- - type: conic-gradient
- bounds: 50 50 200 NaN
- center: 100 100
- angle: 0.0
- stops: [0.0, red, 0.25, green, 0.5, blue, 0.75, black]
- - type: conic-gradient
- bounds: 50 50 200 200
- center: NaN 100
- angle: 0.0
- stops: [0.0, red, 0.25, green, 0.5, blue, 0.75, black]
- - type: conic-gradient
- bounds: 50 50 200 200
- center: 100 100
- angle: NaN
- stops: [0.0, red, 0.25, green, 0.5, blue, 0.75, black]
- - type: conic-gradient
- bounds: 50 50 200 200
- center: 100 100
- angle: 0.0
- stops: [0.0, red, NaN, green, 0.5, blue, 0.75, black]
- - type: conic-gradient
- bounds: 50 50 200 200
- tile-size: NaN 200
- center: 100 100
- angle: 0.0
- stops: [0.0, red, 0.25, green, 0.5, blue, 0.75, black]
- - type: conic-gradient
- bounds: 50 50 200 200
- clip-rect: NaN 0 100 100
- center: 100 100
- angle: 0.0
- stops: [0.0, red, 0.25, green, 0.5, blue, 0.75, black]
- - type: conic-gradient
- bounds: NaN NaN NaN NaN
- clip-rect: NaN NaN NaN NaN
- center: NaN NaN
- angle: NaN
- stops: [NaN, red, NaN, green, NaN, blue, NaN, black]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-aligned-border-radius.png b/third_party/webrender/wrench/reftests/gradient/linear-aligned-border-radius.png
index 450e0ac56ac..2cdeeb679a8 100644
--- a/third_party/webrender/wrench/reftests/gradient/linear-aligned-border-radius.png
+++ b/third_party/webrender/wrench/reftests/gradient/linear-aligned-border-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-bug-1703141.yaml b/third_party/webrender/wrench/reftests/gradient/linear-bug-1703141.yaml
deleted file mode 100644
index 9db333277e6..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-bug-1703141.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: -8396 465 9136 3
- tile-size: 10498.667 3
- start: 9448.5 1.5
- end: 10498.333 1.5
- repeat: true
- stops: [0.0, [0,0,0,0], 0.5, [0,0,0,0],
- 0.5, red, 0.75, red,
- 0.75, [0,0,0,0], 1.0, [0,0,0,0]]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-far-endpoints.yaml b/third_party/webrender/wrench/reftests/gradient/linear-far-endpoints.yaml
deleted file mode 100644
index 45bb52debcf..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-far-endpoints.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-# Axis-aligned linear gradient with very far endpoints. It goes through the gradient
-# decomposition path which should not choke on overflow or casting failure.
----
-root:
- items:
- - type: gradient
- bounds: 50 50 500 500
- start: -19958788096 0
- end: 19958788096 0
- stops: [0.0, red, 1.0, blue]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-hard-stop-ref.png b/third_party/webrender/wrench/reftests/gradient/linear-hard-stop-ref.png
index 4feb5e49937..a863648a3fd 100644
--- a/third_party/webrender/wrench/reftests/gradient/linear-hard-stop-ref.png
+++ b/third_party/webrender/wrench/reftests/gradient/linear-hard-stop-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-large-ref.yaml b/third_party/webrender/wrench/reftests/gradient/linear-large-ref.yaml
deleted file mode 100644
index 472f04fd17b..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-large-ref.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-root:
- items:
- - type: rect
- bounds: 50 50 2000 300
- color: blue
-
- - type: gradient
- bounds: 50 50 400 300
- start: 0 0
- end: 100 20
- stops: [0.0, red, 1.0, blue]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-large.yaml b/third_party/webrender/wrench/reftests/gradient/linear-large.yaml
deleted file mode 100644
index cf9c50edd19..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-large.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: 50 50 2000 300
- start: 0 0
- end: 100 20
- stops: [0.0, red, 1.0, blue]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-nan.yaml b/third_party/webrender/wrench/reftests/gradient/linear-nan.yaml
deleted file mode 100644
index 687a06d372b..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-nan.yaml
+++ /dev/null
@@ -1,213 +0,0 @@
----
-root:
- items:
- # Small-ish gradients
- - type: gradient
- bounds: 50 50 NaN 200
- start: 0 100
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 200 200
- start: 0 100
- end: NaN 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 200 200
- start: 0 NaN
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 200 200
- start: 0 100
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- NaN, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 200 200
- start: 0 100
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, NaN, black]
- - type: gradient
- bounds: 50 50 200 200
- clip-rect: 50 50 150 NaN
- start: 0 100
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 200 200
- tile-size: NaN 200
- start: 0 100
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
-
- # Large-ish gradients
- - type: gradient
- bounds: 50 50 NaN 500
- start: 0 100
- end: 500 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 500 500
- start: 0 100
- end: NaN 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 500 500
- start: 0 NaN
- end: 500 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 500 500
- start: 0 100
- end: 500 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- NaN, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 500 500
- start: 0 100
- end: 500 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, NaN, black]
- - type: gradient
- bounds: 50 50 500 500
- clip-rect: 50 50 150 NaN
- start: 0 100
- end: 500 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 500 500
- tile-size: NaN 500
- start: 0 100
- end: 500 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
-
- # Very large gradients
- - type: gradient
- bounds: 50 50 10000 10000
- start: 0 100
- end: NaN 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 10000 10000
- start: 0 NaN
- end: 10000 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.5, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 10000 10000
- start: 0 100
- end: 10000 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- NaN, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 10000 10000
- start: 0 100
- end: 10000 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, NaN, black]
- - type: gradient
- bounds: 50 50 10000 10000
- clip-rect: 50 50 150 NaN
- start: 0 100
- end: 10000 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 10000 10000
- tile-size: NaN 10000
- start: 0 100
- end: 10000 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
-
- # Not axis-aligned
- - type: gradient
- bounds: 50 50 200 200
- tile-size: NaN 200
- start: 0 0
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: NaN 50 200 200
- tile-size: 100 100
- start: 0 0
- end: 200 100
- stops: [0.0, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, 0.75, blue,
- 0.75, black, 1.0, black]
- - type: gradient
- bounds: 50 50 200 200
- start: 0.0 0
- end: 200 100
- stops: [NaN, red, 0.25, red,
- 0.25, green, 0.5, green,
- 0.0, blue, NaN, blue,
- 0.75, black, 1.0, black]
-
- # Post-apocalyptic gradient
- - type: gradient
- bounds: NaN NaN NaN NaN
- tile-size: NaN NaN
- start: NaN NaN
- end: NaN NaN
- stops: [NaN, red, NaN, red,
- NaN, green, NaN, green,
- NaN, blue, NaN, blue,
- NaN, black, NaN, black]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-ref.png b/third_party/webrender/wrench/reftests/gradient/linear-ref.png
index b157ee4befb..999c831000d 100644
--- a/third_party/webrender/wrench/reftests/gradient/linear-ref.png
+++ b/third_party/webrender/wrench/reftests/gradient/linear-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-repeat-clip-ref.yaml b/third_party/webrender/wrench/reftests/gradient/linear-repeat-clip-ref.yaml
deleted file mode 100644
index d8fd0b3b326..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-repeat-clip-ref.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: 0 0 500 500
- start: 0 -20
- end: 0 520
- stops: [0.0, green, 0.5, blue, 1.0, red]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-repeat-clip.yaml b/third_party/webrender/wrench/reftests/gradient/linear-repeat-clip.yaml
deleted file mode 100644
index 9c84edd7140..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-repeat-clip.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-# This test has a gradient primitive that is much larger than its local clip
-# and some tiling that can be optimized away. The combination of clipping
-# and stretching optimizations used to cause produce the wrong clip.
----
-root:
- items:
- - type: gradient
- bounds: -500 0 2000 500
- tile-size: 100 500
- clip-rect: 0 0 500 500
- start: 0 -20
- end: 0 520
- stops: [0.0, green, 0.5, blue, 1.0, red]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-reverse-2-ref.yaml b/third_party/webrender/wrench/reftests/gradient/linear-reverse-2-ref.yaml
deleted file mode 100644
index b85d3035030..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-reverse-2-ref.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: 50 50 200 200
- start: 50 100
- end: 150 100
- stops: [0.0, green, 0.5, blue,
- 0.5, blue, 1.0, red]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-reverse-2.yaml b/third_party/webrender/wrench/reftests/gradient/linear-reverse-2.yaml
deleted file mode 100644
index c74c6b88f91..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-reverse-2.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: 50 50 200 200
- start: 150 100
- end: 50 100
- stops: [0.0, red, 0.5, blue,
- 0.5, blue, 1.0, green]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-reverse-3-ref.yaml b/third_party/webrender/wrench/reftests/gradient/linear-reverse-3-ref.yaml
deleted file mode 100644
index 088977f50fa..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-reverse-3-ref.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: 50 50 100 100
- start: 0 0
- end: 110 0
- stops: [0.0, white, 1.0, black]
- - type: gradient
- bounds: 150 50 100 100
- start: 0 0
- end: 110 0
- stops: [0.0, black, 1.0, white]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-reverse-3.yaml b/third_party/webrender/wrench/reftests/gradient/linear-reverse-3.yaml
deleted file mode 100644
index 87b675c8ad4..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/linear-reverse-3.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-root:
- items:
- - type: gradient
- bounds: 50 50 100 100
- start: 0 0
- end: 110 0
- stops: [0.0, white, 1.0, black]
- - type: gradient
- bounds: 150 50 100 100
- start: 110 0
- end: 0 0
- stops: [0.0, white, 1.0, black]
diff --git a/third_party/webrender/wrench/reftests/gradient/linear-stops-ref.png b/third_party/webrender/wrench/reftests/gradient/linear-stops-ref.png
index 844b2440023..ed80ec9988b 100644
--- a/third_party/webrender/wrench/reftests/gradient/linear-stops-ref.png
+++ b/third_party/webrender/wrench/reftests/gradient/linear-stops-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/premultiplied-aligned.png b/third_party/webrender/wrench/reftests/gradient/premultiplied-aligned.png
index 35fad64b1a3..6fc18cd8c0e 100644
--- a/third_party/webrender/wrench/reftests/gradient/premultiplied-aligned.png
+++ b/third_party/webrender/wrench/reftests/gradient/premultiplied-aligned.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/premultiplied-angle.png b/third_party/webrender/wrench/reftests/gradient/premultiplied-angle.png
index a37120ad7e7..e533843d7d5 100644
--- a/third_party/webrender/wrench/reftests/gradient/premultiplied-angle.png
+++ b/third_party/webrender/wrench/reftests/gradient/premultiplied-angle.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-circle-ref.png b/third_party/webrender/wrench/reftests/gradient/radial-circle-ref.png
index 3f9a748a7ed..7b339707a72 100644
--- a/third_party/webrender/wrench/reftests/gradient/radial-circle-ref.png
+++ b/third_party/webrender/wrench/reftests/gradient/radial-circle-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-ellipse-ref.png b/third_party/webrender/wrench/reftests/gradient/radial-ellipse-ref.png
index b4786cd3877..fd60ec35b7e 100644
--- a/third_party/webrender/wrench/reftests/gradient/radial-ellipse-ref.png
+++ b/third_party/webrender/wrench/reftests/gradient/radial-ellipse-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-large-ref.png b/third_party/webrender/wrench/reftests/gradient/radial-large-ref.png
deleted file mode 100644
index 444b876094e..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-large-ref.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-large.yaml b/third_party/webrender/wrench/reftests/gradient/radial-large.yaml
deleted file mode 100644
index c03adec6c1d..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-large.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-root:
- items:
- - type: radial-gradient
- bounds: 50 50 2000 300
- center: 1000 150
- radius: 900 200
- stops: [0, red, 1, blue]
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-nan.yaml b/third_party/webrender/wrench/reftests/gradient/radial-nan.yaml
deleted file mode 100644
index f8127a8c7a5..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-nan.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
----
-root:
- items:
- - type: radial-gradient
- bounds: 50 50 NaN 300
- center: 150 150
- radius: 200 200
- stops: [0, red, 1, blue]
- - type: radial-gradient
- bounds: 50 50 300 300
- center: 150 NaN
- radius: 200 200
- stops: [0, red, 1, blue]
- - type: radial-gradient
- bounds: 50 50 300 300
- center: 150 150
- radius: NaN 200
- stops: [0, red, 1, blue]
- - type: radial-gradient
- bounds: 50 50 300 300
- center: 150 150
- radius: 200 200
- stops: [0, red, NaN, blue]
- - type: radial-gradient
- bounds: 50 50 300 300
- tile-size: 50 NaN
- center: 150 150
- radius: 200 200
- stops: [0, red, 1, blue]
- - type: radial-gradient
- bounds: 50 50 300 300
- clip-rect: 50 10 NaN 300
- center: 150 150
- radius: 200 200
- stops: [0, red, 1, blue]
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-optimized-2-ref.yaml b/third_party/webrender/wrench/reftests/gradient/radial-optimized-2-ref.yaml
deleted file mode 100644
index 4b900d93fad..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-optimized-2-ref.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-root:
- items:
- - type: radial-gradient
- bounds: 50 50 500 500
- center: 150 150
- radius: 80 160
- stops: [0, red, 1, [0,0,0,0]]
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-optimized-2.yaml b/third_party/webrender/wrench/reftests/gradient/radial-optimized-2.yaml
deleted file mode 100644
index 3fac9042e21..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-optimized-2.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-root:
- items:
- - type: radial-gradient
- bounds: 50 50 500 500
- center: 150 150
- radius: 20 40
- stops: [0, red, 4, [0,0,0,0]]
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-optimized-ref.yaml b/third_party/webrender/wrench/reftests/gradient/radial-optimized-ref.yaml
deleted file mode 100644
index 380384ffe66..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-optimized-ref.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-# Hand-roll decomposition that webrender would do for radial-optimized.yaml
----
-root:
- items:
- - type: radial-gradient
- bounds: 160 160 20 30
- center: 10 15
- radius: 10 15
- stops: [0, [255.0,0,0,0.7], 1, [0,0,255.0,0.7]]
- - type: rect
- bounds: 10 20 150 140
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 160 20 20 140
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 180 20 130 140
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 10 160 150 30
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 180 160 130 30
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 10 190 150 160
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 160 190 20 160
- color: [0,0,255.0,0.7]
- - type: rect
- bounds: 180 190 130 160
- color: [0,0,255.0,0.7]
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-optimized.yaml b/third_party/webrender/wrench/reftests/gradient/radial-optimized.yaml
deleted file mode 100644
index cfc668bc66b..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-optimized.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-# A small radial gradient in a large primitive.
-# Most of the primitive is the constant color of the last gradient stop,
-# and webrender will try to optimize these parts by drawing them with
-# solid color primitives.
----
-root:
- items:
- - type: radial-gradient
- bounds: 10 20 300 330
- center: 160 155
- radius: 10 15
- stops: [0, [255.0,0,0,0.7], 1, [0,0,255.0,0.7]]
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized-ref.yaml b/third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized-ref.yaml
deleted file mode 100644
index b5b4957f9be..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized-ref.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-root:
- items:
- - type: radial-gradient
- bounds: 50 40 20 20
- center: 10 10
- radius: 10 10
- stops: [0, red, 1, blue, 1, [0,0,0,0]]
- - type: radial-gradient
- bounds: 450 40 20 20
- center: 10 10
- radius: 10 10
- stops: [0, red, 1, blue, 1, [0,0,0,0]]
- - type: radial-gradient
- bounds: 450 340 20 20
- center: 10 10
- radius: 10 10
- stops: [0, red, 1, blue, 1, [0,0,0,0]]
- - type: radial-gradient
- bounds: 50 340 20 20
- center: 10 10
- radius: 10 10
- stops: [0, red, 1, blue, 1, [0,0,0,0]]
-
diff --git a/third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized.yaml b/third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized.yaml
deleted file mode 100644
index a92fd244797..00000000000
--- a/third_party/webrender/wrench/reftests/gradient/radial-tiling-optimized.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-# A small repeated radial gradient in a large primitive.
-# There is a lot of fully transparent space that webrender
-# will optimize out.
----
-root:
- items:
- - type: radial-gradient
- bounds: 10 10 800 600
- center: 50 40
- radius: 10 10
- stops: [0, red, 1, blue, 1, [0,0,0,0]]
- tile-size: 300 200
- tile-spacing: 100 100
diff --git a/third_party/webrender/wrench/reftests/gradient/reftest.list b/third_party/webrender/wrench/reftests/gradient/reftest.list
index 9f8dc0cc086..847c06ea8ee 100644
--- a/third_party/webrender/wrench/reftests/gradient/reftest.list
+++ b/third_party/webrender/wrench/reftests/gradient/reftest.list
@@ -1,5 +1,5 @@
platform(linux,mac) == premultiplied-aligned.yaml premultiplied-aligned.png
-fuzzy(1,500) platform(linux,mac) == premultiplied-angle.yaml premultiplied-angle.png
+platform(linux,mac) == premultiplied-angle.yaml premultiplied-angle.png
platform(linux,mac) == premultiplied-radial.yaml premultiplied-radial.png
platform(linux,mac) == premultiplied-conic.yaml premultiplied-conic.png
@@ -10,8 +10,6 @@ platform(linux,mac) == premultiplied-conic-2.yaml premultiplied-conic-2.png
== linear.yaml linear-ref.png
== linear-reverse.yaml linear-ref.png
-fuzzy(255,1200) == linear-reverse-2.yaml linear-reverse-2-ref.yaml
-== linear-reverse-3.yaml linear-reverse-3-ref.yaml
platform(linux,mac) fuzzy(1,35000) == linear-stops.yaml linear-stops-ref.png
== linear-clamp-1a.yaml linear-clamp-1-ref.yaml
@@ -24,7 +22,7 @@ fuzzy-range(<=1,*4800) == linear-hard-stop.yaml linear-hard-stop-ref.png
fuzzy(1,20000) == linear.yaml linear-ref.yaml
fuzzy(1,20000) == linear-reverse.yaml linear-ref.yaml
-fuzzy(1,40000) == linear-aligned-clip.yaml linear-aligned-clip-ref.yaml
+fuzzy(1,15200) == linear-aligned-clip.yaml linear-aligned-clip-ref.yaml
platform(linux,mac) fuzzy(1,80000) == radial-circle.yaml radial-circle-ref.png
platform(linux,mac) fuzzy(1,80000) == radial-ellipse.yaml radial-ellipse-ref.png
@@ -52,8 +50,8 @@ platform(linux,mac) fuzzy(1,80000) == radial-ellipse.yaml radial-ellipse-ref.png
# this might be able to be improved
fuzzy(255,1200) == repeat-linear.yaml repeat-linear-ref.yaml
fuzzy(255,1200) == repeat-linear-reverse.yaml repeat-linear-ref.yaml
-fuzzy(255,2666) == repeat-radial.yaml repeat-radial-ref.yaml
-fuzzy(255,2666) == repeat-radial-negative.yaml repeat-radial-ref.yaml
+fuzzy(255,2664) == repeat-radial.yaml repeat-radial-ref.yaml
+fuzzy(255,2664) == repeat-radial-negative.yaml repeat-radial-ref.yaml
fuzzy(255,1652) == repeat-conic.yaml repeat-conic-ref.yaml
fuzzy(255,1652) == repeat-conic-negative.yaml repeat-conic-ref.yaml
@@ -64,19 +62,18 @@ fuzzy(1,62154) == tiling-linear-3.yaml tiling-linear-3-ref.yaml
fuzzy(1,17) == tiling-radial-1.yaml tiling-radial-1-ref.yaml
fuzzy(1,1) == tiling-radial-2.yaml tiling-radial-2-ref.yaml
-fuzzy(1,3) fuzzy-if(platform(swgl),1,1318) == tiling-radial-3.yaml tiling-radial-3-ref.yaml
+fuzzy(1,3) == tiling-radial-3.yaml tiling-radial-3-ref.yaml
fuzzy(1,17) == tiling-radial-4.yaml tiling-radial-4-ref.yaml
fuzzy(1,17) == tiling-conic-1.yaml tiling-conic-1-ref.yaml
fuzzy(1,1) == tiling-conic-2.yaml tiling-conic-2-ref.yaml
-fuzzy(1,7) == tiling-conic-3.yaml tiling-conic-3-ref.yaml
+fuzzy(1,3) == tiling-conic-3.yaml tiling-conic-3-ref.yaml
== radial-zero-size-1.yaml radial-zero-size-ref.yaml
== radial-zero-size-2.yaml radial-zero-size-ref.yaml
== radial-zero-size-3.yaml radial-zero-size-ref.yaml
== linear-adjust-tile-size.yaml linear-adjust-tile-size-ref.yaml
-== linear-repeat-clip.yaml linear-repeat-clip-ref.yaml
platform(linux,mac) == linear-aligned-border-radius.yaml linear-aligned-border-radius.png
# interpolation fuzz from sampling texture-baked gradient ramps
@@ -84,22 +81,21 @@ platform(linux,mac) fuzzy-range(<=1,*1404) == repeat-border-radius.yaml repeat-b
== conic.yaml conic-ref.yaml
fuzzy(1,57) == conic-simple.yaml conic-simple.png
-fuzzy(255,302) == conic-angle.yaml conic-angle.png
+fuzzy(255,166) == conic-angle.yaml conic-angle.png
== conic-center.yaml conic-center.png
fuzzy(1,2) == conic-angle-wraparound.yaml conic-angle.yaml
fuzzy(1,1) == conic-angle-wraparound-negative.yaml conic-angle.yaml
-fuzzy(1,333) == conic-color-wheel.yaml conic-color-wheel.png
+fuzzy(1,115) == conic-color-wheel.yaml conic-color-wheel.png
# gradient caching tests
# replaces a computed gradient by a sampled texture, so a lot of off-by-one
# variation from interpolation, which is fine:
fuzzy-range(<=1,*195000) == gradient_cache_5stops.yaml gradient_cache_5stops_ref.yaml
-fuzzy-range(<=1,*171840) == gradient_cache_5stops_vertical.yaml gradient_cache_5stops_vertical_ref.yaml
+fuzzy-range(<=1,*169000) == gradient_cache_5stops_vertical.yaml gradient_cache_5stops_vertical_ref.yaml
== gradient_cache_hardstop.yaml gradient_cache_hardstop_ref.yaml
-fuzzy-range(<=1,1) == gradient_cache_hardstop_clip.yaml gradient_cache_hardstop_clip_ref.yaml
+== gradient_cache_hardstop_clip.yaml gradient_cache_hardstop_clip_ref.yaml
== gradient_cache_clamp.yaml gradient_cache_clamp_ref.yaml
== gradient_cache_repeat.yaml gradient_cache_repeat_ref.yaml
-== linear-bug-1703141.yaml linear-bug-1703141.yaml
# Recognize opaque tiles with gradient backgrounds
== conic-backdrop-with-spacing.yaml conic-backdrop-with-spacing-ref.yaml
@@ -108,19 +104,3 @@ fuzzy-range(<=1,1) == gradient_cache_hardstop_clip.yaml gradient_cache_hardstop_
== linear-backdrop.yaml linear-backdrop-ref.yaml
== radial-backdrop-with-spacing.yaml radial-backdrop-with-spacing-ref.yaml
== radial-backdrop.yaml radial-backdrop-ref.yaml
-
-# Exercise the radial gradient optimization code path
-== radial-optimized.yaml radial-optimized-ref.yaml
-== radial-optimized-2.yaml radial-optimized-2-ref.yaml
-== radial-tiling-optimized.yaml radial-tiling-optimized-ref.yaml
-
-# Exercise the cached gradient scaling code path
-fuzzy(2,23000) == linear-large.yaml linear-large-ref.yaml
-== conic-large.yaml conic-large-ref.yaml
-fuzzy(1,7000) == radial-large.yaml radial-large-ref.png
-
-# crash tests
-== linear-far-endpoints.yaml linear-far-endpoints.yaml
-== linear-nan.yaml linear-nan.yaml
-== radial-nan.yaml radial-nan.yaml
-== conic-nan.yaml conic-nan.yaml
diff --git a/third_party/webrender/wrench/reftests/gradient/repeat-border-radius.png b/third_party/webrender/wrench/reftests/gradient/repeat-border-radius.png
index cc0fa947ae7..7896fa7e2ae 100644
--- a/third_party/webrender/wrench/reftests/gradient/repeat-border-radius.png
+++ b/third_party/webrender/wrench/reftests/gradient/repeat-border-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/image/downscale.png b/third_party/webrender/wrench/reftests/image/downscale.png
index 460a29df196..877d0e48743 100644
--- a/third_party/webrender/wrench/reftests/image/downscale.png
+++ b/third_party/webrender/wrench/reftests/image/downscale.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/image/occlusion.png b/third_party/webrender/wrench/reftests/image/occlusion.png
index 56332f2ef54..c62a58cdec8 100644
--- a/third_party/webrender/wrench/reftests/image/occlusion.png
+++ b/third_party/webrender/wrench/reftests/image/occlusion.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/image/reftest.list b/third_party/webrender/wrench/reftests/image/reftest.list
index c1581d2e89f..5c3db88404c 100644
--- a/third_party/webrender/wrench/reftests/image/reftest.list
+++ b/third_party/webrender/wrench/reftests/image/reftest.list
@@ -4,12 +4,11 @@
== tile-with-spacing.yaml tile-with-spacing-ref.yaml
skip_on(android,device) fuzzy(1,331264) == tile-repeat-prim-or-decompose.yaml tile-repeat-prim-or-decompose-ref.yaml
platform(linux,mac) options(allow-mipmaps) == downscale.yaml downscale.png
-skip_on(android,device) fuzzy-if(platform(swgl),1,20) == segments.yaml segments.png
+skip_on(android,device) == segments.yaml segments.png
platform(linux,mac) == yuv.yaml yuv.png
-platform(linux,mac) fuzzy(1,6000) fuzzy-if(platform(swgl),1,205000) == yuv-clip.yaml yuv.png
skip_on(android,device) == tiled-clip-chain.yaml tiled-clip-chain-ref.yaml
skip_on(android,device) == tiled-complex-clip.yaml tiled-complex-clip-ref.yaml
platform(linux,mac) == texture-rect.yaml texture-rect-ref.yaml
platform(linux) == occlusion.yaml occlusion.png
# allow slight lerp change where the squares meet, but catch lerping problems on the boundary (should clamp)
-fuzzy-range(<=2,*450) == rgb_composite.yaml rgb_composite_ref.yaml
+fuzzy-range(<=1,*450) == rgb_composite.yaml rgb_composite_ref.yaml
diff --git a/third_party/webrender/wrench/reftests/image/segments.png b/third_party/webrender/wrench/reftests/image/segments.png
index 45e4b544d41..168e9348ea0 100644
--- a/third_party/webrender/wrench/reftests/image/segments.png
+++ b/third_party/webrender/wrench/reftests/image/segments.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/image/yuv-clip.yaml b/third_party/webrender/wrench/reftests/image/yuv-clip.yaml
deleted file mode 100644
index 6ceb7b69407..00000000000
--- a/third_party/webrender/wrench/reftests/image/yuv-clip.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-root:
- items:
- - type: clip
- bounds: [0, 0, 1314, 650]
- complex:
- - rect: [0, 0, 1314, 650]
- items:
- - type: yuv-image
- format: planar
- src-y: spacex-y.png
- src-u: spacex-u.png
- src-v: spacex-v.png
- bounds: [10, 10, 427, 640]
-
- - type: yuv-image
- format: interleaved
- src: spacex-yuv.png
- bounds: [447, 10, 427, 640]
-
- - type: yuv-image
- format: nv12
- src-y: spacex-y.png
- src-uv: spacex-uv.png
- bounds: [887, 10, 427, 640]
diff --git a/third_party/webrender/wrench/reftests/image/yuv.png b/third_party/webrender/wrench/reftests/image/yuv.png
index 66519bea8f1..56320e4a6ba 100644
--- a/third_party/webrender/wrench/reftests/image/yuv.png
+++ b/third_party/webrender/wrench/reftests/image/yuv.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/invalidation/one-rounded-rect-green.yaml b/third_party/webrender/wrench/reftests/invalidation/one-rounded-rect-green.yaml
new file mode 100644
index 00000000000..2366913cbdc
--- /dev/null
+++ b/third_party/webrender/wrench/reftests/invalidation/one-rounded-rect-green.yaml
@@ -0,0 +1,17 @@
+---
+root:
+ items:
+ -
+ bounds: 0 0 1000 1000
+ type: stacking-context
+ cache: true
+ items:
+ - type: clip
+ bounds: [50, 50, 200, 200]
+ complex:
+ - rect: [50, 50, 200, 200]
+ radius: 8
+ items:
+ - type: rect
+ bounds: 50 50 200 200
+ color: green
diff --git a/third_party/webrender/wrench/reftests/invalidation/one-rounded-rect.yaml b/third_party/webrender/wrench/reftests/invalidation/one-rounded-rect.yaml
new file mode 100644
index 00000000000..988233e9ed2
--- /dev/null
+++ b/third_party/webrender/wrench/reftests/invalidation/one-rounded-rect.yaml
@@ -0,0 +1,17 @@
+---
+root:
+ items:
+ -
+ bounds: 0 0 1000 1000
+ type: stacking-context
+ cache: true
+ items:
+ - type: clip
+ bounds: [50, 50, 200, 200]
+ complex:
+ - rect: [50, 50, 200, 200]
+ radius: 8
+ items:
+ - type: rect
+ bounds: 50 50 200 200
+ color: red
diff --git a/third_party/webrender/wrench/reftests/invalidation/reftest.list b/third_party/webrender/wrench/reftests/invalidation/reftest.list
new file mode 100644
index 00000000000..5925e61da96
--- /dev/null
+++ b/third_party/webrender/wrench/reftests/invalidation/reftest.list
@@ -0,0 +1 @@
+#dirty([(50,50):256x256]) one-rounded-rect.yaml dirty([(50,50):256x256]) one-rounded-rect-green.yaml dirty([(50,50):256x256]) one-rounded-rect.yaml == one-rounded-rect.yaml
diff --git a/third_party/webrender/wrench/reftests/invalidation/rounded-rects.yaml b/third_party/webrender/wrench/reftests/invalidation/rounded-rects.yaml
new file mode 100644
index 00000000000..8c9b0db2317
--- /dev/null
+++ b/third_party/webrender/wrench/reftests/invalidation/rounded-rects.yaml
@@ -0,0 +1,42 @@
+---
+root:
+ items:
+ -
+ bounds: 0 0 1000 1000
+ type: stacking-context
+ cache: true
+ items:
+ - type: clip
+ bounds: [50, 50, 200, 200]
+ complex:
+ - rect: [50, 50, 200, 200]
+ radius: 8
+ items:
+ - type: rect
+ bounds: 50 50 200 200
+ color: red
+
+ - type: clip
+ bounds: [270, 50, 200, 200]
+ complex:
+ - rect: [270, 50, 200, 200]
+ radius: [16, 32, 48, 64]
+ items:
+ - type: rect
+ bounds: 270 50 200 200
+ color: green
+
+ - type: clip
+ bounds: [490, 50, 500, 500]
+ complex:
+ - rect: [490, 50, 500, 500]
+ radius: {
+ top-left: [32, 16],
+ top-right: [40, 24],
+ bottom-left: [48, 64],
+ bottom-right: [52, 80],
+ }
+ items:
+ - type: rect
+ bounds: 490 50 500 500
+ color: blue
diff --git a/third_party/webrender/wrench/reftests/invalidation/two-rounded-rects.yaml b/third_party/webrender/wrench/reftests/invalidation/two-rounded-rects.yaml
new file mode 100644
index 00000000000..315d6434cdc
--- /dev/null
+++ b/third_party/webrender/wrench/reftests/invalidation/two-rounded-rects.yaml
@@ -0,0 +1,27 @@
+---
+root:
+ items:
+ -
+ bounds: 0 0 1000 1000
+ type: stacking-context
+ cache: true
+ items:
+ - type: clip
+ bounds: [50, 50, 200, 200]
+ complex:
+ - rect: [50, 50, 200, 200]
+ radius: 8
+ items:
+ - type: rect
+ bounds: 50 50 200 200
+ color: red
+
+ - type: clip
+ bounds: [270, 50, 200, 200]
+ complex:
+ - rect: [270, 50, 200, 200]
+ radius: [16, 32, 48, 64]
+ items:
+ - type: rect
+ bounds: 270 50 200 200
+ color: green
diff --git a/third_party/webrender/wrench/reftests/mask/checkerboard.png b/third_party/webrender/wrench/reftests/mask/checkerboard.png
index f2c45c31940..e8a05df95be 100644
--- a/third_party/webrender/wrench/reftests/mask/checkerboard.png
+++ b/third_party/webrender/wrench/reftests/mask/checkerboard.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/mask/circle.png b/third_party/webrender/wrench/reftests/mask/circle.png
deleted file mode 100644
index ea5789e44f6..00000000000
--- a/third_party/webrender/wrench/reftests/mask/circle.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/mask/mask-perspective.png b/third_party/webrender/wrench/reftests/mask/mask-perspective.png
index 425872c2900..02c0cc93ba3 100644
--- a/third_party/webrender/wrench/reftests/mask/mask-perspective.png
+++ b/third_party/webrender/wrench/reftests/mask/mask-perspective.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/mask/reftest.list b/third_party/webrender/wrench/reftests/mask/reftest.list
index 8119f4a830d..7a18b4a0108 100644
--- a/third_party/webrender/wrench/reftests/mask/reftest.list
+++ b/third_party/webrender/wrench/reftests/mask/reftest.list
@@ -1,6 +1,6 @@
-fuzzy(1,10) == mask.yaml mask-ref.yaml
-fuzzy(1,10) == mask-tiling.yaml mask-ref.yaml
-fuzzy(1,10) == nested-mask.yaml nested-mask-ref.yaml
+== mask.yaml mask-ref.yaml
+== mask-tiling.yaml mask-ref.yaml
+== nested-mask.yaml nested-mask-ref.yaml
== nested-mask-tiling.yaml nested-mask-ref.yaml
!= mask.yaml green.yaml
== aligned-layer-rect.yaml aligned-layer-rect-ref.yaml
@@ -12,6 +12,5 @@ platform(linux,mac) fuzzy(1,17500) == mask-atomicity-tiling.yaml mask-atomicity-
platform(linux,mac) == mask-perspective.yaml mask-perspective.png
== fuzzy(1,11) mask-perspective-tiling.yaml mask-perspective.yaml
platform(linux,mac) == checkerboard.yaml checkerboard.png
-skip_on(android,device) fuzzy(2,1900) == checkerboard.yaml checkerboard-tiling.yaml # Fails on a Pixel2
+skip_on(android,device) == checkerboard.yaml checkerboard-tiling.yaml # Fails on a Pixel2
== missing-mask.yaml missing-mask-ref.yaml
-platform(linux) == scaled-filter-raster-root.yaml scaled-filter-raster-root.png
diff --git a/third_party/webrender/wrench/reftests/mask/rounded-corners.png b/third_party/webrender/wrench/reftests/mask/rounded-corners.png
index 4f8d1d0fa02..19adfe02ec8 100644
--- a/third_party/webrender/wrench/reftests/mask/rounded-corners.png
+++ b/third_party/webrender/wrench/reftests/mask/rounded-corners.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.png b/third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.png
deleted file mode 100644
index e9cf49553ed..00000000000
--- a/third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.yaml b/third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.yaml
deleted file mode 100644
index b4e9d8574b2..00000000000
--- a/third_party/webrender/wrench/reftests/mask/scaled-filter-raster-root.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Verify that a tiled clip mask is correctly applied to a surface that
-# is both a raster root and has a device-pixel ratio different than the
-# primary surface (due to the scale transform).
----
-root:
- items:
- - type: stacking-context
- transform-origin: [0, 0]
- transform: scale(20)
- items:
- - type: clip
- bounds: [10, 10, 10, 10]
- id: 2
- image-mask:
- image: "circle.png"
- rect: [10, 10, 10, 10]
- repeat: false
- tile-size: 200
- - type: stacking-context
- filters: [opacity(0.5)]
- items:
- - type: stacking-context
- clip-node: 2
- items:
- - type: rect
- bounds: [10, 10, 10, 10]
- color: blue
diff --git a/third_party/webrender/wrench/reftests/performance/no-clip-mask.png b/third_party/webrender/wrench/reftests/performance/no-clip-mask.png
index 0b1bfca7558..1fc4ef0483a 100644
--- a/third_party/webrender/wrench/reftests/performance/no-clip-mask.png
+++ b/third_party/webrender/wrench/reftests/performance/no-clip-mask.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/reftest.list b/third_party/webrender/wrench/reftests/reftest.list
index 8d39fcc5a7c..a3194332021 100644
--- a/third_party/webrender/wrench/reftests/reftest.list
+++ b/third_party/webrender/wrench/reftests/reftest.list
@@ -4,10 +4,10 @@ include blend/reftest.list
include border/reftest.list
include boxshadow/reftest.list
include clip/reftest.list
-include compositor-surface/reftest.list
include filters/reftest.list
include gradient/reftest.list
include image/reftest.list
+include invalidation/reftest.list
include mask/reftest.list
include performance/reftest.list
include scrolling/reftest.list
diff --git a/third_party/webrender/wrench/reftests/scrolling/ancestor-scroll-frames.yaml b/third_party/webrender/wrench/reftests/scrolling/ancestor-scroll-frames.yaml
deleted file mode 100644
index 9d5c1d006e0..00000000000
--- a/third_party/webrender/wrench/reftests/scrolling/ancestor-scroll-frames.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-# Test that we don't select a nested scroll frame as a scroll root and include
-# primitives that are positioned by ancestors of that scroll root, when creating
-# a tile cache for a blend container. This test will cause a panic in
-# `get_relative_transform_with_face` otherwise.
----
-root:
- items:
- - type: stacking-context
- blend-container: true
- items:
- - type: scroll-frame
- bounds: [0, 0, 200, 200]
- content-size: [200, 400]
- items:
- - type: stacking-context
- bounds: [0, 0, 200, 200]
- transform: rotate(45)
- items:
- - type: rect
- bounds: [0, 0, 200, 200]
- color: red
- - type: scroll-frame
- bounds: [200, 0, 400, 200]
- content-size: [400, 200]
- items:
- - type: scroll-frame
- bounds: [200, 0, 400, 200]
- content-size: [400, 400]
- items:
- - type: rect
- bounds: [200, 0, 100, 200]
- color: green
- backface-visible: true
- - type: rect
- bounds: [300, 0, 100, 200]
- color: blue
- backface-visible: false
diff --git a/third_party/webrender/wrench/reftests/scrolling/blank.yaml b/third_party/webrender/wrench/reftests/scrolling/blank.yaml
deleted file mode 100644
index c4eb3ab6730..00000000000
--- a/third_party/webrender/wrench/reftests/scrolling/blank.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-root:
diff --git a/third_party/webrender/wrench/reftests/scrolling/reftest.list b/third_party/webrender/wrench/reftests/scrolling/reftest.list
index a62984266e7..7f7241330fa 100644
--- a/third_party/webrender/wrench/reftests/scrolling/reftest.list
+++ b/third_party/webrender/wrench/reftests/scrolling/reftest.list
@@ -17,5 +17,3 @@
== nested-stickys.yaml nested-stickys-ref.yaml
== viewport-offset.yaml viewport-offset-ref.yaml
== ext-scroll-offset-1.yaml ext-scroll-offset-1-ref.yaml
-== scroll-frame-order.yaml scroll-frame-order-ref.yaml
-!= ancestor-scroll-frames.yaml blank.yaml
diff --git a/third_party/webrender/wrench/reftests/scrolling/scale-offsets.yaml b/third_party/webrender/wrench/reftests/scrolling/scale-offsets.yaml
index fe4cf741319..5bfc2c22c9f 100644
--- a/third_party/webrender/wrench/reftests/scrolling/scale-offsets.yaml
+++ b/third_party/webrender/wrench/reftests/scrolling/scale-offsets.yaml
@@ -13,3 +13,4 @@ root:
- type: rect
color: green
bounds: [100, 100, 260, 260]
+ hit-testing-tag: [0, 0]
diff --git a/third_party/webrender/wrench/reftests/scrolling/scroll-frame-order-ref.yaml b/third_party/webrender/wrench/reftests/scrolling/scroll-frame-order-ref.yaml
deleted file mode 100644
index 5429d052db2..00000000000
--- a/third_party/webrender/wrench/reftests/scrolling/scroll-frame-order-ref.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-# Tests that scroll frames can be defined and used in any order.
-
----
-root:
- items:
- - type: scroll-frame
- bounds: [0, 0, 50, 50]
- content-size: [50, 50]
- clip-rect: [0, 0, 50, 50]
- id: 123
- - type: scroll-frame
- bounds: [50, 0, 50, 50]
- content-size: [50, 50]
- clip-rect: [50, 0, 50, 50]
- scroll-offset: [0, -25]
- id: 456
- - type: scroll-frame
- bounds: [100, 0, 50, 50]
- content-size: [50, 50]
- clip-rect: [100, 0, 50, 50]
- scroll-offset: [0, -15]
- id: 789
- - type: rect
- bounds: [0, 0, 50, 50]
- color: red
- clip-and-scroll: 123
- - type: rect
- bounds: [50, 0, 50, 50]
- color: green
- clip-and-scroll: 456
- - type: rect
- bounds: [100, 0, 50, 50]
- color: blue
- clip-and-scroll: 789
diff --git a/third_party/webrender/wrench/reftests/scrolling/scroll-frame-order.yaml b/third_party/webrender/wrench/reftests/scrolling/scroll-frame-order.yaml
deleted file mode 100644
index 1801dbb08ad..00000000000
--- a/third_party/webrender/wrench/reftests/scrolling/scroll-frame-order.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-# Tests that scroll frames can be defined and used in any order.
-
----
-root:
- items:
- - type: scroll-frame
- bounds: [0, 0, 50, 50]
- content-size: [50, 50]
- clip-rect: [0, 0, 50, 50]
- id: 123
- - type: rect
- bounds: [0, 0, 50, 50]
- color: red
- clip-and-scroll: 123
- - type: scroll-frame
- bounds: [50, 0, 50, 50]
- content-size: [50, 50]
- clip-rect: [50, 0, 50, 50]
- scroll-offset: [0, -25]
- id: 456
- - type: rect
- bounds: [50, 0, 50, 50]
- color: green
- clip-and-scroll: 456
- - type: scroll-frame
- bounds: [100, 0, 50, 50]
- content-size: [50, 50]
- clip-rect: [100, 0, 50, 50]
- scroll-offset: [0, -15]
- id: 789
- - type: rect
- bounds: [100, 0, 50, 50]
- color: blue
- clip-and-scroll: 789
-
diff --git a/third_party/webrender/wrench/reftests/snap/preserve-3d.png b/third_party/webrender/wrench/reftests/snap/preserve-3d.png
index e02c30654ca..d3efa984ee0 100644
--- a/third_party/webrender/wrench/reftests/snap/preserve-3d.png
+++ b/third_party/webrender/wrench/reftests/snap/preserve-3d.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/snap/reftest.list b/third_party/webrender/wrench/reftests/snap/reftest.list
index 1f35426a57f..84fe6c4979d 100644
--- a/third_party/webrender/wrench/reftests/snap/reftest.list
+++ b/third_party/webrender/wrench/reftests/snap/reftest.list
@@ -1,4 +1,3 @@
platform(linux,mac) == snap.yaml snap.png
== transform.yaml transform.png
platform(linux,mac) == preserve-3d.yaml preserve-3d.png
-fuzzy(128,200) == subpixel-raster-root.yaml subpixel-raster-root-ref.yaml
diff --git a/third_party/webrender/wrench/reftests/snap/snap.png b/third_party/webrender/wrench/reftests/snap/snap.png
index 38f7cf33e5f..1f736082d84 100644
--- a/third_party/webrender/wrench/reftests/snap/snap.png
+++ b/third_party/webrender/wrench/reftests/snap/snap.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/snap/subpixel-raster-root-ref.yaml b/third_party/webrender/wrench/reftests/snap/subpixel-raster-root-ref.yaml
deleted file mode 100644
index 8afe5677883..00000000000
--- a/third_party/webrender/wrench/reftests/snap/subpixel-raster-root-ref.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-root:
- items:
- -
- bounds: [0, 111, 200, 1]
- type: rect
- color: green
diff --git a/third_party/webrender/wrench/reftests/snap/subpixel-raster-root.yaml b/third_party/webrender/wrench/reftests/snap/subpixel-raster-root.yaml
deleted file mode 100644
index 494ec42334f..00000000000
--- a/third_party/webrender/wrench/reftests/snap/subpixel-raster-root.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-# Verify that we don't incorrectly snap surface rects with fractional pixel offsets
----
-root:
- items:
- -
- type: "stacking-context"
- transform: translate(0, 100.5, 0)
- transform-style: preserve-3d
- items:
- -
- bounds: [0, 10.5, 200, 1]
- type: rect
- color: green
diff --git a/third_party/webrender/wrench/reftests/snap/transform.png b/third_party/webrender/wrench/reftests/snap/transform.png
index 73c8feacdfa..4e2709effe9 100644
--- a/third_party/webrender/wrench/reftests/snap/transform.png
+++ b/third_party/webrender/wrench/reftests/snap/transform.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/split/reftest.list b/third_party/webrender/wrench/reftests/split/reftest.list
index cd9b33c02b3..65692ccd1d9 100644
--- a/third_party/webrender/wrench/reftests/split/reftest.list
+++ b/third_party/webrender/wrench/reftests/split/reftest.list
@@ -1,4 +1,4 @@
-fuzzy-if(platform(swgl),1,180000) == simple.yaml simple-ref.yaml
+== simple.yaml simple-ref.yaml
== order-1.yaml order-1-ref.yaml
== order-2.yaml order-2-ref.yaml
== nested.yaml nested-ref.yaml
@@ -10,7 +10,7 @@ fuzzy(35,200) == nested-coord-systems.yaml nested-coord-systems-ref.yaml
== intermediate-2.yaml intermediate-1-ref.yaml
== split-intersect1.yaml split-intersect1-ref.yaml
== ordering.yaml ordering-ref.yaml
-fuzzy(1,20) fuzzy-if(platform(swgl),128,39) == near-plane.yaml near-plane.png
+fuzzy(1,20) == near-plane.yaml near-plane.png
# Note: on windows the image is rendered at a slightly different spot.
# similarly, a lot of tests in "transform" are non-windows. TODO: investigate
platform(linux,mac) fuzzy(1,20) == same-plane.yaml same-plane.png
diff --git a/third_party/webrender/wrench/reftests/split/same-plane.png b/third_party/webrender/wrench/reftests/split/same-plane.png
index 3d5baf998fa..414dc5cd84f 100644
--- a/third_party/webrender/wrench/reftests/split/same-plane.png
+++ b/third_party/webrender/wrench/reftests/split/same-plane.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/alpha-transform.png b/third_party/webrender/wrench/reftests/text/alpha-transform.png
index e22066b8c6d..b5af70dbf88 100644
--- a/third_party/webrender/wrench/reftests/text/alpha-transform.png
+++ b/third_party/webrender/wrench/reftests/text/alpha-transform.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/blurred-shadow-local-clip-rect-ref.png b/third_party/webrender/wrench/reftests/text/blurred-shadow-local-clip-rect-ref.png
index 944d0b78477..895d42eaf5c 100644
--- a/third_party/webrender/wrench/reftests/text/blurred-shadow-local-clip-rect-ref.png
+++ b/third_party/webrender/wrench/reftests/text/blurred-shadow-local-clip-rect-ref.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/border-radius-alpha.png b/third_party/webrender/wrench/reftests/text/border-radius-alpha.png
index e20302a562d..cd792b0f673 100644
--- a/third_party/webrender/wrench/reftests/text/border-radius-alpha.png
+++ b/third_party/webrender/wrench/reftests/text/border-radius-alpha.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/border-radius-subpx.png b/third_party/webrender/wrench/reftests/text/border-radius-subpx.png
index 4361f563db4..267b2030a75 100644
--- a/third_party/webrender/wrench/reftests/text/border-radius-subpx.png
+++ b/third_party/webrender/wrench/reftests/text/border-radius-subpx.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/clipped-transform.png b/third_party/webrender/wrench/reftests/text/clipped-transform.png
index 24459d2d3c3..2afb04b8bbd 100644
--- a/third_party/webrender/wrench/reftests/text/clipped-transform.png
+++ b/third_party/webrender/wrench/reftests/text/clipped-transform.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/colors-alpha.png b/third_party/webrender/wrench/reftests/text/colors-alpha.png
index 3e8d985025d..e82f79ddce2 100644
--- a/third_party/webrender/wrench/reftests/text/colors-alpha.png
+++ b/third_party/webrender/wrench/reftests/text/colors-alpha.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/colors-subpx.png b/third_party/webrender/wrench/reftests/text/colors-subpx.png
index 50d5c36be38..8f943b2f80c 100644
--- a/third_party/webrender/wrench/reftests/text/colors-subpx.png
+++ b/third_party/webrender/wrench/reftests/text/colors-subpx.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/decorations-suite.png b/third_party/webrender/wrench/reftests/text/decorations-suite.png
index b9a33033492..dc69e0f6d9b 100644
--- a/third_party/webrender/wrench/reftests/text/decorations-suite.png
+++ b/third_party/webrender/wrench/reftests/text/decorations-suite.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/isolated-text.png b/third_party/webrender/wrench/reftests/text/isolated-text.png
index a0c8ed36506..7b310e78dcb 100644
--- a/third_party/webrender/wrench/reftests/text/isolated-text.png
+++ b/third_party/webrender/wrench/reftests/text/isolated-text.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/perspective-clip.png b/third_party/webrender/wrench/reftests/text/perspective-clip.png
index 7d19eff293c..3a836ecb2a8 100644
--- a/third_party/webrender/wrench/reftests/text/perspective-clip.png
+++ b/third_party/webrender/wrench/reftests/text/perspective-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/raster-space.png b/third_party/webrender/wrench/reftests/text/raster-space.png
index e6a1b38865e..66fcf7377a3 100644
--- a/third_party/webrender/wrench/reftests/text/raster-space.png
+++ b/third_party/webrender/wrench/reftests/text/raster-space.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/raster-space.yaml b/third_party/webrender/wrench/reftests/text/raster-space.yaml
index a4efba37fd9..e6534784123 100644
--- a/third_party/webrender/wrench/reftests/text/raster-space.yaml
+++ b/third_party/webrender/wrench/reftests/text/raster-space.yaml
@@ -4,7 +4,6 @@ root:
transform: scale(5.0) rotate(-45)
transform-origin: 300 300
raster-space: local(1.0)
- filters: [opacity(0.5)]
items:
- text: "Local"
origin: 20 50
diff --git a/third_party/webrender/wrench/reftests/text/reftest.list b/third_party/webrender/wrench/reftests/text/reftest.list
index 3fef2f41db0..d7a51ef42d6 100644
--- a/third_party/webrender/wrench/reftests/text/reftest.list
+++ b/third_party/webrender/wrench/reftests/text/reftest.list
@@ -14,13 +14,13 @@ fuzzy(1,1) == shadow-huge.yaml shadow-huge-ref.yaml
!= shadow-clipped-text.yaml blank.yaml
!= non-opaque.yaml non-opaque-notref.yaml
== decorations.yaml decorations-ref.yaml
-skip_on(android,device) fuzzy(1,3635) fuzzy-if(platform(swgl),3,13395) == decorations-suite.yaml decorations-suite.png # Fails on Pixel2
+skip_on(android,device) fuzzy(1,3001) == decorations-suite.yaml decorations-suite.png # Fails on Pixel2
== 1658.yaml 1658-ref.yaml
-fuzzy(2,405) fuzzy-if(platform(swgl),2,1508) == split-batch.yaml split-batch-ref.yaml
+fuzzy(1,6) == split-batch.yaml split-batch-ref.yaml
# Next 3 tests affected by bug 1548099 on Android
skip_on(android) == shadow-red.yaml shadow-red-ref.yaml
-skip_on(android) fuzzy(1,999) fuzzy-if(platform(swgl),2,1324) == shadow-grey.yaml shadow-grey-ref.yaml
-skip_on(android) fuzzy(1,828) fuzzy-if(platform(swgl),2,1538) == shadow-grey-transparent.yaml shadow-grey-ref.yaml
+skip_on(android) fuzzy(1,735) == shadow-grey.yaml shadow-grey-ref.yaml
+skip_on(android) fuzzy(1,663) == shadow-grey-transparent.yaml shadow-grey-ref.yaml
== subtle-shadow.yaml subtle-shadow-ref.yaml
fuzzy(1,64) == shadow-atomic.yaml shadow-atomic-ref.yaml
fuzzy(1,64) == shadow-clip-rect.yaml shadow-atomic-ref.yaml
@@ -35,36 +35,36 @@ skip_on(android) != synthetic-italics-custom.yaml synthetic-italics.yaml
options(disable-aa) == ahem.yaml ahem-ref.yaml
platform(linux) == isolated-text.yaml isolated-text.png
platform(mac) skip_on(mac,>=10.14) fuzzy(3,67) == white-opacity.yaml white-opacity.png
-fuzzy(1,113) platform(linux) options(disable-subpixel) == colors.yaml colors-alpha.png
+fuzzy(1,4) platform(linux) options(disable-subpixel) == colors.yaml colors-alpha.png
# Run without dual-source blending path, batches are broken when text colors change.
-fuzzy(1,1256) platform(linux) options(disable-dual-source-blending) draw_calls(6) == colors.yaml colors-subpx.png
+fuzzy(1,6) platform(linux) options(disable-dual-source-blending) draw_calls(6) == colors.yaml colors-subpx.png
# Run with both dual-source blending, ensuring batching is improved.
-fuzzy(1,774) platform(linux) draw_calls(3) == colors.yaml colors-subpx.png
+fuzzy(1,6) platform(linux) draw_calls(3) == colors.yaml colors-subpx.png
platform(linux) options(disable-subpixel) == border-radius.yaml border-radius-alpha.png
platform(linux) == border-radius.yaml border-radius-subpx.png
options(disable-aa) == transparent-no-aa.yaml transparent-no-aa-ref.yaml
!= diacritics.yaml diacritics-ref.yaml
fuzzy(1,1) platform(linux) options(disable-subpixel) == text-masking.yaml text-masking-alpha.png
fuzzy(1,44) platform(linux) == text-masking.yaml text-masking-subpx.png
-fuzzy(1,30) platform(linux) options(disable-subpixel) == alpha-transform.yaml alpha-transform.png
-fuzzy(1,20) platform(linux) == subpixel-rotate.yaml subpixel-rotate.png
-fuzzy(1,72) platform(linux) == subpixel-scale.yaml subpixel-scale.png
-fuzzy(1,26) platform(linux) == subpixel-skew.yaml subpixel-skew.png
+platform(linux) options(disable-subpixel) == alpha-transform.yaml alpha-transform.png
+platform(linux) == subpixel-rotate.yaml subpixel-rotate.png
+platform(linux) == subpixel-scale.yaml subpixel-scale.png
+platform(linux) == subpixel-skew.yaml subpixel-skew.png
fuzzy(1,381) platform(linux) == subpixel-translate.yaml subpixel-translate-ref.yaml
!= shadow-rotate.yaml blank.yaml
platform(linux) == embedded-bitmaps.yaml embedded-bitmaps.png
-fuzzy(1,13) platform(linux) == clipped-transform.yaml clipped-transform.png
+platform(linux) == clipped-transform.yaml clipped-transform.png
platform(mac) fuzzy(195,30) == color-bitmap-shadow.yaml color-bitmap-shadow-ref.yaml
platform(linux) == writing-modes.yaml writing-modes-ref.yaml
-fuzzy(1,5) platform(linux) == blurred-shadow-local-clip-rect.yaml blurred-shadow-local-clip-rect-ref.png
+platform(linux) == blurred-shadow-local-clip-rect.yaml blurred-shadow-local-clip-rect-ref.png
fuzzy(1,1) platform(linux) == two-shadows.yaml two-shadows.png
== shadow-clip.yaml shadow-clip-ref.yaml
== shadow-fast-clip.yaml shadow-fast-clip-ref.yaml
skip_on(android,device) == shadow-partial-glyph.yaml shadow-partial-glyph-ref.yaml # Fails on Pixel2
-fuzzy(2,212) platform(linux) == shadow-transforms.yaml shadow-transforms.png
-fuzzy(2,370) platform(linux) == raster-space.yaml raster-space.png
+fuzzy(1,107) platform(linux) == shadow-transforms.yaml shadow-transforms.png
+fuzzy(1,113) platform(linux) == raster-space.yaml raster-space.png
skip_on(android) skip_on(mac,>=10.14) != allow-subpixel.yaml allow-subpixel-ref.yaml # Android: we don't enable sub-px aa on this platform.
-skip_on(android,device) fuzzy-if(platform(swgl),1,1085) == bg-color.yaml bg-color-ref.yaml # Fails on Pixel2
+skip_on(android,device) == bg-color.yaml bg-color-ref.yaml # Fails on Pixel2
!= large-glyphs.yaml blank.yaml
!= large-line-decoration.yaml blank.yaml
skip_on(android,device) == snap-text-offset.yaml snap-text-offset-ref.yaml
@@ -72,13 +72,13 @@ fuzzy(5,4435) == shadow-border.yaml shadow-solid-ref.yaml
fuzzy(5,4435) == shadow-image.yaml shadow-solid-ref.yaml
options(disable-aa) == snap-clip.yaml snap-clip-ref.yaml
platform(linux) == perspective-clip.yaml perspective-clip.png
-fuzzy(1,150) options(disable-subpixel) == raster-space-snap.yaml raster-space-snap-ref.yaml
+fuzzy(1,39) options(disable-subpixel) == raster-space-snap.yaml raster-space-snap-ref.yaml
# == intermediate-transform.yaml intermediate-transform-ref.yaml # fails because of AA inavailable with an intermediate surface
-fuzzy(1,15) platform(linux) force_subpixel_aa_where_possible(true) == text-fixed-slice.yaml text-fixed-slice-slow.png
-fuzzy(1,15) platform(linux) force_subpixel_aa_where_possible(false) == text-fixed-slice.yaml text-fixed-slice-fast.png
+platform(linux) force_subpixel_aa_where_possible(true) == text-fixed-slice.yaml text-fixed-slice-slow.png
+platform(linux) force_subpixel_aa_where_possible(false) == text-fixed-slice.yaml text-fixed-slice-fast.png
# a 8544x8544 raster root vs. 2136x2136
# most pixels are off by a small amount, but a few pixels on the edge vary by a lot, pushing up the fuzzy max-diff;
# the main goal of the test is that everything is in the same place, at the same scale, clipped the same way,
# despite 4x on-the-fly scale change.
-skip_on(android) fuzzy-range(<=3,*21700,<=20,*3500,<=119,*590) fuzzy-if(platform(swgl),108,24907) == raster_root_C_8192.yaml raster_root_C_ref.yaml
+skip_on(android) fuzzy-range(<=3,*20569,<=20,*2525,<=115,*543) == raster_root_C_8192.yaml raster_root_C_ref.yaml
diff --git a/third_party/webrender/wrench/reftests/text/shadow-transforms.png b/third_party/webrender/wrench/reftests/text/shadow-transforms.png
index 05af37e1e71..71d97bff4c8 100644
--- a/third_party/webrender/wrench/reftests/text/shadow-transforms.png
+++ b/third_party/webrender/wrench/reftests/text/shadow-transforms.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/subpixel-rotate.png b/third_party/webrender/wrench/reftests/text/subpixel-rotate.png
index 1eaf89db1ff..2bff307a8ed 100644
--- a/third_party/webrender/wrench/reftests/text/subpixel-rotate.png
+++ b/third_party/webrender/wrench/reftests/text/subpixel-rotate.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/subpixel-scale.png b/third_party/webrender/wrench/reftests/text/subpixel-scale.png
index 5999d2d5dd9..f3c245c25ac 100644
--- a/third_party/webrender/wrench/reftests/text/subpixel-scale.png
+++ b/third_party/webrender/wrench/reftests/text/subpixel-scale.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/subpixel-skew.png b/third_party/webrender/wrench/reftests/text/subpixel-skew.png
index 9dcfde00884..3e713f16711 100644
--- a/third_party/webrender/wrench/reftests/text/subpixel-skew.png
+++ b/third_party/webrender/wrench/reftests/text/subpixel-skew.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/text-fixed-slice-fast.png b/third_party/webrender/wrench/reftests/text/text-fixed-slice-fast.png
index e6d6147219d..7f3ee0ec9d3 100644
--- a/third_party/webrender/wrench/reftests/text/text-fixed-slice-fast.png
+++ b/third_party/webrender/wrench/reftests/text/text-fixed-slice-fast.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/text-fixed-slice-slow.png b/third_party/webrender/wrench/reftests/text/text-fixed-slice-slow.png
index 4ccfff39b20..4eaa7fc3ad5 100644
--- a/third_party/webrender/wrench/reftests/text/text-fixed-slice-slow.png
+++ b/third_party/webrender/wrench/reftests/text/text-fixed-slice-slow.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/text-fixed-slice.yaml b/third_party/webrender/wrench/reftests/text/text-fixed-slice.yaml
index ec0b72e59be..902b7c83a75 100644
--- a/third_party/webrender/wrench/reftests/text/text-fixed-slice.yaml
+++ b/third_party/webrender/wrench/reftests/text/text-fixed-slice.yaml
@@ -10,12 +10,9 @@ root:
- type: rect
bounds: [0, 0, 500, 200]
color: white
- - type: clip
+ - type: rect
bounds: [0, 0, 500, 200]
- items:
- - type: rect
- bounds: [0, 0, 500, 200]
- color: white
+ color: white
- text: "The sun has frightened off the night!"
origin: 20 40
size: 20
diff --git a/third_party/webrender/wrench/reftests/text/text-masking-alpha.png b/third_party/webrender/wrench/reftests/text/text-masking-alpha.png
index 2b816eb288b..1f02f8bac5d 100644
--- a/third_party/webrender/wrench/reftests/text/text-masking-alpha.png
+++ b/third_party/webrender/wrench/reftests/text/text-masking-alpha.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/text-masking-subpx.png b/third_party/webrender/wrench/reftests/text/text-masking-subpx.png
index 791a4c6347f..08db66a5376 100644
--- a/third_party/webrender/wrench/reftests/text/text-masking-subpx.png
+++ b/third_party/webrender/wrench/reftests/text/text-masking-subpx.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/text/two-shadows.png b/third_party/webrender/wrench/reftests/text/two-shadows.png
index 3907f1be74a..1dae24cb84d 100644
--- a/third_party/webrender/wrench/reftests/text/two-shadows.png
+++ b/third_party/webrender/wrench/reftests/text/two-shadows.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/tiles/mix-blend-clip-ref.yaml b/third_party/webrender/wrench/reftests/tiles/mix-blend-clip-ref.yaml
deleted file mode 100644
index e31ead5b870..00000000000
--- a/third_party/webrender/wrench/reftests/tiles/mix-blend-clip-ref.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-root:
- items:
- - type: stacking-context
- blend-container: true
- items:
- - type: rect
- bounds: [0, 0, 128, 128]
- color: magenta
- - type: stacking-context
- mix-blend-mode: lighten
- items:
- - image: checkerboard(0, 16, 16, 8, 8)
- bounds: [0, 0, 128, 128]
diff --git a/third_party/webrender/wrench/reftests/tiles/mix-blend-clip.yaml b/third_party/webrender/wrench/reftests/tiles/mix-blend-clip.yaml
deleted file mode 100644
index be41c9b508e..00000000000
--- a/third_party/webrender/wrench/reftests/tiles/mix-blend-clip.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-# Test that a backdrop which has both a shared clip (on the tile cache) and is also scrolled
-# correctly calculates the available backdrop rect for a mix-blend on a child.
----
-root:
- items:
- -
- bounds: [0, 0, 128, 128]
- type: clip
- id: 2
- - type: stacking-context
- blend-container: true
- items:
- - type: scroll-frame
- bounds: 0 0 128 512
- scroll-offset: [0, 128]
- id: 3
- items:
- - type: rect
- bounds: [0, 0, 128, 512]
- color: magenta
- clip-and-scroll: [3, 2]
- - type: stacking-context
- mix-blend-mode: lighten
- clip-node: 2
- items:
- - image: checkerboard(0, 16, 16, 8, 16)
- bounds: [0, 0, 128, 256]
diff --git a/third_party/webrender/wrench/reftests/tiles/reftest.list b/third_party/webrender/wrench/reftests/tiles/reftest.list
index 35bb7875b6c..7c04207b183 100644
--- a/third_party/webrender/wrench/reftests/tiles/reftest.list
+++ b/third_party/webrender/wrench/reftests/tiles/reftest.list
@@ -1,6 +1,4 @@
** rect.yaml
-fuzzy(1,2000) ** simple-gradient.yaml
+** simple-gradient.yaml
# TODO: Fix rasterizer inaccuracies so this is the same regardless of tile size!
!* prim-suite.yaml
-== mix-blend-clip.yaml mix-blend-clip-ref.yaml
-platform(linux) == tile-cache-raster-root.yaml tile-cache-raster-root.png
diff --git a/third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.png b/third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.png
deleted file mode 100644
index 120f63a7f07..00000000000
--- a/third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.png
+++ /dev/null
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.yaml b/third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.yaml
deleted file mode 100644
index 8ff36583c3f..00000000000
--- a/third_party/webrender/wrench/reftests/tiles/tile-cache-raster-root.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Based on a reduced case from blend-clipped.yaml, ensure that if tile caches don't create
-# raster roots (which messes with the special case handling and positioning of them).
----
-root:
- items:
- -
- type: "stacking-context"
- items:
- -
- bounds: [0, 111, 1887, 1971]
- type: iframe
- id: [1, 3]
- id: [1, 1]
-pipelines:
- -
- id: [1, 3]
- items:
- -
- type: "scroll-frame"
- id: 2
- bounds: [0, 0, 1887, 1971]
- -
- "clip-and-scroll": 2
- type: "stacking-context"
- items:
- -
- bounds: [0, -186, 1887, 239]
- "clip-and-scroll": 2
- type: clip
- id: 4
- -
- bounds: [-660.45, -186, 0, 0]
- "clip-and-scroll": 4
- type: "stacking-context"
- transform: [1, 0, 0, 0, -0.57735026, 1, 0, 0, 0, 0, 1, 0, 68.849, 0, 0, 1]
- items:
- -
- bounds: [0, 0, 1887, 239]
- type: rect
- color: blue
diff --git a/third_party/webrender/wrench/reftests/transforms/border-scale-2.png b/third_party/webrender/wrench/reftests/transforms/border-scale-2.png
index b848abfbff9..09e81e0b2ae 100644
--- a/third_party/webrender/wrench/reftests/transforms/border-scale-2.png
+++ b/third_party/webrender/wrench/reftests/transforms/border-scale-2.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/border-scale-3.png b/third_party/webrender/wrench/reftests/transforms/border-scale-3.png
index f51553e04f8..de110f5334d 100644
--- a/third_party/webrender/wrench/reftests/transforms/border-scale-3.png
+++ b/third_party/webrender/wrench/reftests/transforms/border-scale-3.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/border-scale-4.png b/third_party/webrender/wrench/reftests/transforms/border-scale-4.png
index 6e1d664f9ae..a590cb153a0 100644
--- a/third_party/webrender/wrench/reftests/transforms/border-scale-4.png
+++ b/third_party/webrender/wrench/reftests/transforms/border-scale-4.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/border-scale.png b/third_party/webrender/wrench/reftests/transforms/border-scale.png
index 65772686639..cd88307a678 100644
--- a/third_party/webrender/wrench/reftests/transforms/border-scale.png
+++ b/third_party/webrender/wrench/reftests/transforms/border-scale.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/border-zoom.png b/third_party/webrender/wrench/reftests/transforms/border-zoom.png
index 0bd7cc21ab3..cb634ef97c4 100644
--- a/third_party/webrender/wrench/reftests/transforms/border-zoom.png
+++ b/third_party/webrender/wrench/reftests/transforms/border-zoom.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/coord-system.png b/third_party/webrender/wrench/reftests/transforms/coord-system.png
index af5213f906b..d28a562186a 100644
--- a/third_party/webrender/wrench/reftests/transforms/coord-system.png
+++ b/third_party/webrender/wrench/reftests/transforms/coord-system.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/flatten-all-flat-ref.yaml b/third_party/webrender/wrench/reftests/transforms/flatten-all-flat-ref.yaml
deleted file mode 100644
index fd60bccb4bd..00000000000
--- a/third_party/webrender/wrench/reftests/transforms/flatten-all-flat-ref.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-root:
- items:
- - type: reference-frame
- transform-style: flat
- items:
- - type: reference-frame
- perspective: 1000
- transform-style: flat
- items:
- - type: reference-frame
- transform: rotate-z(-45) rotate-x(-75)
- bounds: 50 0 100 100
- transform-style: flat
- items:
- - type: rect
- bounds: 0 0 100 100
- color: green
diff --git a/third_party/webrender/wrench/reftests/transforms/flatten-all-flat.yaml b/third_party/webrender/wrench/reftests/transforms/flatten-all-flat.yaml
deleted file mode 100644
index d471b052cc1..00000000000
--- a/third_party/webrender/wrench/reftests/transforms/flatten-all-flat.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# This test has a series of flat transforms that affect Z.
----
-root:
- items:
- - type: reference-frame
- transform: rotate-y(0.0001) # this transform used to affect the Z coordinates during flattening
- transform-style: flat
- items:
- - type: reference-frame
- perspective: 1000
- transform-style: flat
- items:
- - type: reference-frame
- transform: rotate-z(-45) rotate-x(-75)
- bounds: 50 0 100 100
- transform-style: flat
- items:
- - type: rect
- bounds: 0 0 100 100
- color: green
diff --git a/third_party/webrender/wrench/reftests/transforms/image-rotated-clip.png b/third_party/webrender/wrench/reftests/transforms/image-rotated-clip.png
index 96439dbc6e4..fda2872a3eb 100644
--- a/third_party/webrender/wrench/reftests/transforms/image-rotated-clip.png
+++ b/third_party/webrender/wrench/reftests/transforms/image-rotated-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/local-clip.png b/third_party/webrender/wrench/reftests/transforms/local-clip.png
index 3f22d01dbe8..92e25ec5e59 100644
--- a/third_party/webrender/wrench/reftests/transforms/local-clip.png
+++ b/third_party/webrender/wrench/reftests/transforms/local-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/near-plane-clip.png b/third_party/webrender/wrench/reftests/transforms/near-plane-clip.png
index e051c725b68..babe22d7482 100644
--- a/third_party/webrender/wrench/reftests/transforms/near-plane-clip.png
+++ b/third_party/webrender/wrench/reftests/transforms/near-plane-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/nested-preserve-3d.png b/third_party/webrender/wrench/reftests/transforms/nested-preserve-3d.png
index 686a22cf0a1..3b74c198999 100644
--- a/third_party/webrender/wrench/reftests/transforms/nested-preserve-3d.png
+++ b/third_party/webrender/wrench/reftests/transforms/nested-preserve-3d.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/nested-rotate-x-flat.png b/third_party/webrender/wrench/reftests/transforms/nested-rotate-x-flat.png
index ca33ca1336c..2134a8ff77d 100644
--- a/third_party/webrender/wrench/reftests/transforms/nested-rotate-x-flat.png
+++ b/third_party/webrender/wrench/reftests/transforms/nested-rotate-x-flat.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/nested-rotate-x.png b/third_party/webrender/wrench/reftests/transforms/nested-rotate-x.png
index 73ad1cec412..4a6cc2352da 100644
--- a/third_party/webrender/wrench/reftests/transforms/nested-rotate-x.png
+++ b/third_party/webrender/wrench/reftests/transforms/nested-rotate-x.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/non-inversible-world-rect.yaml b/third_party/webrender/wrench/reftests/transforms/non-inversible-world-rect.yaml
deleted file mode 100644
index f94404f58ed..00000000000
--- a/third_party/webrender/wrench/reftests/transforms/non-inversible-world-rect.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Tests that `get_raster_rects` raster -> world transform is inversible in general,
-# but one of the vertices of the world rectangles can't map back to the raster.
----
-root:
- items:
- - type: stacking-context
- bounds: 0 0 400 400
- perspective: 800
- perspective-origin: 50% 200
- items:
- - type: stacking-context
- bounds: 0 0 400 400
- transform-style: preserve-3d
- transform: rotate-z(40) translate(400, 200, 0)
- margin: 100
- items:
- - type: stacking-context
- bounds: 0 0 1000 1000
- transform: rotate-y(-75) translate(0, 0, -500)
- items:
- - type: rect
- bounds: [0, 0, 200, 200]
- color: red
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective-border-radius.png b/third_party/webrender/wrench/reftests/transforms/perspective-border-radius.png
index 12db11efc72..6868bef4308 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective-border-radius.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective-border-radius.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective-clip-1.png b/third_party/webrender/wrench/reftests/transforms/perspective-clip-1.png
index 2cc992c168d..2708424772d 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective-clip-1.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective-clip-1.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective-clip.png b/third_party/webrender/wrench/reftests/transforms/perspective-clip.png
index bd31aba99b9..97be10064a1 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective-clip.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective-mask.png b/third_party/webrender/wrench/reftests/transforms/perspective-mask.png
index a51e6ce2e10..41ef1283dbb 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective-mask.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective-mask.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective-origin.png b/third_party/webrender/wrench/reftests/transforms/perspective-origin.png
index 48c528a6d0a..bda2d9dac21 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective-origin.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective-origin.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective-shadow.png b/third_party/webrender/wrench/reftests/transforms/perspective-shadow.png
index 07befbd35ba..2a0d50806c0 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective-shadow.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective-shadow.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/perspective.png b/third_party/webrender/wrench/reftests/transforms/perspective.png
index 93f38d9a1c9..f4ce971d578 100644
--- a/third_party/webrender/wrench/reftests/transforms/perspective.png
+++ b/third_party/webrender/wrench/reftests/transforms/perspective.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/prim-suite.png b/third_party/webrender/wrench/reftests/transforms/prim-suite.png
index 6d0c695e94c..cec3ecc3214 100644
--- a/third_party/webrender/wrench/reftests/transforms/prim-suite.png
+++ b/third_party/webrender/wrench/reftests/transforms/prim-suite.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/raster-root-huge-scale.yaml b/third_party/webrender/wrench/reftests/transforms/raster-root-huge-scale.yaml
index fd63c63031c..269c71cccaf 100644
--- a/third_party/webrender/wrench/reftests/transforms/raster-root-huge-scale.yaml
+++ b/third_party/webrender/wrench/reftests/transforms/raster-root-huge-scale.yaml
@@ -15,8 +15,8 @@ root:
transform-style: preserve-3d
items:
- type: clip
- bounds: [0, 0, 60000, 60000]
- clip-rect: [0, 0, 60000, 60000]
+ bounds: [10, 10, 60000, 60000]
+ clip-rect: [10, 10, 60000, 60000]
id: 2
complex:
- rect: [0, 0, 100, 100]
@@ -28,9 +28,3 @@ root:
items:
- rect: 0 0 100 100
color: red
- - type: box-shadow
- bounds: 0 0 100 100
- color: blue
- offset: 10 20
- blur-radius: 10
- border-radius: [ 20, 20, 20, 20 ]
diff --git a/third_party/webrender/wrench/reftests/transforms/reftest.list b/third_party/webrender/wrench/reftests/transforms/reftest.list
index 537ae1e03b8..5931b7d6e52 100644
--- a/third_party/webrender/wrench/reftests/transforms/reftest.list
+++ b/third_party/webrender/wrench/reftests/transforms/reftest.list
@@ -4,22 +4,22 @@ platform(linux,mac) == rotated-clip-large.yaml rotated-clip-large.png
platform(linux,mac) == image-rotated-clip.yaml image-rotated-clip.png
# Something leaks the state: the test passes if only run `reftest reftests/transform`
# but fails when all the tests are run
-platform(linux,mac) fuzzy(1,6) == rotated-image.yaml rotated-image.png
+platform(linux,mac) fuzzy(1,4) == rotated-image.yaml rotated-image.png
== singular.yaml singular-ref.yaml
platform(linux) fuzzy(1,630) == perspective.yaml perspective.png
-platform(linux,mac) fuzzy(3,8100) == prim-suite.yaml prim-suite.png
-fuzzy-if(platform(swgl),1,2) == segments-bug.yaml segments-bug-ref.yaml
+platform(linux,mac) fuzzy(1,156) == prim-suite.yaml prim-suite.png
+== segments-bug.yaml segments-bug-ref.yaml
platform(linux,mac) == content-offset.yaml content-offset.png
platform(linux,mac) == coord-system.yaml coord-system.png
-platform(linux,mac) fuzzy(1,15) zoom(4) == border-zoom.yaml border-zoom.png
+platform(linux,mac) fuzzy(1,5) zoom(4) == border-zoom.yaml border-zoom.png
platform(linux) fuzzy(1,520) == perspective-origin.yaml perspective-origin.png
platform(linux,mac) color_targets(3) alpha_targets(0) fuzzy(1,180) == screen-space-blit.yaml screen-space-blit.png
-platform(linux,mac) fuzzy(1,346) color_targets(2) alpha_targets(0) == screen-space-blit-trivial.yaml screen-space-blit-trivial.png
+platform(linux,mac) fuzzy(1,331) color_targets(2) alpha_targets(0) == screen-space-blit-trivial.yaml screen-space-blit-trivial.png
platform(linux) fuzzy(11,4592) == screen-space-blur.yaml screen-space-blur.png
-platform(linux,mac) fuzzy(1,25) == nested-rotate-x.yaml nested-rotate-x.png
+platform(linux,mac) == nested-rotate-x.yaml nested-rotate-x.png
platform(linux,mac) != nested-rotate-x.yaml nested-rotate-x-flat.yaml
-platform(linux,mac) fuzzy(1,25) == nested-rotate-x-flat.yaml nested-rotate-x-flat.png
-platform(linux,mac) fuzzy(1,25) == nested-preserve-3d.yaml nested-preserve-3d.png
+platform(linux,mac) == nested-rotate-x-flat.yaml nested-rotate-x-flat.png
+platform(linux,mac) == nested-preserve-3d.yaml nested-preserve-3d.png
platform(linux,mac) fuzzy(1,283) == near-plane-clip.yaml near-plane-clip.png
platform(linux,mac) == perspective-mask.yaml perspective-mask.png
== rotate-clip.yaml rotate-clip-ref.yaml
@@ -30,7 +30,7 @@ platform(linux,mac) fuzzy(1,2) == perspective-shadow.yaml perspective-shadow.png
# The ref YAML here produces significantly worse quality
fuzzy(200,4200) == perspective-box-shadow.yaml perspective-box-shadow-ref.yaml
== complex-preserve-3d.yaml blank.yaml
-platform(linux,mac) fuzzy(38,348) == perspective-border-radius.yaml perspective-border-radius.png
+platform(linux,mac) fuzzy(9,348) == perspective-border-radius.yaml perspective-border-radius.png
fuzzy(1,38) == snapped-preserve-3d.yaml snapped-preserve-3d-ref.yaml
platform(linux,mac) fuzzy(1,122) == border-scale.yaml border-scale.png
platform(linux,mac) fuzzy(1,16) == border-scale-2.yaml border-scale-2.png
@@ -40,7 +40,6 @@ platform(linux,mac) fuzzy(1,74) == border-scale-4.yaml border-scale-4.png
!= large-raster-root.yaml blank.yaml
== flatten-preserve-3d-root.yaml flatten-preserve-3d-root-ref.yaml
== flatten-twice.yaml flatten-twice-ref.yaml
-fuzzy(1,10) == flatten-all-flat.yaml flatten-all-flat-ref.yaml
== strange-w.yaml strange-w-ref.yaml
== big-axis-aligned-scale.yaml big-axis-aligned-scale-ref.yaml
# Compare ~8K raster root (>MAX_SURFACE_SIZE) with ~2K raster root. fuzzy due to lerping on edges.
@@ -53,4 +52,3 @@ skip_on(android) == raster-root-scaling.yaml raster-root-scaling-ref.yaml
skip_on(android) == raster-root-scaling-2.yaml raster-root-scaling-2-ref.yaml
# Make sure we don't panic
!= raster-root-huge-scale.yaml blank.yaml
-!= non-inversible-world-rect.yaml blank.yaml
diff --git a/third_party/webrender/wrench/reftests/transforms/rotated-clip-large.png b/third_party/webrender/wrench/reftests/transforms/rotated-clip-large.png
index e3c8ce7ab4a..c4e48403709 100644
--- a/third_party/webrender/wrench/reftests/transforms/rotated-clip-large.png
+++ b/third_party/webrender/wrench/reftests/transforms/rotated-clip-large.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/rotated-clip.png b/third_party/webrender/wrench/reftests/transforms/rotated-clip.png
index fe6e2aedb00..33d2771d3a9 100644
--- a/third_party/webrender/wrench/reftests/transforms/rotated-clip.png
+++ b/third_party/webrender/wrench/reftests/transforms/rotated-clip.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/rotated-image.png b/third_party/webrender/wrench/reftests/transforms/rotated-image.png
index 012ffe60452..2bb0d45e48d 100644
--- a/third_party/webrender/wrench/reftests/transforms/rotated-image.png
+++ b/third_party/webrender/wrench/reftests/transforms/rotated-image.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/screen-space-blit-trivial.png b/third_party/webrender/wrench/reftests/transforms/screen-space-blit-trivial.png
index 66c4e214d4a..0c7ed88dd60 100644
--- a/third_party/webrender/wrench/reftests/transforms/screen-space-blit-trivial.png
+++ b/third_party/webrender/wrench/reftests/transforms/screen-space-blit-trivial.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/screen-space-blit.png b/third_party/webrender/wrench/reftests/transforms/screen-space-blit.png
index 360db5a6041..6479438fe15 100644
--- a/third_party/webrender/wrench/reftests/transforms/screen-space-blit.png
+++ b/third_party/webrender/wrench/reftests/transforms/screen-space-blit.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/screen-space-blur.png b/third_party/webrender/wrench/reftests/transforms/screen-space-blur.png
index 4c718db42e8..e4e3df37318 100644
--- a/third_party/webrender/wrench/reftests/transforms/screen-space-blur.png
+++ b/third_party/webrender/wrench/reftests/transforms/screen-space-blur.png
Binary files differ
diff --git a/third_party/webrender/wrench/reftests/transforms/screen-space-blur.yaml b/third_party/webrender/wrench/reftests/transforms/screen-space-blur.yaml
index 6d93260c83a..e9c5f5d32dc 100644
--- a/third_party/webrender/wrench/reftests/transforms/screen-space-blur.yaml
+++ b/third_party/webrender/wrench/reftests/transforms/screen-space-blur.yaml
@@ -7,14 +7,14 @@ root:
- type: "stacking-context"
transform-origin: 235 235
transform: rotate-x(-15)
- filters: blur(3, 3)
+ filters: blur(3)
items:
- image: checkerboard(2, 16, 16)
bounds: [100, 100, 260, 260]
- type: "stacking-context"
transform-origin: 635 235
transform: rotate-z(-45)
- filters: blur(3, 3)
+ filters: blur(3)
items:
- image: checkerboard(2, 16, 16)
bounds: [500, 100, 260, 260]
diff --git a/third_party/webrender/wrench/script/headless.py b/third_party/webrender/wrench/script/headless.py
index 109fca1cb2e..0b98b138626 100755
--- a/third_party/webrender/wrench/script/headless.py
+++ b/third_party/webrender/wrench/script/headless.py
@@ -96,16 +96,18 @@ def optimized_build():
def set_osmesa_env(bin_path):
"""Set proper LD_LIBRARY_PATH and DRIVE for software rendering on Linux and OSX"""
- base = find_dep_path_newest('osmesa-src', bin_path)
- osmesa_path = path.join(base, "out", "mesa", "src", "gallium", "targets", "osmesa")
- os.environ["GALLIUM_DRIVER"] = "llvmpipe"
if is_linux():
+ osmesa_path = path.join(find_dep_path_newest('osmesa-src', bin_path), "out", "lib", "gallium")
print(osmesa_path)
os.environ["LD_LIBRARY_PATH"] = osmesa_path
+ os.environ["GALLIUM_DRIVER"] = "softpipe"
elif is_macos():
- osmesa_path = path.join(base, "out", "mesa", "src", "gallium", "targets", "osmesa")
- glapi_path = path.join(base, "out", "mesa", "src", "mapi", "shared-glapi")
+ osmesa_path = path.join(find_dep_path_newest('osmesa-src', bin_path),
+ "out", "src", "gallium", "targets", "osmesa", ".libs")
+ glapi_path = path.join(find_dep_path_newest('osmesa-src', bin_path),
+ "out", "src", "mapi", "shared-glapi", ".libs")
os.environ["DYLD_LIBRARY_PATH"] = osmesa_path + ":" + glapi_path
+ os.environ["GALLIUM_DRIVER"] = "softpipe"
extra_flags = os.getenv('CARGOFLAGS', None)
@@ -147,6 +149,6 @@ set_osmesa_env(target_folder)
# cause 1.0 / 255.0 pixel differences in a subsequent test. For now, we
# run tests with no-scissor mode, which ensures a complete target clear
# between test runs. But we should investigate this further...
-cmd = dbg_cmd + [target_folder + 'wrench', '--no-scissor', '--headless'] + sys.argv[1:]
+cmd = dbg_cmd + [target_folder + 'wrench', '--no-scissor', '-h'] + sys.argv[1:]
print('Running: `' + ' '.join(cmd) + '`')
-subprocess.check_call(cmd, stderr=subprocess.STDOUT)
+subprocess.check_call(cmd)
diff --git a/third_party/webrender/wrench/src/args.yaml b/third_party/webrender/wrench/src/args.yaml
index 46538b2536c..d8a263fcca5 100644
--- a/third_party/webrender/wrench/src/args.yaml
+++ b/third_party/webrender/wrench/src/args.yaml
@@ -28,14 +28,22 @@ args:
short: r
long: rebuild
help: Rebuild display list from scratch every frame
+ - save:
+ long: save
+ help: 'Save frames, one of: yaml, json, ron, or binary'
+ takes_value: true
- no_subpixel_aa:
short: a
long: no-subpixel-aa
help: Disable subpixel aa
+ - no_picture_caching:
+ long: no-picture-caching
+ help: Disable picture caching
- slow_subpixel:
long: slow-subpixel
help: Disable dual source blending
- headless:
+ short: h
long: headless
help: Enable headless rendering
- angle:
@@ -54,6 +62,11 @@ args:
long: size
help: Window size, specified as widthxheight (e.g. 1024x768), in pixels
takes_value: true
+ - time:
+ short: t
+ long: time
+ help: Time limit (in seconds)
+ takes_value: true
- vsync:
long: vsync
help: Enable vsync for OpenGL window
@@ -80,10 +93,6 @@ args:
- no_block:
long: no-block
help: Don't block on UI events - run event loop as fast as possible.
- - profiler_ui:
- long: profiler-ui
- takes_value: true
- help: A string describing what to show on in the profiler HUD (See https://github.com/servo/webrender/wiki/Debugging-WebRender#anchor_6).
subcommands:
- png:
@@ -106,6 +115,11 @@ subcommands:
about: show frame(s) described by YAML, binary recording, or capture
aliases: ['load', 'replay']
args:
+ - queue:
+ short: q
+ long: queue
+ help: How many frames to submit to WR ahead of time (default 1) (YAML only)
+ takes_value: true
- include:
long: include
help: Include the given element type. Can be specified multiple times. (rect/image/text/glyphs/border) (YAML only)
@@ -118,6 +132,15 @@ subcommands:
short: w
long: watch
help: Watch the given file, reloading whenever it changes (YAML only)
+ - api:
+ long: api
+ help: Reissue Api messages for each frame (binary recording only)
+ - skip-uploads:
+ long: skip-uploads
+ help: Skip re-uploads while reissuing Api messages (BROKEN)
+ - play:
+ long: play
+ help: Play entire recording through, then quit (useful with --save) (binary recording only)
- keyframes:
short: k
long: keyframes
@@ -137,6 +160,13 @@ subcommands:
help: The input YAML, binary recording, or capture directory
required: true
index: 1
+ - replay:
+ about: replay binary recording
+ args:
+ - INPUT:
+ help: The input binary file or directory
+ required: true
+ index: 1
- reftest:
about: run reftests
args:
@@ -179,8 +209,6 @@ subcommands:
long: sample_count
takes_value: true
help: number of samples to capture
- - test_invalidation:
- about: run invalidation tests
- compare_perf:
about: compare two benchmark files
args:
@@ -192,5 +220,3 @@ subcommands:
help: second benchmark file to compare
required: true
index: 2
- - test_init:
- about: Test for successful initialization then exit immediately
diff --git a/third_party/webrender/wrench/src/egl.rs b/third_party/webrender/wrench/src/egl.rs
index 4b91d8cd86d..4508646b452 100644
--- a/third_party/webrender/wrench/src/egl.rs
+++ b/third_party/webrender/wrench/src/egl.rs
@@ -467,7 +467,7 @@ unsafe fn choose_fbconfig(display: ffi::egl::types::EGLDisplay,
value
}
)
- }
+ };
let desc = PixelFormat {
hardware_accelerated: attrib!(display, config_id, ffi::egl::CONFIG_CAVEAT)
diff --git a/third_party/webrender/wrench/src/main.rs b/third_party/webrender/wrench/src/main.rs
index 843512f5953..9a7dd3bcfea 100644
--- a/third_party/webrender/wrench/src/main.rs
+++ b/third_party/webrender/wrench/src/main.rs
@@ -8,8 +8,6 @@ extern crate clap;
extern crate log;
#[macro_use]
extern crate serde;
-#[macro_use]
-extern crate tracy_rs;
mod angle;
mod blob;
@@ -20,7 +18,6 @@ mod png;
mod premultiply;
mod rawtest;
mod reftest;
-mod test_invalidation;
mod wrench;
mod yaml_frame_reader;
mod yaml_helper;
@@ -47,7 +44,6 @@ use std::slice;
use std::sync::mpsc::{channel, Sender, Receiver};
use webrender::DebugFlags;
use webrender::api::*;
-use webrender::render_api::*;
use webrender::api::units::*;
use winit::dpi::{LogicalPosition, LogicalSize};
use winit::VirtualKeyCode;
@@ -158,8 +154,7 @@ impl WindowWrapper {
let gl = self.native_gl();
let tex = gl.gen_textures(1)[0];
gl.bind_texture(gl::TEXTURE_2D, tex);
- let (data_ptr, w, h, stride) = swgl.get_color_buffer(0, true);
- assert!(stride == w * 4);
+ let (data_ptr, w, h) = swgl.get_color_buffer(0, true);
let buffer = unsafe { slice::from_raw_parts(data_ptr as *const u8, w as usize * h as usize * 4) };
gl.tex_image_2d(gl::TEXTURE_2D, 0, gl::RGBA8 as gl::GLint, w, h, 0, gl::BGRA, gl::UNSIGNED_BYTE, Some(buffer));
let fb = gl.gen_framebuffers(1)[0];
@@ -289,7 +284,7 @@ impl WindowWrapper {
#[cfg(feature = "software")]
fn update_software(&self, dim: DeviceIntSize) {
if let Some(swgl) = self.software_gl() {
- swgl.init_default_framebuffer(0, 0, dim.width, dim.height, 0, std::ptr::null_mut());
+ swgl.init_default_framebuffer(dim.width, dim.height);
}
}
@@ -305,15 +300,15 @@ impl WindowWrapper {
}
#[cfg(feature = "software")]
-fn make_software_context() -> swgl::Context {
+fn make_software_context() -> Option<swgl::Context> {
let ctx = swgl::Context::create();
ctx.make_current();
- ctx
+ Some(ctx)
}
#[cfg(not(feature = "software"))]
-fn make_software_context() -> swgl::Context {
- panic!("software feature not enabled")
+fn make_software_context() -> Option<swgl::Context> {
+ None
}
fn make_window(
@@ -326,7 +321,7 @@ fn make_window(
software: bool,
) -> WindowWrapper {
let sw_ctx = if software {
- Some(make_software_context())
+ make_software_context()
} else {
None
};
@@ -436,9 +431,7 @@ fn make_window(
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum NotifierEvent {
- WakeUp {
- composite_needed: bool,
- },
+ WakeUp,
ShutDown,
}
@@ -454,14 +447,8 @@ impl RenderNotifier for Notifier {
})
}
- fn wake_up(
- &self,
- composite_needed: bool,
- ) {
- let msg = NotifierEvent::WakeUp {
- composite_needed,
- };
- self.tx.send(msg).unwrap();
+ fn wake_up(&self) {
+ self.tx.send(NotifierEvent::WakeUp).unwrap();
}
fn shut_down(&self) {
@@ -471,11 +458,11 @@ impl RenderNotifier for Notifier {
fn new_frame_ready(&self,
_: DocumentId,
_scrolled: bool,
- composite_needed: bool,
+ _composite_needed: bool,
_render_time: Option<u64>) {
// TODO(gw): Refactor wrench so that it can take advantage of cases
// where no composite is required when appropriate.
- self.wake_up(composite_needed);
+ self.wake_up();
}
}
@@ -646,7 +633,7 @@ fn main() {
let dp_ratio = dp_ratio.unwrap_or(window.hidpi_factor());
let dim = window.get_inner_size();
- let needs_frame_notifier = ["perf", "reftest", "png", "rawtest", "test_invalidation"]
+ let needs_frame_notifier = ["perf", "reftest", "png", "rawtest"]
.iter()
.any(|s| args.subcommand_matches(s).is_some());
let (notifier, rx) = if needs_frame_notifier {
@@ -665,6 +652,7 @@ fn main() {
dim,
args.is_present("rebuild"),
args.is_present("no_subpixel_aa"),
+ args.is_present("no_picture_caching"),
args.is_present("verbose"),
args.is_present("no_scissor"),
args.is_present("no_batch"),
@@ -675,11 +663,6 @@ fn main() {
dump_shader_source,
notifier,
);
-
- if let Some(ui_str) = args.value_of("profiler_ui") {
- wrench.renderer.set_profiler_ui(&ui_str);
- }
-
window.update(&mut wrench);
if let Some(window_title) = wrench.take_title() {
@@ -706,7 +689,7 @@ fn main() {
Some("gpu-cache") => png::ReadSurface::GpuCache,
_ => panic!("Unknown surface argument value")
};
- let output_path = subargs.value_of("OUTPUT").map(PathBuf::from);
+ let output_path = subargs.value_of("OUTPUT").map(|s| PathBuf::from(s));
let reader = YamlFrameReader::new_from_args(subargs);
png::png(&mut wrench, surface, &mut window, reader, rx.unwrap(), output_path);
} else if let Some(subargs) = args.subcommand_matches("reftest") {
@@ -749,32 +732,16 @@ fn main() {
}
harness.run(base_manifest, &filename, as_csv);
return;
- } else if let Some(_) = args.subcommand_matches("test_invalidation") {
- let harness = test_invalidation::TestHarness::new(
- &mut wrench,
- &mut window,
- rx.unwrap(),
- );
-
- harness.run();
} else if let Some(subargs) = args.subcommand_matches("compare_perf") {
let first_filename = subargs.value_of("first_filename").unwrap();
let second_filename = subargs.value_of("second_filename").unwrap();
perf::compare(first_filename, second_filename);
return;
- } else if let Some(_) = args.subcommand_matches("test_init") {
- // Wrench::new() unwraps the Renderer initialization, so if
- // we reach this point then we have initialized successfully.
- println!("Initialization successful");
} else {
panic!("Should never have gotten here! {:?}", args);
};
wrench.renderer.deinit();
-
- // On android force-exit the process otherwise it stays running forever.
- #[cfg(target_os = "android")]
- process::exit(0);
}
fn render<'a>(
@@ -832,7 +799,7 @@ fn render<'a>(
// Default the profile overlay on for android.
if cfg!(target_os = "android") {
- debug_flags.toggle(DebugFlags::PROFILER_DBG);
+ debug_flags.toggle(DebugFlags::PROFILER_DBG | DebugFlags::COMPACT_PROFILER);
wrench.api.send_debug_cmd(DebugCommand::SetFlags(debug_flags));
}
@@ -874,6 +841,11 @@ fn render<'a>(
VirtualKeyCode::Escape => {
return winit::ControlFlow::Break;
}
+ VirtualKeyCode::A => {
+ debug_flags.toggle(DebugFlags::DISABLE_PICTURE_CACHING);
+ wrench.api.send_debug_cmd(DebugCommand::SetFlags(debug_flags));
+ do_render = true;
+ }
VirtualKeyCode::B => {
debug_flags.toggle(DebugFlags::INVALIDATION_DBG);
wrench.api.send_debug_cmd(DebugCommand::SetFlags(debug_flags));
@@ -894,6 +866,11 @@ fn render<'a>(
wrench.api.send_debug_cmd(DebugCommand::SetFlags(debug_flags));
do_render = true;
}
+ VirtualKeyCode::S => {
+ debug_flags.toggle(DebugFlags::COMPACT_PROFILER);
+ wrench.api.send_debug_cmd(DebugCommand::SetFlags(debug_flags));
+ do_render = true;
+ }
VirtualKeyCode::D => {
debug_flags.toggle(DebugFlags::PICTURE_CACHING_DBG);
wrench.api.send_debug_cmd(DebugCommand::SetFlags(debug_flags));
@@ -948,6 +925,21 @@ fn render<'a>(
let path = PathBuf::from("../captures/wrench");
wrench.api.save_capture(path, CaptureBits::all());
}
+ VirtualKeyCode::Up | VirtualKeyCode::Down => {
+ let mut txn = Transaction::new();
+
+ let offset = match vk {
+ winit::VirtualKeyCode::Up => LayoutVector2D::new(0.0, 10.0),
+ winit::VirtualKeyCode::Down => LayoutVector2D::new(0.0, -10.0),
+ _ => unreachable!("Should not see non directional keys here.")
+ };
+
+ txn.scroll(ScrollLocation::Delta(offset), cursor_position);
+ txn.generate_frame();
+ wrench.api.send_transaction(wrench.document_id, txn);
+
+ do_frame = true;
+ }
VirtualKeyCode::Add => {
let current_zoom = wrench.get_page_zoom();
let new_zoom_factor = ZoomFactor::new(current_zoom.get() + 0.1);
@@ -965,7 +957,7 @@ fn render<'a>(
wrench.document_id,
None,
cursor_position,
- HitTestFlags::empty(),
+ HitTestFlags::FIND_ALL
);
println!("Hit test results:");
diff --git a/third_party/webrender/wrench/src/perf.rs b/third_party/webrender/wrench/src/perf.rs
index a67298ce29a..bd41ba6016f 100644
--- a/third_party/webrender/wrench/src/perf.rs
+++ b/third_party/webrender/wrench/src/perf.rs
@@ -14,7 +14,7 @@ use std::sync::mpsc::Receiver;
use crate::wrench::{Wrench, WrenchThing};
use crate::yaml_frame_reader::YamlFrameReader;
use webrender::DebugFlags;
-use webrender::render_api::DebugCommand;
+use webrender::api::DebugCommand;
const COLOR_DEFAULT: &str = "\x1b[0m";
const COLOR_RED: &str = "\x1b[31m";
diff --git a/third_party/webrender/wrench/src/rawtest.rs b/third_party/webrender/wrench/src/rawtest.rs
index b86b5836176..f0315155b17 100644
--- a/third_party/webrender/wrench/src/rawtest.rs
+++ b/third_party/webrender/wrench/src/rawtest.rs
@@ -7,7 +7,6 @@ use std::sync::Arc;
use std::sync::atomic::{AtomicIsize, Ordering};
use std::sync::mpsc::Receiver;
use webrender::api::*;
-use webrender::render_api::*;
use webrender::api::units::*;
use crate::{WindowWrapper, NotifierEvent};
use crate::blob;
@@ -107,7 +106,7 @@ impl<'a> RawtestHarness<'a> {
);
epoch.0 += 1;
- txn.generate_frame(0);
+ txn.generate_frame();
self.wrench.api.send_transaction(self.wrench.document_id, txn);
}
@@ -118,6 +117,7 @@ impl<'a> RawtestHarness<'a> {
clip_id: space_and_clip.clip_id,
spatial_id: space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
}
}
@@ -132,6 +132,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
}
}
@@ -154,7 +155,7 @@ impl<'a> RawtestHarness<'a> {
None,
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 0.0, 64.0, 64.0));
builder.push_image(
@@ -181,7 +182,7 @@ impl<'a> RawtestHarness<'a> {
&DirtyRect::All,
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 0.0, 1024.0, 1024.0));
builder.push_image(
@@ -206,7 +207,7 @@ impl<'a> RawtestHarness<'a> {
&DirtyRect::All,
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 0.0, 1024.0, 1024.0));
builder.push_image(
@@ -242,7 +243,7 @@ impl<'a> RawtestHarness<'a> {
Some(128),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(448.899994, 74.0, 151.000031, 56.));
@@ -306,7 +307,7 @@ impl<'a> RawtestHarness<'a> {
called_inner.fetch_add(1, Ordering::SeqCst);
});
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let root_space_and_clip = SpaceAndClipInfo::root_scroll(self.wrench.root_pipeline_id);
let clip_id = builder.define_clip_rect(
@@ -319,6 +320,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id: root_space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
// setup some malicious image size parameters
@@ -389,7 +391,7 @@ impl<'a> RawtestHarness<'a> {
Some(100),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let image_size = size2(400.0, 400.0);
@@ -404,6 +406,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id: root_space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
builder.push_repeating_image(
@@ -485,7 +488,7 @@ impl<'a> RawtestHarness<'a> {
Some(128),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let root_space_and_clip = SpaceAndClipInfo::root_scroll(self.wrench.root_pipeline_id);
let clip_id = builder.define_clip_rect(
@@ -498,6 +501,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id: root_space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
builder.push_repeating_image(
@@ -529,7 +533,7 @@ impl<'a> RawtestHarness<'a> {
size: size2(400, 400),
});
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let root_space_and_clip = SpaceAndClipInfo::root_scroll(self.wrench.root_pipeline_id);
let clip_id = builder.define_clip_rect(
@@ -542,6 +546,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id: root_space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
builder.push_repeating_image(
@@ -575,7 +580,7 @@ impl<'a> RawtestHarness<'a> {
Some(128),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let root_space_and_clip = SpaceAndClipInfo::root_scroll(self.wrench.root_pipeline_id);
let clip_id = builder.define_clip_rect(
@@ -588,6 +593,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id: root_space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
builder.push_repeating_image(
@@ -640,7 +646,7 @@ impl<'a> RawtestHarness<'a> {
None,
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0., 0.0, 1510., 1510.));
@@ -666,7 +672,7 @@ impl<'a> RawtestHarness<'a> {
let mut epoch = Epoch(1);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(-10000., 0.0, 1510., 1510.));
@@ -698,7 +704,7 @@ impl<'a> RawtestHarness<'a> {
&rect(10, 10, 100, 100).into(),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0., 0.0, 1510., 1510.));
@@ -765,7 +771,7 @@ impl<'a> RawtestHarness<'a> {
});
// draw the blob the first time
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 60.0, 200.0, 200.0));
builder.push_image(
@@ -788,7 +794,7 @@ impl<'a> RawtestHarness<'a> {
// draw the blob image a second time at a different location
// make a new display list that refers to the first image
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(1.0, 60.0, 200.0, 200.0));
builder.push_image(
&info,
@@ -872,7 +878,7 @@ impl<'a> RawtestHarness<'a> {
});
// create two blob images and draw them
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 60.0, 200.0, 200.0));
let info2 = self.make_common_properties(rect(200.0, 60.0, 200.0, 200.0));
let push_images = |builder: &mut DisplayListBuilder| {
@@ -918,7 +924,7 @@ impl<'a> RawtestHarness<'a> {
&rect(100, 100, 100, 100).into(),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
push_images(&mut builder);
self.submit_dl(&mut epoch, layout_size, builder, txn);
let _pixels_second = self.render_and_get_pixels(window_rect);
@@ -933,7 +939,7 @@ impl<'a> RawtestHarness<'a> {
&rect(200, 200, 100, 100).into(),
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
push_images(&mut builder);
self.submit_dl(&mut epoch, layout_size, builder, txn);
let _pixels_third = self.render_and_get_pixels(window_rect);
@@ -972,7 +978,7 @@ impl<'a> RawtestHarness<'a> {
};
// draw the blobs the first time
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 60.0, 200.0, 200.0));
builder.push_image(
@@ -1000,7 +1006,7 @@ impl<'a> RawtestHarness<'a> {
);
// make a new display list that refers to the first image
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 60.0, 200.0, 200.0));
builder.push_image(
&info,
@@ -1025,7 +1031,7 @@ impl<'a> RawtestHarness<'a> {
);
// make a new display list that refers to the first image
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(0.0, 60.0, 200.0, 200.0));
builder.push_image(
&info,
@@ -1056,7 +1062,7 @@ impl<'a> RawtestHarness<'a> {
let layout_size = LayoutSize::new(400., 400.);
let mut do_test = |should_try_and_fail| {
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let spatial_id = SpatialId::root_scroll_node(self.wrench.root_pipeline_id);
let clip_id = builder.define_clip_rect(
@@ -1104,6 +1110,7 @@ impl<'a> RawtestHarness<'a> {
clip_id,
spatial_id,
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
builder.push_line(
&info,
@@ -1159,7 +1166,7 @@ impl<'a> RawtestHarness<'a> {
let layout_size = LayoutSize::new(400., 400.);
let mut do_test = |shadow_is_red| {
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let shadow_color = if shadow_is_red {
ColorF::new(1.0, 0.0, 0.0, 1.0)
} else {
@@ -1218,7 +1225,7 @@ impl<'a> RawtestHarness<'a> {
None,
);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(rect(300.0, 70.0, 150.0, 50.0));
builder.push_image(
@@ -1239,7 +1246,7 @@ impl<'a> RawtestHarness<'a> {
builder.finalize(),
false,
);
- txn.generate_frame(0);
+ txn.generate_frame();
self.wrench.api.send_transaction(self.wrench.document_id, txn);
@@ -1250,7 +1257,7 @@ impl<'a> RawtestHarness<'a> {
// 3. set a different scene
- builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let mut txn = Transaction::new();
txn.set_display_list(
@@ -1274,7 +1281,7 @@ impl<'a> RawtestHarness<'a> {
// 6. rebuild the scene and compare again
let mut txn = Transaction::new();
txn.set_root_pipeline(captured.root_pipeline_id.unwrap());
- txn.generate_frame(0);
+ txn.generate_frame();
self.wrench.api.send_transaction(captured.document_id, txn);
let pixels2 = self.render_and_get_pixels(window_rect);
self.compare_pixels(pixels0, pixels2, window_rect.size);
@@ -1285,9 +1292,9 @@ impl<'a> RawtestHarness<'a> {
let layout_size = LayoutSize::new(120.0, 0.0);
let window_size = DeviceIntSize::new(layout_size.width as i32, layout_size.height as i32);
- let doc_id = self.wrench.api.add_document(window_size);
+ let doc_id = self.wrench.api.add_document(window_size, 1);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let info = self.make_common_properties(LayoutRect::new(LayoutPoint::zero(),
LayoutSize::new(100.0, 100.0)));
builder.push_rect(
@@ -1305,12 +1312,12 @@ impl<'a> RawtestHarness<'a> {
builder.finalize(),
false,
);
- txn.generate_frame(0);
+ txn.generate_frame();
self.wrench.api.send_transaction(doc_id, txn);
// Ensure we get a notification from rendering the above, even though
// there are zero visible pixels
- assert!(self.rx.recv().unwrap() == NotifierEvent::WakeUp { composite_needed: true });
+ assert!(self.rx.recv().unwrap() == NotifierEvent::WakeUp);
}
@@ -1318,24 +1325,20 @@ impl<'a> RawtestHarness<'a> {
println!("\thit testing test...");
let layout_size = LayoutSize::new(400., 400.);
- let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let mut builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
// Add a rectangle that covers the entire scene.
- let info = self.make_common_properties(LayoutRect::new(LayoutPoint::zero(), layout_size));
- builder.push_hit_test(
- &info,
- (0, 1),
- );
+ let mut info = self.make_common_properties(LayoutRect::new(LayoutPoint::zero(), layout_size));
+ info.hit_info = Some((0, 1));
+ builder.push_rect(&info, info.clip_rect, ColorF::new(1.0, 1.0, 1.0, 1.0));
// Add a simple 100x100 rectangle at 100,0.
- let info = self.make_common_properties(LayoutRect::new(
+ let mut info = self.make_common_properties(LayoutRect::new(
LayoutPoint::new(100., 0.),
LayoutSize::new(100., 100.)
));
- builder.push_hit_test(
- &info,
- (0, 2),
- );
+ info.hit_info = Some((0, 2));
+ builder.push_rect(&info, info.clip_rect, ColorF::new(1.0, 1.0, 1.0, 1.0));
let space_and_clip = SpaceAndClipInfo::root_scroll(self.wrench.root_pipeline_id);
@@ -1353,14 +1356,16 @@ impl<'a> RawtestHarness<'a> {
&space_and_clip,
make_rounded_complex_clip(&rect, 20.),
);
- builder.push_hit_test(
+ builder.push_rect(
&CommonItemProperties {
+ hit_info: Some((0, 4)),
clip_rect: rect,
clip_id: temp_clip_id,
spatial_id: space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
},
- (0, 4),
+ rect,
+ ColorF::new(1.0, 1.0, 1.0, 1.0),
);
// Add a rectangle that is clipped by a ClipChain containing a rounded rect.
@@ -1370,14 +1375,16 @@ impl<'a> RawtestHarness<'a> {
make_rounded_complex_clip(&rect, 20.),
);
let clip_chain_id = builder.define_clip_chain(None, vec![clip_id]);
- builder.push_hit_test(
+ builder.push_rect(
&CommonItemProperties {
+ hit_info: Some((0, 5)),
clip_rect: rect,
clip_id: ClipId::ClipChain(clip_chain_id),
spatial_id: space_and_clip.spatial_id,
flags: PrimitiveFlags::default(),
},
- (0, 5),
+ rect,
+ ColorF::new(1.0, 1.0, 1.0, 1.0),
);
let mut epoch = Epoch(0);
@@ -1393,7 +1400,7 @@ impl<'a> RawtestHarness<'a> {
self.wrench.document_id,
None,
point,
- HitTetFlags::empty(),
+ HitTestFlags::FIND_ALL,
)
};
@@ -1444,7 +1451,7 @@ impl<'a> RawtestHarness<'a> {
self.wrench.api.send_message(ApiMsg::DebugCommand(DebugCommand::ClearCaches(ClearCache::all())));
let layout_size = LayoutSize::new(400., 400.);
- let builder = DisplayListBuilder::new(self.wrench.root_pipeline_id);
+ let builder = DisplayListBuilder::new(self.wrench.root_pipeline_id, layout_size);
let txn = Transaction::new();
let mut epoch = Epoch(0);
diff --git a/third_party/webrender/wrench/src/reftest.rs b/third_party/webrender/wrench/src/reftest.rs
index 77c20341b79..e05f194105a 100644
--- a/third_party/webrender/wrench/src/reftest.rs
+++ b/third_party/webrender/wrench/src/reftest.rs
@@ -19,7 +19,6 @@ use std::process::Command;
use std::sync::mpsc::Receiver;
use webrender::RenderResults;
use webrender::api::*;
-use webrender::render_api::*;
use webrender::api::units::*;
use crate::wrench::{Wrench, WrenchThing};
use crate::yaml_frame_reader::YamlFrameReader;
@@ -77,6 +76,9 @@ enum ExtraCheck {
DrawCalls(usize),
AlphaTargets(usize),
ColorTargets(usize),
+ /// Checks the dirty region when rendering the test at |index| in the
+ /// sequence, and compares its serialization to |region|.
+ DirtyRegion { index: usize, region: String },
}
impl ExtraCheck {
@@ -88,6 +90,9 @@ impl ExtraCheck {
x == results.last().unwrap().stats.alpha_target_count,
ExtraCheck::ColorTargets(x) =>
x == results.last().unwrap().stats.color_target_count,
+ ExtraCheck::DirtyRegion { index, ref region } => {
+ *region == format!("{}", results[index].recorded_dirty_regions[0])
+ }
}
}
}
@@ -367,6 +372,7 @@ impl ReftestManifest {
let mut disable_dual_source_blending = false;
let mut zoom_factor = 1.0;
let mut allow_mipmaps = false;
+ let mut dirty_region_index = 0;
let mut force_subpixel_aa_where_possible = None;
let mut parse_command = |token: &str| -> bool {
@@ -429,6 +435,15 @@ impl ReftestManifest {
let (_, args, _) = parse_function(function);
extra_checks.push(ExtraCheck::ColorTargets(args[0].parse().unwrap()));
}
+ function if function.starts_with("dirty(") => {
+ let (_, args, _) = parse_function(function);
+ let region: String = args[0].parse().unwrap();
+ extra_checks.push(ExtraCheck::DirtyRegion {
+ index: dirty_region_index,
+ region,
+ });
+ dirty_region_index += 1;
+ }
options if options.starts_with("options(") => {
let (_, args, _) = parse_function(options);
if args.iter().any(|arg| arg == &OPTION_DISABLE_SUBPX) {
@@ -497,7 +512,7 @@ impl ReftestManifest {
let op = match op {
Some(op) => op,
None => {
- assert!(paths.is_empty(), "paths = {:?}", paths);
+ assert!(paths.is_empty(), format!("paths = {:?}", paths));
continue;
}
};
@@ -509,14 +524,6 @@ impl ReftestManifest {
let reference = paths.pop().unwrap();
let test = paths;
- if environment.platform == "android" {
- // Add some fuzz on mobile as we do for non-wrench reftests.
- // First remove the ranges with difference <= 2, otherwise they might cause the
- // test to fail before the new range is picked up.
- fuzziness.retain(|fuzzy| fuzzy.max_difference > 2);
- fuzziness.push(RefTestFuzzy { max_difference: 2, num_differences: std::usize::MAX });
- }
-
// to avoid changing the meaning of existing tests, the case of
// only a single (or no) 'fuzzy' keyword means we use the max
// of that fuzzy and options.allow_.. (we don't want that to
@@ -739,9 +746,7 @@ impl<'a> ReftestHarness<'a> {
}
fn run_reftest(&mut self, t: &Reftest) -> bool {
- let test_name = t.to_string();
- println!("REFTEST {}", test_name);
- profile_scope!("wrench reftest", text: &test_name);
+ println!("REFTEST {}", t);
self.wrench
.api
@@ -838,14 +843,7 @@ impl<'a> ReftestHarness<'a> {
}
let reference = match reference_image {
- Some(image) => {
- let save_all_png = false; // flip to true to update all the tests!
- if save_all_png {
- let img = images.last().unwrap();
- save_flipped(&t.reference, img.data.clone(), img.size);
- }
- image
- }
+ Some(image) => image,
None => {
let output = self.render_yaml(
&t.reference,
@@ -970,7 +968,7 @@ impl<'a> ReftestHarness<'a> {
assert!(
size.width <= window_size.width &&
size.height <= window_size.height,
- "size={:?} ws={:?}", size, window_size
+ format!("size={:?} ws={:?}", size, window_size)
);
// taking the bottom left sub-rectangle
diff --git a/third_party/webrender/wrench/src/test_invalidation.rs b/third_party/webrender/wrench/src/test_invalidation.rs
deleted file mode 100644
index badcfae8cf1..00000000000
--- a/third_party/webrender/wrench/src/test_invalidation.rs
+++ /dev/null
@@ -1,129 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-use crate::NotifierEvent;
-use crate::WindowWrapper;
-use std::path::PathBuf;
-use std::sync::mpsc::Receiver;
-use crate::wrench::{Wrench, WrenchThing};
-use crate::yaml_frame_reader::YamlFrameReader;
-use webrender::{PictureCacheDebugInfo, TileDebugInfo};
-use webrender::api::units::*;
-
-pub struct TestHarness<'a> {
- wrench: &'a mut Wrench,
- window: &'a mut WindowWrapper,
- rx: Receiver<NotifierEvent>,
-}
-
-struct RenderResult {
- pc_debug: PictureCacheDebugInfo,
- composite_needed: bool,
-}
-
-// Convenience method to build a picture rect
-fn pr(x: f32, y: f32, w: f32, h: f32) -> PictureRect {
- PictureRect::new(
- PicturePoint::new(x, y),
- PictureSize::new(w, h),
- )
-}
-
-impl<'a> TestHarness<'a> {
- pub fn new(
- wrench: &'a mut Wrench,
- window: &'a mut WindowWrapper,
- rx: Receiver<NotifierEvent>
- ) -> Self {
- TestHarness {
- wrench,
- window,
- rx,
- }
- }
-
- /// Main entry point for invalidation tests
- pub fn run(
- mut self,
- ) {
- // List all invalidation tests here
- self.test_basic();
- self.test_composite_nop();
- }
-
- /// Simple validation / proof of concept of invalidation testing
- fn test_basic(
- &mut self,
- ) {
- // Render basic.yaml, ensure that the valid/dirty rects are as expected
- let results = self.render_yaml("basic");
- let tile_info = results.pc_debug.slice(0).tile(0, 0).as_dirty();
- assert_eq!(
- tile_info.local_valid_rect,
- pr(100.0, 100.0, 500.0, 100.0),
- );
- assert_eq!(
- tile_info.local_dirty_rect,
- pr(100.0, 100.0, 500.0, 100.0),
- );
-
- // Render it again and ensure the tile was considered valid (no rasterization was done)
- let results = self.render_yaml("basic");
- assert_eq!(*results.pc_debug.slice(0).tile(0, 0), TileDebugInfo::Valid);
- }
-
- /// Ensure WR detects composites are needed for position changes within a single tile.
- fn test_composite_nop(
- &mut self,
- ) {
- // Render composite_nop_1.yaml, ensure that the valid/dirty rects are as expected
- let results = self.render_yaml("composite_nop_1");
- let tile_info = results.pc_debug.slice(0).tile(0, 0).as_dirty();
- assert_eq!(
- tile_info.local_valid_rect,
- pr(100.0, 100.0, 100.0, 100.0),
- );
- assert_eq!(
- tile_info.local_dirty_rect,
- pr(100.0, 100.0, 100.0, 100.0),
- );
-
- // Render composite_nop_2.yaml, ensure that the valid/dirty rects are as expected
- let results = self.render_yaml("composite_nop_2");
- let tile_info = results.pc_debug.slice(0).tile(0, 0).as_dirty();
- assert_eq!(
- tile_info.local_valid_rect,
- pr(100.0, 120.0, 100.0, 100.0),
- );
- assert_eq!(
- tile_info.local_dirty_rect,
- pr(100.0, 120.0, 100.0, 100.0),
- );
-
- // Main part of this test - ensure WR detects a composite is required in this case
- assert!(results.composite_needed);
- }
-
- /// Render a YAML file, and return the picture cache debug info
- fn render_yaml(
- &mut self,
- filename: &str,
- ) -> RenderResult {
- let path = format!("invalidation/{}.yaml", filename);
- let mut reader = YamlFrameReader::new(&PathBuf::from(path));
-
- reader.do_frame(self.wrench);
- let composite_needed = match self.rx.recv().unwrap() {
- NotifierEvent::WakeUp { composite_needed } => composite_needed,
- NotifierEvent::ShutDown => unreachable!(),
- };
- let results = self.wrench.render();
- self.window.swap_buffers();
-
- RenderResult {
- pc_debug: results.picture_cache_debug,
- composite_needed,
- }
- }
-}
diff --git a/third_party/webrender/wrench/src/wrench.rs b/third_party/webrender/wrench/src/wrench.rs
index 9ae57c4af07..bce7ef6e476 100644
--- a/third_party/webrender/wrench/src/wrench.rs
+++ b/third_party/webrender/wrench/src/wrench.rs
@@ -17,7 +17,6 @@ use std::sync::mpsc::Receiver;
use time;
use webrender;
use webrender::api::*;
-use webrender::render_api::*;
use webrender::api::units::*;
use webrender::{DebugFlags, RenderResults, ShaderPrecacheFlags};
use crate::{WindowWrapper, NotifierEvent};
@@ -96,7 +95,7 @@ impl RenderNotifier for Notifier {
Box::new(Notifier(self.0.clone()))
}
- fn wake_up(&self, _composite_needed: bool) {
+ fn wake_up(&self) {
self.update(false);
}
@@ -230,6 +229,7 @@ impl Wrench {
size: DeviceIntSize,
do_rebuild: bool,
no_subpixel_aa: bool,
+ no_picture_caching: bool,
verbose: bool,
no_scissor: bool,
no_batch: bool,
@@ -263,14 +263,12 @@ impl Wrench {
precache_flags,
blob_image_handler: Some(Box::new(blob::CheckerboardRenderer::new(callbacks.clone()))),
chase_primitive,
+ enable_picture_caching: !no_picture_caching,
testing: true,
- max_internal_texture_size: Some(8196), // Needed for rawtest::test_resize_image.
+ max_texture_size: Some(8196), // Needed for rawtest::test_resize_image.
allow_dual_source_blending: !disable_dual_source_blending,
- allow_advanced_blend_equation: window.is_software(),
+ allow_advanced_blend_equation: true,
dump_shader_source,
- // SWGL doesn't support the GL_ALWAYS depth comparison function used by
- // `clear_caches_with_quads`, but scissored clears work well.
- clear_caches_with_quads: !window.is_software(),
..Default::default()
};
@@ -291,10 +289,11 @@ impl Wrench {
notifier,
opts,
None,
+ size,
).unwrap();
let api = sender.create_api();
- let document_id = api.add_document(size);
+ let document_id = api.add_document(size, 0);
let graphics_api = renderer.get_graphics_api_info();
let zoom_factor = ZoomFactor::new(zoom_factor);
@@ -586,7 +585,7 @@ impl Wrench {
pub fn send_lists(
&mut self,
frame_number: u32,
- display_lists: Vec<(PipelineId, BuiltDisplayList)>,
+ display_lists: Vec<(PipelineId, LayoutSize, BuiltDisplayList)>,
scroll_offsets: &HashMap<ExternalScrollId, LayoutPoint>,
) {
let root_background_color = Some(ColorF::new(1.0, 1.0, 1.0, 1.0));
@@ -606,7 +605,7 @@ impl Wrench {
txn.scroll_node_with_id(*offset, *id, ScrollClamping::NoClamping);
}
- txn.generate_frame(0);
+ txn.generate_frame();
self.api.send_transaction(self.document_id, txn);
}
@@ -620,14 +619,14 @@ impl Wrench {
self.renderer.update();
let _ = self.renderer.flush_pipeline_info();
self.renderer
- .render(self.window_size, 0)
+ .render(self.window_size)
.expect("errors encountered during render!")
}
pub fn refresh(&mut self) {
self.begin_frame();
let mut txn = Transaction::new();
- txn.generate_frame(0);
+ txn.generate_frame();
self.api.send_transaction(self.document_id, txn);
}
diff --git a/third_party/webrender/wrench/src/yaml_frame_reader.rs b/third_party/webrender/wrench/src/yaml_frame_reader.rs
index 492f155b667..e3bf04ed42e 100644
--- a/third_party/webrender/wrench/src/yaml_frame_reader.rs
+++ b/third_party/webrender/wrench/src/yaml_frame_reader.rs
@@ -15,9 +15,7 @@ use std::io::Read;
use std::path::{Path, PathBuf};
use std::usize;
use webrender::api::*;
-use webrender::render_api::*;
use webrender::api::units::*;
-use webrender::api::FillRule;
use crate::wrench::{FontDescriptor, Wrench, WrenchThing};
use crate::yaml_helper::{StringEnum, YamlHelper, make_perspective};
use yaml_rust::{Yaml, YamlLoader};
@@ -106,7 +104,7 @@ impl LocalExternalImageHandler {
pub fn add_image(&mut self,
device: &webrender::Device,
desc: ImageDescriptor,
- target: ImageBufferKind,
+ target: TextureTarget,
image_data: ImageData,
) -> ImageData {
let (image_id, channel_idx) = match image_data {
@@ -236,13 +234,8 @@ fn generate_checkerboard_image(
}
}
- let flags = match kind {
- CheckerboardKind::BlackGrey => ImageDescriptorFlags::IS_OPAQUE,
- CheckerboardKind::BlackTransparent => ImageDescriptorFlags::empty(),
- };
-
(
- ImageDescriptor::new(width as i32, height as i32, ImageFormat::BGRA8, flags),
+ ImageDescriptor::new(width as i32, height as i32, ImageFormat::BGRA8, ImageDescriptorFlags::IS_OPAQUE),
ImageData::new(pixels),
)
}
@@ -329,7 +322,7 @@ pub struct YamlFrameReader {
aux_dir: PathBuf,
frame_count: u32,
- display_lists: Vec<(PipelineId, BuiltDisplayList)>,
+ display_lists: Vec<(PipelineId, LayoutSize, BuiltDisplayList)>,
include_only: Vec<String>,
@@ -339,7 +332,6 @@ pub struct YamlFrameReader {
/// A HashMap of offsets which specify what scroll offsets particular
/// scroll layers should be initialized with.
scroll_offsets: HashMap<ExternalScrollId, LayoutPoint>,
- next_external_scroll_id: u64,
image_map: HashMap<(PathBuf, Option<i64>), (ImageKey, LayoutSize)>,
@@ -390,7 +382,6 @@ impl YamlFrameReader {
built_frame: usize::MAX,
keyframes: None,
external_image_handler: Some(Box::new(LocalExternalImageHandler::new())),
- next_external_scroll_id: 1000, // arbitrary to easily see in logs which are implicit
}
}
@@ -485,12 +476,14 @@ impl YamlFrameReader {
self.spatial_id_stack.clear();
self.spatial_id_stack.push(SpatialId::root_scroll_node(pipeline_id));
- let mut builder = DisplayListBuilder::new(pipeline_id);
+ let content_size = self.get_root_size_from_yaml(wrench, yaml);
+ let mut builder = DisplayListBuilder::new(pipeline_id, content_size);
let mut info = CommonItemProperties {
clip_rect: LayoutRect::zero(),
clip_id: ClipId::invalid(),
spatial_id: SpatialId::new(0, PipelineId::dummy()),
flags: PrimitiveFlags::default(),
+ hit_info: None,
};
self.add_stacking_context_from_yaml(&mut builder, wrench, yaml, true, &mut info);
self.display_lists.push(builder.finalize());
@@ -762,12 +755,13 @@ impl YamlFrameReader {
// ensure it gets created as such
let external_target = match item["external-target"].as_str() {
Some(ref s) => match &s[..] {
- "2d" => ImageBufferKind::Texture2D,
- "rect" => ImageBufferKind::TextureRect,
+ "2d" => TextureTarget::Default,
+ "array" => TextureTarget::Array,
+ "rect" => TextureTarget::Rect,
_ => panic!("Unsupported external texture target."),
}
None => {
- ImageBufferKind::Texture2D
+ TextureTarget::Default
}
};
@@ -1004,12 +998,7 @@ impl YamlFrameReader {
&info.clip_rect
);
- if let Some(tag) = self.to_hit_testing_tag(&item["hit-testing-tag"]) {
- dl.push_hit_test(
- &info,
- tag,
- );
- }
+ dl.push_hit_test(&info);
}
fn handle_line(
@@ -1754,6 +1743,7 @@ impl YamlFrameReader {
clip_rect,
clip_id: space_and_clip.clip_id,
spatial_id: space_and_clip.spatial_id,
+ hit_info: self.to_hit_testing_tag(&item["hit-testing-tag"]),
flags,
};
@@ -1812,12 +1802,11 @@ impl YamlFrameReader {
let numeric_id = yaml["id"].as_i64().map(|id| id as u64);
- let external_id = ExternalScrollId(self.next_external_scroll_id, dl.pipeline_id);
- self.next_external_scroll_id += 1;
-
- if let Some(size) = yaml["scroll-offset"].as_point() {
- self.scroll_offsets.insert(external_id, LayoutPoint::new(size.x, size.y));
- }
+ let external_id = yaml["scroll-offset"].as_point().map(|size| {
+ let id = ExternalScrollId((self.scroll_offsets.len() + 1) as u64, dl.pipeline_id);
+ self.scroll_offsets.insert(id, LayoutPoint::new(size.x, size.y));
+ id
+ });
let space_and_clip = dl.define_scroll_frame(
&self.top_space_and_clip(),
@@ -1983,8 +1972,6 @@ impl YamlFrameReader {
space_and_clip.clip_id = dl.define_clip_image_mask(
&space_and_clip,
image_mask,
- &vec![],
- FillRule::Nonzero,
);
}
@@ -2007,6 +1994,13 @@ impl YamlFrameReader {
}
}
+ fn get_root_size_from_yaml(&mut self, wrench: &mut Wrench, yaml: &Yaml) -> LayoutSize {
+ yaml["bounds"]
+ .as_rect()
+ .map(|rect| rect.size)
+ .unwrap_or(wrench.window_size_f32())
+ }
+
fn push_reference_frame(
&mut self,
dl: &mut DisplayListBuilder,
@@ -2041,10 +2035,7 @@ impl YamlFrameReader {
let reference_frame_kind = if !yaml["perspective"].is_badvalue() {
ReferenceFrameKind::Perspective { scrolling_relative_to: None }
} else {
- ReferenceFrameKind::Transform {
- is_2d_scale_translation: false,
- should_snap: false,
- }
+ ReferenceFrameKind::Transform
};
let transform = yaml["transform"]
@@ -2201,8 +2192,7 @@ impl WrenchThing for YamlFrameReader {
// If YAML isn't read yet, or watching source file, reload from disk.
if self.yaml_string.is_empty() || self.watch_source {
- let mut file = File::open(&self.yaml_path)
- .unwrap_or_else(|_| panic!("YAML '{:?}' doesn't exist", self.yaml_path));
+ let mut file = File::open(&self.yaml_path).unwrap();
self.yaml_string.clear();
file.read_to_string(&mut self.yaml_string).unwrap();
should_build_yaml = true;
diff --git a/third_party/webrender/wrench/src/yaml_helper.rs b/third_party/webrender/wrench/src/yaml_helper.rs
index f9974efdc75..d82f863e9cc 100644
--- a/third_party/webrender/wrench/src/yaml_helper.rs
+++ b/third_party/webrender/wrench/src/yaml_helper.rs
@@ -52,8 +52,6 @@ fn string_to_color(color: &str) -> Option<ColorF> {
"white" => Some(ColorF::new(1.0, 1.0, 1.0, 1.0)),
"black" => Some(ColorF::new(0.0, 0.0, 0.0, 1.0)),
"yellow" => Some(ColorF::new(1.0, 1.0, 0.0, 1.0)),
- "cyan" => Some(ColorF::new(0.0, 1.0, 1.0, 1.0)),
- "magenta" => Some(ColorF::new(1.0, 0.0, 1.0, 1.0)),
"transparent" => Some(ColorF::new(1.0, 1.0, 1.0, 0.0)),
s => {
let items: Vec<f32> = s.split_whitespace()
@@ -563,8 +561,8 @@ impl YamlHelper for Yaml {
("component-transfer", _, _) => {
Some(FilterOp::ComponentTransfer)
}
- ("blur", ref args, _) if args.len() == 2 => {
- Some(FilterOp::Blur(args[0].parse().unwrap(), args[1].parse().unwrap()))
+ ("blur", ref args, _) if args.len() == 1 => {
+ Some(FilterOp::Blur(args[0].parse().unwrap()))
}
("brightness", ref args, _) if args.len() == 1 => {
Some(FilterOp::Brightness(args[0].parse().unwrap()))
@@ -719,8 +717,7 @@ impl YamlHelper for Yaml {
"blur" => {
FilterPrimitiveKind::Blur(BlurPrimitive {
input: self["in"].as_filter_input().unwrap(),
- width: self["width"].as_f32().unwrap(),
- height: self["height"].as_f32().unwrap(),
+ radius: self["radius"].as_f32().unwrap(),
})
}
"opacity" => {