Commit Graph

188 Commits

Author SHA1 Message Date
Kartikaya Gupta
ec2096ed3f Bug 1525314 - Update reftest annotations for WebRender on GeckoView. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D36798

--HG--
extra : moz-landing-system : lando
2019-07-04 21:57:48 +00:00
Coroiu Cristina
3983fddf6d Backed out 6 changesets (bug 1525314) for reftest failures at reftests/svg/filters/css-filters/saturate-zero.html om a CLOSED TREE
Backed out changeset 0ed2509b7191 (bug 1525314)
Backed out changeset af72d1c4c107 (bug 1525314)
Backed out changeset ab21a3ff4ae4 (bug 1525314)
Backed out changeset 02399933ac4b (bug 1525314)
Backed out changeset 95790a07a93c (bug 1525314)
Backed out changeset 28f52fd3934e (bug 1525314)
2019-07-05 00:29:12 +03:00
Kartikaya Gupta
c08a0b6539 Bug 1525314 - Update reftest annotations for WebRender on GeckoView. r=gbrown
Depends on D36797

Differential Revision: https://phabricator.services.mozilla.com/D36798

--HG--
extra : moz-landing-system : lando
2019-07-03 17:13:33 +00:00
Glenn Watson
e22f19cf52 Bug 1558106 - Support picture caching for multiple scroll roots. r=kvark
This patch implements the majority of the planned picture caching
improvements. It supports most of the functionality required to
(as a follow up) support OS compositor integration. It also improves
on the robustness and functionality of the previous picture caching
implementation.

There are some expected temporary performance regressions in
some cases (such as content that is constantly invalidating) and
during initial page render when many render targets must be drawn
to. These performance regressions will be resolved in follow up
commits by supporting multi-resolution tiles.

The scene is split into a number of slices, determined by the scroll
root of each primitive, which can be found by the primitive's
spatial node indices. If a scene contains too many slices, then
picture caching is disabled on the page, to avoid excessive texture
memory usage, and rendering falls back to rasterizing each frame.

The specific changes in this patch are:
    * Support tile caches for multiple scroll roots, allowing the
      entire page (including fixed divs and the main UI bar) to be
      cached in most cases, in addition to the main content.
    * Remove requirement to read tiles back from the framebuffer.
      Instead, they are drawn into the picture cache target tiles,
      and blitted to the screen. This is slightly slower than the
      existing picture caching when content is constantly changing,
      however this cost will disappear / become irrelevant when
      the OS compositor integration work is complete.
    * Switch picture cache render targets to be nearest sampled (they
      are always rendered 1:1) and support depth buffer targets.
    * Make use of the external scroll offset support to allow removal
      of the primitive correlation hacks in the previous picture
      caching implementation. Also allows storing of primitive
      dependencies in picture space rather than world space, which
      reduces floating point inaccuracies.
    * Determine if each tile and picture cache can be considered
      opaque. This is used to determine whether subpixel AA text
      rendering is available on a slice, and for rendering optimizations
      related to disabling blending and/or tile clears.
    * Use the clip chain instance results from the recent visibility pass
      work to determine clip chain dependencies. This results in fewer
      clip item dependencies in tiles, which is faster to check validity
      and reduces redundant invalidations.
    * Remove extra overhead during batching related to batch lists,
      and region iteration, as they are no longer required.
    * Support PrimitiveVisibilityMask during batching. This allows a
      single traversal of a picture (surface) root during batching to
      efficiently construct multiple alpha batcher objects (typically
      one per invalida tile).
    * Picture caching is now handled implicitly by WR, depending on
      the content of the scene. There is no requirement for client
      code to manually select which stacking context should be cached.
    * Simplify how clip chain / transform dependencies are tracked by
      picture cache tiles.
    * Support pushing / popping enclosing clip chain roots without
      the need for a stacking context / picture in some cases. This
      simplifies the logic to split the scene into multiple slices.

The main remaining work in this area is (a) extend the code to
optionally provide each slice as an input to the OS compositor
rather than drawing the tiles in WR, and (b) support multi-resolution
tiles so that we reduce the draw call, batching and render target
overhead in cases where much of the page content is changing.

Differential Revision: https://phabricator.services.mozilla.com/D34319

--HG--
extra : moz-landing-system : lando
2019-06-13 04:43:56 +00:00
Emilio Cobos Álvarez
67c30d05d2 Bug 1557212 - Use cbindgen for gradients. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D33901

--HG--
extra : moz-landing-system : lando
2019-06-07 14:13:17 +00:00
Glenn Watson
d8c42a8290 Bug 1545006 - Use external scroll offsets to move primitives and clips into local space. r=kats
Use the external scroll offsets provided by Gecko to:
 (a) Offset primitives and clips by accumulated scroll offset.
 (b) Adjust the scroll transforms and hit test results.

This allows primitives and clips to be stored in a true local space,
that is consistent between display lists, even if scrolling has
occurred. This is a step towards planned picture caching improvements.

Differential Revision: https://phabricator.services.mozilla.com/D27856

--HG--
extra : moz-landing-system : lando
2019-04-17 21:06:19 +00:00
Glenn Watson
e920cc3f6a Bug 1533236 - Add a fast path to WR for common gradient types. r=kvark
The existing linear gradient shader is quite slow, especially
on very large gradients on integrated GPUs.

The vast majority of gradients in real content are very simple
(typically < 4 stops, no angle, no repeat). For these, we can
run a fast path to persist a small gradient in the texture cache
and draw the gradient via the image shader.

This is _much_ faster than the catch-all gradient shader, and also
results in better batching while drawing the main scene.

In future, we can expand the fast path to handle more cases, such
as angled gradients. For now, it takes a conservative approach,
but still seems to hit the fast path on most real content.

Differential Revision: https://phabricator.services.mozilla.com/D22445

--HG--
extra : moz-landing-system : lando
2019-03-07 21:20:40 +00:00
Andrew Osmond
6cba1775c3 Bug 1453935 - Ensure that we snap within the visible rect with WebRender. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18869
2019-02-07 18:05:43 -05:00
Andreea Pavel
7e3beb59f7 Backed out changeset 87ad4b91e29f (bug 1453935) for reftest failures on a CLOSED TREE 2019-02-08 00:45:29 +02:00
Andrew Osmond
fa36639a3b Bug 1453935 - Ensure that we snap within the visible rect with WebRender. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18869
2019-02-07 15:26:54 -05:00
Bobby Holley
d1796847d4 Bug 1524086 - Mark reftest as fuzzy-if rather than fails-if. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D18582

--HG--
extra : moz-landing-system : lando
2019-02-06 05:32:35 +00:00
Kartikaya Gupta
7b573a2913 Bug 1509054 - Follow-up to fix fuzziness annotation on windows opt as well. r=me 2018-11-22 10:34:48 -05:00
Joel Maher
6ae712cb2a Bug 1509054 - add fuzzy-if statements to allow reftests to run on new windows10 AMI image. r=kats
add fuzzy-if statements to allow reftests to run on new windows10 AMI image

Differential Revision: https://phabricator.services.mozilla.com/D12553

--HG--
extra : moz-landing-system : lando
2018-11-21 16:11:24 +00:00
L. David Baron
1e88f0f003 Bug 1369941: Replace single integers N in fuzzy() and fuzzy-if() with 0-N ranges. r=dholbert
This patch was written entirely by the following script:

  #!/bin/bash

  if [ ! -d "./.hg" ]
  then
    echo "Not in a source tree." 1>&2
    exit 1
  fi

  find . -regex '.*\(ref\|crash\)test.*\.list' | while read FILENAME
  do
    echo "Processing ${FILENAME}."
    # The following has four substitutions:
    # * The first one replaces the *first* argument to fuzzy() when it doesn't
    #   have a - in it, by replacing it with an explicit 0-N range.
    # * The second one does the same for the *second* argument to fuzzy().
    # * The third does the same for the *second* argument to fuzzy-if().
    # * The fourth does the same for the *third* argument to fuzzy-if().
    #
    # Note that this is using perl rather than sed because perl doesn't
    # support non-greedy matching, which is needed for the first argument to
    # fuzzy-if.
    perl -pi -e 's/(fuzzy\()([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy\([^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,)([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,[^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g' "${FILENAME}"
  done

Differential Revision: https://phabricator.services.mozilla.com/D2974

--HG--
extra : moz-landing-system : lando
2018-08-09 20:10:21 +00:00
Lee Salzman
df04ecc567 Bug 1468801 - deprecate SkiaGL for Canvas2D. r=snorp 2018-06-14 11:08:14 -07:00
Kartikaya Gupta
32a1261d0d Bug 1322845 - Update reftest annotations for WebRender on macOS. r=Gankro
MozReview-Commit-ID: 6NufRyb41ia
2018-05-08 22:42:51 -04:00
Andreea Pavel
8daddd690f Backed out 2 changesets (bug 1322845) for failing reftest background-repeat-large-area.html == background-repeat-large-area-ref.html on a CLOSED TREE
Backed out changeset 4fd46cd822bf (bug 1322845)
Backed out changeset abd41b3e63e7 (bug 1322845)
2018-05-09 05:13:08 +03:00
Kartikaya Gupta
93650c1b04 Bug 1322845 - Update reftest annotations for WebRender on macOS. r=Gankro
MozReview-Commit-ID: 6NufRyb41ia
2018-05-08 20:39:51 -04:00
Nicolas Silva
85d46efa66 Bug 1457241 - Add fuzziness to some of the gradient reftests. r=kats
MozReview-Commit-ID: 4sfWX1tbbKB

--HG--
extra : rebase_source : 05c26de1f9627052a0705f2a20f197a6d3d1fe68
2018-04-30 10:13:08 -04:00
Kartikaya Gupta
2eefaf54ec Bug 1344350 - Mark reftests passing with webrender on Windows. r=jrmuizel
This covers all the reftests that have lower fuzz (or zero fuzz) and
were producing an UNEXPECTED-PASS result with webrender on windows. In
many cases I just adjusted the lower bound of the existing webrender
fuzz. In other cases existing fails-if conditions had to be tweaked to
exclude webrender.

MozReview-Commit-ID: 49LvS0vuYWR

--HG--
extra : rebase_source : d194e24affb87fe4560a127ff4016f9c38f414fd
2018-04-06 11:58:44 -04:00
Lee Salzman
d3709cc4e9 Bug 1444506 - part 6 - fuzz for Skia m66 update. r=jrmuizel 2018-03-12 16:37:10 -04:00
Joel Maher
ae89d56fde Bug 1438861 - 2 css-gradients reftests fail to pass on new windows10 hardware. r=gbrown 2018-02-23 11:20:24 -05:00
Kartikaya Gupta
db2d71434a Bug 1438892 - Update annotations from WR PR 2426. r=jrmuizel
MozReview-Commit-ID: 5o3YCJKxlje

--HG--
extra : rebase_source : 33112ce4cc0ab11abb7413058f13ae320cba98ad
2018-02-20 09:06:32 -05:00
Kartikaya Gupta
c3c24da1c1 Bug 1429469 - Replace fails-if(webrender) annotations with fuzzy checks. r=jrmuizel
In these cases there is no human-visible difference in the WR renderings
of the test and reference images, so we can replace the failing
annotations with fuzzy ones instead.

MozReview-Commit-ID: Ioiem4ZwwI2

--HG--
extra : rebase_source : d2204d9674b4aba6eb78bc0d0007a40121564ac5
2018-01-10 13:34:15 -05:00
Kartikaya Gupta
922c91a3bb Bug 1359242 - Update reftest annotations. r=jrmuizel
MozReview-Commit-ID: 7l9eWfzWhw5

--HG--
extra : rebase_source : 4e9fc023a18c8f427e36e737dcc1ab6ad830d5cc
2017-09-28 10:40:08 -04:00
Sebastian Hengst
553f43c688 Backed out changeset 75f20de3a189 (bug 1395501) 2017-09-28 16:36:10 +02:00
Ethan Lin
81d80078ea Bug 1395501 - Part3. Update reftest annotations for unexpected-pass tests. r=jrmuizel,kats
MozReview-Commit-ID: 8QzoqnrxfhR

--HG--
extra : rebase_source : 6876408907e440ce43a2fb195da81648873988e7
2017-09-28 15:54:36 +08:00
Kartikaya Gupta
818cfd7499 Bug 1389000 - Update reftest annotations for layers-free results. r=jrmuizel
This patch:
- adds fails-if annotations for all the reftests that were consistently failing
  with layers-free turned on.
- removes fails-if or reduces the range on fuzzy-if annotations for all
  the reftests that were producing UNEXPECTED-PASS results with
  layers-free turned on.
- adds skip-if, random-if, or fuzzy-if annotations to the reftests that
  were intermittently failing due to timeout, obvious incorrectness, or
  slight pixel differences, respectively.

MozReview-Commit-ID: A0Aknn6rnjj

--HG--
extra : rebase_source : 420d9cf43f23a5d654fa36eec69138937d13c173
2017-09-26 14:49:19 -04:00
Chris Peterson
ce7edc4de1 Bug 1394603 - Replace fails-if(!styloVsGecko) to fails. r=jryans
Skip tests that are expected to fail in both Stylo and Gecko modes. They would unexpectedly "pass" in styloVsGecko mode when comparing the two failures, which is not a useful result.

MozReview-Commit-ID: 3mOpjU225Q1

--HG--
extra : rebase_source : 22bb5d4e3c5138ef832995eaf5716824f4707ffe
extra : source : d40fb20c9a49d0797c0eeae613a04912b12a28f7
2017-09-01 20:39:44 -07:00
Phil Ringnalda
75f9cdbd7e Backed out 3 changesets (bug 1394603) for reftest syntax error
CLOSED TREE

Backed out changeset 44117208f321 (bug 1394603)
Backed out changeset 31088c59d895 (bug 1394603)
Backed out changeset 20551d68f602 (bug 1394603)

MozReview-Commit-ID: 4F4jSQ8GyfG
2017-09-06 22:48:55 -07:00
Chris Peterson
2d629378b2 Bug 1394603 - Replace fails-if(!styloVsGecko) to fails. r=jryans
Skip tests that are expected to fail in both Stylo and Gecko modes. They would unexpectedly "pass" in styloVsGecko mode when comparing the two failures, which is not a useful result.

MozReview-Commit-ID: 3mOpjU225Q1

--HG--
extra : rebase_source : 0c307639c3626af3b6b43e05d3ee73d08b3f47ce
2017-09-01 20:39:44 -07:00
J. Ryan Stinnett
11508b0f88 Bug 1385027 - Update Stylo test annotations for Windows. r=manishearth
MozReview-Commit-ID: 7FPPAga0jgW

--HG--
extra : rebase_source : 5fe4189caf99b23e56cf87f6ebaea332058a3e80
2017-08-01 16:32:48 -05:00
Nazım Can Altınova
19a0e93729 Bug 1358710 - Unprefix -moz-linear-gradient / -moz-radial-gradient in unit tests r=dholbert
MozReview-Commit-ID: J2Tn8GKfKIN

--HG--
rename : layout/reftests/css-gradients/aja-linear-2a.html => layout/reftests/css-gradients/aja-linear-2.html
extra : rebase_source : 9c1869bddf2068cf68666e0815b8f9d9424fe76a
2017-04-24 15:54:51 +03:00
Emilio Cobos Álvarez
215e98ef37 Bug 1341102: Update test expectations for servo/servo#16859. r=emilio
Patch by Anthony Ramine.

MozReview-Commit-ID: 7uTzBU8yG0E
2017-05-15 17:22:48 +02:00
Sebastian Hengst
feb6f6c577 Backed out changeset 19f0b1e8f287 (bug 1358710) for failing reftest aja-linear-2.html on OS X with e10s. r=backout
--HG--
rename : layout/reftests/css-gradients/aja-linear-2.html => layout/reftests/css-gradients/aja-linear-2a.html
2017-05-15 00:18:47 +02:00
Nazım Can Altınova
d8be7ab275 Bug 1358710 - Unprefix -moz-linear-gradient / -moz-radial-gradient in unit tests r=dholbert
MozReview-Commit-ID: J2Tn8GKfKIN

--HG--
rename : layout/reftests/css-gradients/aja-linear-2a.html => layout/reftests/css-gradients/aja-linear-2.html
extra : rebase_source : 7b1ae51a435fae3782a03046ce21474b9a149f1a
2017-04-24 15:54:51 +03:00
Shing Lyu
c46f5d5baf Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: 8LoQ9xNnDnj
2017-04-28 11:15:58 +08:00
Shing Lyu
435db45b79 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-28 11:15:50 +08:00
Sebastian Hengst
ceff3b0678 Backed out changeset 1f9d0f8e65b9 (bug 1351548) 2017-04-26 13:13:05 +02:00
Sebastian Hengst
f46ebb0d94 Backed out changeset aebb0ceeb20a (bug 1351548) 2017-04-26 13:12:53 +02:00
Shing Lyu
96b400c04a Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: Gn0fbS4PZ7i
2017-04-26 18:21:52 +08:00
Shing Lyu
dae014d9d5 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-26 18:21:43 +08:00
Manish Goregaokar
8854b518a1 Bug 1342596 - Update expectations for absolute length serialization ; r=manishearth 2017-04-12 14:57:20 +08:00
Boris Zbarsky
a11bfd53bd Bug 1341988. Reenable a bunch of stylo reftests that were disabled for reasons that are not relevant anymore. r=bz
MozReview-Commit-ID: CLqLHexhBX3

--HG--
extra : rebase_source : 07dfb89d0651240362395494fdd7ee94363430b6
2017-02-23 02:09:57 -05:00
Cameron McCormack
fed1d780de Bug 1334768 - Remove azureQuartz from reftest-stylo manifests. r=me (DONTBUILD)
MozReview-Commit-ID: 7kaPf6TfNW6

--HG--
extra : amend_source : 9d40fbe50127083c39cab7c24a84fcb84097cad5
2017-02-01 13:25:38 +08:00
Cameron McCormack
5423a0c427 Bug 1334768 - stylo: Test expectation adjustments for 2017-02-01 merge. r=me
MozReview-Commit-ID: FxnEiBpZQQg
2017-02-01 17:29:28 +08:00
Sebastian Hengst
080c0f9869 Bug 1335133 - Remove 'azureQuartz' reftest variable and all its usages. r=dholbert
MozReview-Commit-ID: IjqK2DJ4bDj
2017-01-31 11:23:02 +01:00
Sebastian Hengst
b2d8163bfc Bug 1334898 - Remove annotations for OSX<10.9 from layout reftests. r=dholbert
MozReview-Commit-ID: Iq4Ja98TJ7C
2017-01-30 21:03:33 +01:00
Cameron McCormack
9c4ea5685f Bug 1334768 - stylo: Back out 800030115d2e and 404506488cfb for being completely wrong due to bug 1334938.
MozReview-Commit-ID: 8CGTqmtlguT
2017-01-30 16:49:54 +08:00
Cameron McCormack
35486c881a Bug 1334768 - stylo: More reftest expectation adjustments for 2017-01-29 merge.
MozReview-Commit-ID: 8TT4JzUIBZl
2017-01-30 10:53:58 +08:00