Commit Graph

235 Commits

Author SHA1 Message Date
Jeff Muizelaar
81aac9064d Bug 1563770. Always include a visible rect with blob images. r=nical
I suspect we may change things more in the future as we blob's size
just be the visible rect but this is an incremental step in the right
direction.

It also includes some changes to make sure that we always update our
tiles appropriately.

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

--HG--
extra : moz-landing-system : lando
2019-07-13 19:07:05 +00:00
Jeff Muizelaar
65dccbec8c Bug 1565620. Preserve initial batching debug state across debug state changes. r=kvark
This lets us run wrench with -no-batch and turn on the profiler.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 18:04:45 +00:00
Csoregi Natalia
d7d499fe52 Merge inbound to mozilla-central. a=merge 2019-07-12 02:00:51 +03:00
Csoregi Natalia
20e91a0890 Backed out changeset 5c88b35cc6f5 (bug 1563770) for causing bug 1565231. a=backout 2019-07-11 23:14:01 +03:00
Jeff Muizelaar
3e4eb446aa Bug 1563770. Always include a visible rect with blob images. r=nical
I suspect we may change things more in the future as we blob's size
just be the visible rect but this is an incremental step in the right
direction.

It also includes some changes to make sure that we always update our
tiles appropriately.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 02:32:35 +00:00
Connor Brewster
3f078809f7 Bug 1555483 - Part 5: Add wrench reftests for SVG filters and update test expectations r=gw
Differential Revision: https://phabricator.services.mozilla.com/D35742

--HG--
rename : gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/filter-flood.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml
extra : moz-landing-system : lando
2019-07-10 22:37:48 +00:00
Connor Brewster
76b9b0a883 Bug 1555483 - Part 3: Add SVG render task and shader r=gw
The SVG task supports the pre-existing SVG filters along with Blend.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 22:37:30 +00:00
Connor Brewster
3efce98819 Bug 1555483 - Part 1: Add SVG filter primitive display item. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D34087

--HG--
extra : moz-landing-system : lando
2019-07-10 22:36:25 +00:00
Noemi Erli
7ac279ac4a Backed out 5 changesets (bug 1555483) for causing wrench bustages CLOSED TREE
Backed out changeset 8149efc1f813 (bug 1555483)
Backed out changeset 917f800e4e43 (bug 1555483)
Backed out changeset 418839320ab5 (bug 1555483)
Backed out changeset 134a51a0e034 (bug 1555483)
Backed out changeset 7c43dc769da7 (bug 1555483)

--HG--
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml => gfx/wr/wrench/reftests/filters/filter-flood.yaml
2019-07-10 23:27:36 +03:00
Connor Brewster
2b84406608 Bug 1555483 - Part 5: Add wrench reftests for SVG filters and update test expectations r=gw
Differential Revision: https://phabricator.services.mozilla.com/D35742

--HG--
rename : gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/filter-flood.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml
extra : moz-landing-system : lando
2019-07-10 02:17:17 +00:00
Connor Brewster
31021a43ce Bug 1555483 - Part 3: Add SVG render task and shader r=gw
The SVG task supports the pre-existing SVG filters along with Blend.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 02:17:21 +00:00
Connor Brewster
4f98a810a8 Bug 1555483 - Part 1: Add SVG filter primitive display item. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D34087

--HG--
extra : moz-landing-system : lando
2019-07-10 02:17:25 +00:00
Jonas Platte
c26d1cfea9 Bug 1563588 - Update glutin to 0.19, winit to 0.18 r=nical
From https://github.com/servo/webrender/pull/3690

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

--HG--
extra : moz-landing-system : lando
2019-07-10 11:12:08 +00:00
Connor Brewster
205d3b8e05 Bug 1564677 - Disable border/no-aa.yaml on Android emulator
Differential Revision: https://phabricator.services.mozilla.com/D37518

--HG--
extra : moz-landing-system : lando
2019-07-10 03:49:30 +00:00
Dorel Luca
9dcd722ccc Backed out 5 changesets (bug 1555483) for Wrench failure in sdcard/wrench/reftests/border/no-aa.yaml
Backed out changeset 244b23c635c5 (bug 1555483)
Backed out changeset 4d4f45f7f1d1 (bug 1555483)
Backed out changeset 5618213e2196 (bug 1555483)
Backed out changeset d6169482c913 (bug 1555483)
Backed out changeset 3a1e5a56759b (bug 1555483)

--HG--
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml => gfx/wr/wrench/reftests/filters/filter-flood.yaml
2019-07-10 05:12:26 +03:00
Connor Brewster
24bb8d2a5c Bug 1555483 - Part 5: Add wrench reftests for SVG filters and update test expectations r=gw
Differential Revision: https://phabricator.services.mozilla.com/D35742

--HG--
rename : gfx/wr/wrench/reftests/filters/filter-flood-ref.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood-ref.yaml
rename : gfx/wr/wrench/reftests/filters/filter-flood.yaml => gfx/wr/wrench/reftests/filters/svg-filter-flood.yaml
extra : moz-landing-system : lando
2019-07-08 23:46:39 +00:00
Connor Brewster
94b32299f8 Bug 1555483 - Part 3: Add SVG render task and shader r=gw
The SVG task supports the pre-existing SVG filters along with Blend.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 22:33:18 +00:00
Connor Brewster
f48188d4e6 Bug 1555483 - Part 1: Add SVG filter primitive display item. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D34087

--HG--
extra : moz-landing-system : lando
2019-07-08 22:32:52 +00:00
Oana Pop Rus
1a5e831b42 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-11 13:00:34 +03:00
Nicolas Silva
a8b0d6f029 Bug 1557208 - Block the caller during RenderBackend shutdown. r=sotaro
--HG--
extra : rebase_source : 4f7177b6732c0ba7192a70896b7e0f8bf4586474
extra : source : 0a8860887ee53b1ef6d9f0ea8f03f246f913395d
2019-07-11 09:50:50 +02:00
Dzmitry Malyshau
e7e86f1bd8 Bug 1563993 - WR chase into clips r=jrmuizel
it's very helpful to see the list of clips and the way they affect a chased primitive
Example:
```
    building clip chain instance with local rect TypedRect(1561.0×1968.0 at (-300.0,-300.0))
        clip Rectangle(3840.0×1874.0, Clip) at (0.0,0.0) in space SpatialNodeIndex(1)
        flags (empty), resulted in Partial
        clip Rectangle(3840.0×1874.0, Clip) at (0.0,0.0) in space SpatialNodeIndex(2)
        flags (empty), resulted in Partial
```

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

--HG--
extra : moz-landing-system : lando
2019-07-08 13:09:38 +00:00
Chris AtLee
a0d3d64841 Bug 1559975: Fix python2/3 compat in gfx/ r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35337

--HG--
extra : moz-landing-system : lando
2019-07-05 14:28:55 +00:00
Dzmitry Malyshau
a29869406b Bug 1546818 - WR text local transform fix r=gw
Change the glyph transform computation to be relative to the surface node.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 18:59:42 +00:00
Glenn Watson
6b55adc20e Bug 1562788 - Add support for benchmarking llvmpipe and swiftshader in wrench. r=nical
* Add a script for running wrench under various software rasterizers.
* Add support to wrench for non-blocking event loop.
* Add support to wrench for selecting GL/ES rendering API.
* Update x11 bindings for wrench, to fix a release only crash.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 21:52:16 +00:00
Andreea Pavel
468f91f972 Backed out changeset 9c6775d713e8 (bug 1562788) for webrender lint tidy bustage on a CLOSED TREE 2019-07-03 00:43:26 +03:00
Glenn Watson
861fa49918 Bug 1562788 - Add support for benchmarking llvmpipe and swiftshader in wrench. r=nical
* Add a script for running wrench under various software rasterizers.
* Add support to wrench for non-blocking event loop.
* Add support to wrench for selecting GL/ES rendering API.
* Update x11 bindings for wrench, to fix a release only crash.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:15:18 +00:00
Dzmitry Malyshau
3ad5ab9386 Bug 1562892 - WR capture native fonts as raw r=lsalzman
we save the native fonts by their full path now. On macOS, there is no
such thing as a full filesystem path for a CGFont (or at least we don't track it),
so loading a capture falls back to the old logic of using the dummy font.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 15:50:28 +00:00
Jamie Nicol
34dc1a1c4a Bug 1556763 - Enable wrench blend reftests on android devices. r=kats
These now work on actual devices now, but must remain disabled on the
emulator until bug 1555002 is fixed.

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

--HG--
extra : moz-landing-system : lando
2019-06-15 11:56: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
Dzmitry Malyshau
f43371a2ff Bug 1474294 - Enable WR perspective box shadow reftest r=Gankro
a follow-up to the actual fix and the reftest

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

--HG--
extra : moz-landing-system : lando
2019-06-10 20:05:00 +00:00
Kartikaya Gupta
a001de8d97 Bug 1555479 - Update wrench mozharness script to support running on a device as well. r=gbrown
The presence or absence of the DEVICE_SERIAL environment variable
is sufficient to control this.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 08:59:06 +00:00
Kartikaya Gupta
6d682927cb Bug 1555479 - Rename android_emulator_wrench to android_wrench.py. r=gbrown
This is in preparation for having the same script be used for emulator
and device runs. No functional change in this patch; it just renames
the file and class.

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

--HG--
rename : testing/mozharness/scripts/android_emulator_wrench.py => testing/mozharness/scripts/android_wrench.py
extra : moz-landing-system : lando
2019-06-08 08:59:02 +00:00
Kartikaya Gupta
3e5be83a11 Bug 1555479 - Update android skip annotations for Pixel2 results. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D33405

--HG--
extra : moz-landing-system : lando
2019-06-08 08:58:48 +00:00
Kartikaya Gupta
f2fe061b71 Bug 1555479 - Allow wrench to know when it is running in the emulator. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D33404

--HG--
extra : moz-landing-system : lando
2019-06-08 08:58:41 +00:00
Alexis Beingessner
a5a5beced5 Bug 1474294 - Add reftest for a box-shadow in perspective transform without preserve-3d. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30980

--HG--
extra : moz-landing-system : lando
2019-06-07 14:40:30 +00:00
Kartikaya Gupta
8d93d33a0b Bug 1556597 - Run cargo fix on webrender. r=Gankro
This is the result of `cargo +nightly fix --all-features --all-targets`
using a recent rust nightly.

Depends on D33781

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

--HG--
extra : moz-landing-system : lando
2019-06-05 14:07:48 +00:00
Dan Glastonbury
f2af9f0231 Bug 1550640 - P2: Remove dead code resulting from refactoring of ItemRange. r=Gankro
Having `ItemRange` contain a byte slice means that the `display_list` and
`pipeline_id` don't need to be threaded through code that accesses items from
ItemRange.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 05:53:05 +00:00
Dan Glastonbury
8cde33bc21 Bug 1550640 - P1: Refactor ItemRange to contain u8 slices for byte ranges. r=Gankro
This refactor is in preparation for P3.

When refactoring `next_raw()` to use `peek_from` instead of
`deserialize_in_place`, it became clear that `ItemRange` is holding a slice of
bytes from the incoming serialized display list and `peek_from` could be adapted
work directly on the byte slice.

It was also noticed that the `get()` interface was potentially unsafe; any
`ItemRange` can be passed into `get()` for any display list.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 05:53:03 +00:00
Connor Brewster
e68c4f61a8 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 19:28:10 +00:00
Noemi Erli
1927c42ef1 Backed out changeset cb8c60790fd9 (bug 1536240) for causing build bustages CLOSED TREE 2019-05-30 21:55:29 +03:00
Connor Brewster
6dd4341bb0 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 16:18:42 +00:00
Connor Brewster
bb54c17ce3 Bug 1555476 - Implement flood filter in WebRender r=gw
Differential Revision: https://phabricator.services.mozilla.com/D33109

--HG--
extra : moz-landing-system : lando
2019-05-30 03:11:53 +00:00
Bastien Orivel
998c4ce860 Bug 1554401 - Part 1: Update dwrote to 0.9. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D32567

--HG--
extra : moz-landing-system : lando
2019-05-25 17:08:40 +00:00
Kartikaya Gupta
5f30b8c664 Bug 1549776 - Add taskcluster jobs for running wrench on Android. r=jrmuizel
Also docs for running the same thing locally.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 19:31:06 +00:00
Kartikaya Gupta
8cf7462c57 Bug 1549776 - Disable more reftests due to failures on Android. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D32013

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:22 +00:00
Kartikaya Gupta
d98f966468 Bug 1549776 - Disable some reftests on debug Android. r=gw
These tests cause panics in debug mode because of the extra GL error
checking. Tests that are disabled are annotated with the failing
GL call.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:18 +00:00
Kartikaya Gupta
7b3a5c9560 Bug 1549776 - Disable some reftests on Android. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D32011

--HG--
extra : moz-landing-system : lando
2019-05-23 15:30:08 +00:00
Kartikaya Gupta
0f392e1c84 Bug 1551611 - Skip subpixel AA tests on macOS 10.14. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D31183

--HG--
extra : moz-landing-system : lando
2019-05-15 15:12:40 +00:00
Kartikaya Gupta
5276a16758 Bug 1551611 - Add macOS version information to the ReftestEnvironment. r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D31182

--HG--
extra : moz-landing-system : lando
2019-05-15 15:10:51 +00:00
Kartikaya Gupta
1ba5b82de1 Bug 1551611 - Introduce a ReftestEnvironment. r=Gankro
This moves the existing constants into a ReftestEnvironment which
encapsulates it a bit better. Also this fixes the incorrect "debug" cfg
check to "debug_assertions" which is more correct.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 15:10:34 +00:00