Commit Graph

630 Commits

Author SHA1 Message Date
Andreea Pavel
fcc06500e7 Backed out changeset 91760460f914 (bug 1620005) for build bustages on a CLOSED TREE 2020-03-11 19:57:28 +02:00
Miko Mynttinen
96e49f62f3 Bug 1620005 - Refactor WebRender display item caching r=jrmuizel
DisplayItemBuilder now has methods:
```
void StartGroup(nsPaintedDisplayItem* aItem);
void CancelGroup();
void FinishGroup();
bool ReuseItem(nsPaintedDisplayItem* aItem);
```
WebRender display items previously created between calls to StartGroup() and FinishGroup() will be reused by a call to ReuseItem(),
which will push DisplayItem::ReuseItem(key) to WR display list, if the Gecko display item has been retained and reused.
Calling CancelGroup() will discard the display items that have been pushed after calling StartGroup().

For example, inside nsDisplayBackgroundColor::CreateWebRenderCommands():
```
aBuilder.StartGroup(this);
aBuilder.PushRect(r, r, !BackfaceIsHidden(),
                  wr::ToColorF(ToDeviceColor(mColor)));
aBuilder.FinishGroup();
```

Differential Revision: https://phabricator.services.mozilla.com/D65356
2020-03-11 17:40:18 +00:00
shindli
de35627d4d Backed out 12 changesets (bug 1612941) for webrender linting bustage CLOSED TREE
Backed out changeset bbb8ec38f354 (bug 1612941)
Backed out changeset cd798d2a0433 (bug 1612941)
Backed out changeset c02c4c5bf7f7 (bug 1612941)
Backed out changeset 2e0c9b9bd507 (bug 1612941)
Backed out changeset ec0fffd12dec (bug 1612941)
Backed out changeset 2d6f65fe6ec0 (bug 1612941)
Backed out changeset dd1a92041bb4 (bug 1612941)
Backed out changeset 3cae17a5ec80 (bug 1612941)
Backed out changeset edfca5676513 (bug 1612941)
Backed out changeset f94d5c7cee41 (bug 1612941)
Backed out changeset 67bba000daba (bug 1612941)
Backed out changeset 60151122db4d (bug 1612941)
2020-03-11 14:28:55 +02:00
Lee Salzman
bb5924159a Bug 1612941 - add SWGL glue to webrender_bindings. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65592
2020-03-11 12:05:07 +00:00
shindli
9c6d291ef4 Backed out 12 changesets (bug 1612941) for causing bustages CLOSED TREE
Backed out changeset 29f9f745ff65 (bug 1612941)
Backed out changeset d92e03315f8d (bug 1612941)
Backed out changeset 9b1360daa75a (bug 1612941)
Backed out changeset ad7f43d72b08 (bug 1612941)
Backed out changeset 30b28118362a (bug 1612941)
Backed out changeset 76f80dce8875 (bug 1612941)
Backed out changeset 375896f494ae (bug 1612941)
Backed out changeset bd8ba66dc2ac (bug 1612941)
Backed out changeset 54ec5a6e8e45 (bug 1612941)
Backed out changeset 419105739e53 (bug 1612941)
Backed out changeset c198dedeaa1b (bug 1612941)
Backed out changeset 87ddcdfc5fcf (bug 1612941)
2020-03-11 14:01:26 +02:00
Lee Salzman
9f5fa89838 Bug 1612941 - add SWGL glue to webrender_bindings. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65592
2020-03-11 11:47:16 +00:00
sotaro
4225d45349 Bug 1617808 - Re-deliver PREFER_COMPOSITOR_SURFACE flag to WebRender r=gw
Differential Revision: https://phabricator.services.mozilla.com/D64007
2020-03-10 03:52:08 +00:00
Narcis Beleuzu
019e5b6cbc Backed out changeset 0cb5cf87cb27 (bug 1617808) for bustages on bindings.rs . CLOSED TREE 2020-03-10 02:16:24 +02:00
sotaro
610ea8b21e Bug 1617808 - Re-deliver PREFER_COMPOSITOR_SURFACE flag to WebRender r=gw
Differential Revision: https://phabricator.services.mozilla.com/D64007
2020-03-01 22:06:11 +00:00
Andrew Osmond
490ae875e7 Bug 1618345 - Enforce proper color management by splitting gfx::Color into sRGBColor and DeviceColor types. r=jrmuizel
gfx::Color is currently misused in many places. The DrawTargets expect
the color space to be in device space, e.g. what we are actually going
to draw using. Everything sitting above generally deals with sRGB, as
specified in CSS. Sometimes we missed the conversion from sRGB to device
space when issuing draw calls, and similarly sometimes we converted the
color to device space twice.

This patch splits the type in two. sRGBColor and DeviceColor now
represent sRGB and device color spaces respectively. DrawTarget only
accepts DeviceColor, and one can get a DeviceColor from an sRGBColor via
the ToDeviceColor helper API. The reftests now pass with color
management enabled for everything (e.g. CSS) instead of just tagged
raster images.

There will be a follow up patch to enable color management everywhere by
default on all supported platforms.

Differential Revision: https://phabricator.services.mozilla.com/D64771
2020-03-09 14:16:17 +00:00
Nicolas Silva
18623a2968 Bug 1580178 - Allow hit-testing without synchronous messaging. r=botond,kats
This patch adds an asynchronous hit tester that can perform hit testing queries without blocking on a synchronous message to the render backend thread, which is often busy building frames. This is done by having a shared immutable hit tester readable by any thread, atomically swapped each time the render backend processes a new scene or frame.
In order to asynchronously hit test without causing race conditions with APZ intenral state, the hit tester has to be built while the APZ lock is held.

Differential Revision: https://phabricator.services.mozilla.com/D45345
2020-03-02 10:27:17 +00:00
Hiroyuki Ikezoe
c9835e587a Bug 1510030 - Implement WebRender backend to run background color animations on the compositor. r=gw,boris
Differential Revision: https://phabricator.services.mozilla.com/D63604
2020-02-27 08:43:06 +00:00
Bogdan Tara
7d21db5bef Backed out 6 changesets (bug 1510030) for test_running_on_compositor.html failures CLOSED TREE
Backed out changeset a14a131ca731 (bug 1510030)
Backed out changeset a75359516fec (bug 1510030)
Backed out changeset a2be11cbe3f2 (bug 1510030)
Backed out changeset b37ce2b87ac7 (bug 1510030)
Backed out changeset 781cd96dd9a2 (bug 1510030)
Backed out changeset b3dfa17c6305 (bug 1510030)
2020-02-27 06:28:31 +02:00
Hiroyuki Ikezoe
d162a5bb1c Bug 1510030 - Implement WebRender backend to run background color animations on the compositor. r=gw,boris
Differential Revision: https://phabricator.services.mozilla.com/D63604
2020-02-27 03:47:21 +00:00
Bogdan Tara
61cd0d0548 Backed out 6 changesets (bug 1510030) for webrender bustages CLOSED TREE
Backed out changeset 28a2fba71977 (bug 1510030)
Backed out changeset 1700b3a416cd (bug 1510030)
Backed out changeset 087518046b0c (bug 1510030)
Backed out changeset 6b3af91a7ce6 (bug 1510030)
Backed out changeset 737f4bc3afd3 (bug 1510030)
Backed out changeset 921116ca67a5 (bug 1510030)
2020-02-27 04:45:04 +02:00
Hiroyuki Ikezoe
e19c551eae Bug 1510030 - Implement WebRender backend to run background color animations on the compositor. r=gw,boris
Differential Revision: https://phabricator.services.mozilla.com/D63604
2020-02-27 02:05:10 +00:00
Cosmin Sabou
75bb5b9575 Backed out 6 changesets (bug 1510030) for causing build bustages. CLOSED TREE
Backed out changeset 1bf2a082ca62 (bug 1510030)
Backed out changeset 8b0fd12a063b (bug 1510030)
Backed out changeset ec9c6b79ea42 (bug 1510030)
Backed out changeset cd729f8b0220 (bug 1510030)
Backed out changeset c3e6c17ba7b0 (bug 1510030)
Backed out changeset edc3c212be1f (bug 1510030)
2020-02-27 02:50:40 +02:00
Hiroyuki Ikezoe
2d30d8721a Bug 1510030 - Implement WebRender backend to run background color animations on the compositor. r=gw,boris
Differential Revision: https://phabricator.services.mozilla.com/D63604
2020-02-26 09:51:25 +00:00
Miko Mynttinen
a0e0363fae Bug 1616422 - Part 2: Update display item cache state after call to CreateWebRenderCommands() r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63276
2020-02-25 00:08:19 +00:00
Daniel Varga
3537ba9778 Backed out 2 changesets (bug 1616422) for causing webrender-lint-tidy failures
CLOSED TREE

Backed out changeset 3d44ebc7aed0 (bug 1616422)
Backed out changeset d17dbf82cdd0 (bug 1616422)
2020-02-25 01:33:21 +02:00
Miko Mynttinen
7d1d7abf2d Bug 1616422 - Part 2: Update display item cache state after call to CreateWebRenderCommands() r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D63276
2020-02-24 23:01:12 +00:00
Miko Mynttinen
e8322a90fc Bug 1616335 - Add a pref to dump the serialized WebRender display list r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D63227
2020-02-21 01:08:10 +00:00
Csoregi Natalia
f97f61cdc5 Backed out changeset 3a8d5795c985 (bug 1616335) for tidy bustage on display_list.rs. CLOSED TREE 2020-02-21 01:31:33 +02:00
Miko Mynttinen
23eaebc882 Bug 1616335 - Add a pref to dump the serialized WebRender display list r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D63227
2020-02-20 23:13:13 +00:00
Simon Giesecke
459f898390 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

Differential Revision: https://phabricator.services.mozilla.com/D62604
2020-02-20 11:40:14 +00:00
Nicolas Silva
7de839b0a6 Bug 1616592 - Control the batching lookback count via a pref. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D63336
2020-02-20 03:45:17 +00:00
Dorel Luca
ccba316db1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke
037dd3192f Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

Differential Revision: https://phabricator.services.mozilla.com/D62604
2020-02-19 18:05:38 +00:00
Tim Nguyen
63469e6d4d Bug 1614890 - Implement conic-gradient for WebRender graphics backend. r=gw,nical,emilio
Differential Revision: https://phabricator.services.mozilla.com/D61599
2020-02-12 18:08:32 +00:00
Mihai Alexandru Michis
9f94033de0 Backed out changeset 8f55490fb539 (bug 1614890) for causing awsy failures. 2020-02-12 16:40:22 +02:00
Tim Nguyen
571934f84f Bug 1614890 - Implement conic-gradient for WebRender graphics backend. r=gw,nical
Differential Revision: https://phabricator.services.mozilla.com/D61599
2020-02-12 10:21:51 +00:00
Mihai Alexandru Michis
00fa9c0fe0 Backed out changeset 53650b8686a6 (bug 1614890) for causing webrender failures.
CLOSED TREE
2020-02-12 11:24:25 +02:00
Tim Nguyen
4d6f39a461 Bug 1614890 - Implement conic-gradient for WebRender graphics backend. r=gw,nical
Differential Revision: https://phabricator.services.mozilla.com/D61599
2020-02-12 08:50:06 +00:00
Nicolas Silva
8e20414971 Bug 1613167 - Enable/Disable rayon in WebRender via pref. r=gw
We need a way to switch it on and off to compare the performance and power usage of various test cases.
The new pref is "webrender.enable-multithreading" and does not require a restart.

Differential Revision: https://phabricator.services.mozilla.com/D61589
2020-02-05 09:51:14 +00:00
Miko Mynttinen
39caec5b6b Bug 1558926 - Part 3: Add support for additional WebRender display list data
Differential Revision: https://phabricator.services.mozilla.com/D60759
2020-01-27 14:18:49 +00:00
Brindusan Cristian
1b2a85e35d Backed out 5 changesets (bug 1558926) for WebRender build bustages. CLOSED TREE
Backed out changeset 974bcab6b1bf (bug 1558926)
Backed out changeset 1865e6d29dcf (bug 1558926)
Backed out changeset 92b415dac733 (bug 1558926)
Backed out changeset 30481c41873a (bug 1558926)
Backed out changeset a4d9a1af297a (bug 1558926)
2020-01-24 20:42:16 +02:00
Miko Mynttinen
668e47e6e1 Bug 1558926 - Part 3: Add support for additional WebRender display list data
Depends on D60756

Differential Revision: https://phabricator.services.mozilla.com/D60759
2020-01-22 22:43:59 +00:00
sotaro
fb6d2986db Bug 1602643 - Disable WebRender compositor dinamically for async screenshot r=gw
Differential Revision: https://phabricator.services.mozilla.com/D59658
2020-01-23 23:52:05 +00:00
Mihai Alexandru Michis
34f07ce78b Backed out changeset f3b490c076d6 (bug 1602643) for causing bustages regarding CompositorKindChanged
CLOSED TREE
2020-01-23 16:27:33 +02:00
sotaro
f4b1f9318a Bug 1602643 - Disable WebRender compositor dinamically for async screenshot r=gw
Differential Revision: https://phabricator.services.mozilla.com/D59658
2020-01-23 04:37:28 +00:00
Bert Peers
099c7356fb Bug 1605283 - Improve support for invalidation debugging and testing r=gw
Optionally serialize N frames into a circular memory buffer, and save
them as part of wr-capture into tilecache/.

The new tile_view utility reads the folder and converts the frames to
svg for easier visualization, with a few extra features:
- color code each primitive based on which slice it is on;
- highlight new or moving primitives in red (brute force diff);
- print all invalidated tiles at the top and the invalidation reason;
- overlay the tile quadtree to visualize splitting & merging;
- HTML and JS wrappers for animation playback, timeline scrubbing;

Positioning of the tiles on the screen is a bit broken still; especially
during scrolling and "special" pages (like about:config).

Interning info is not used yet.

Differential Revision: https://phabricator.services.mozilla.com/D59975
2020-01-18 08:22:51 +00:00
Ciure Andrei
2abfae78e6 Backed out changeset 05c1456103ea (bug 1605283) for webrender bustages CLOSED TREE 2020-01-17 20:55:02 +02:00
Bert Peers
8272eb3707 Bug 1605283 - Improve support for invalidation debugging and testing r=gw
Optionally serialize N frames into a circular memory buffer, and save
them as part of wr-capture into tilecache/.

The new tile_view utility reads the folder and converts the frames to
svg for easier visualization, with a few extra features:
- color code each primitive based on which slice it is on;
- highlight new or moving primitives in red (brute force diff);
- print all invalidated tiles at the top and the invalidation reason;
- overlay the tile quadtree to visualize splitting & merging;
- HTML and JS wrappers for animation playback, timeline scrubbing;

Positioning of the tiles on the screen is a bit broken still; especially
during scrolling and "special" pages (like about:config).

Interning info is not used yet.

Differential Revision: https://phabricator.services.mozilla.com/D59975
2020-01-17 18:41:50 +00:00
Csoregi Natalia
9f540c056f Backed out changeset 53cce741bb46 (bug 1605283) for bustage related to cargo-lock. CLOSED TREE 2020-01-17 02:42:35 +02:00
Bert Peers
0d8fbb6e8b Bug 1605283 - Improve support for invalidation debugging and testing r=gw
Optionally serialize N frames into a circular memory buffer, and save
them as part of wr-capture into tilecache/.

The new tile_view utility reads the folder and converts the frames to
svg for easier visualization, with a few extra features:
- color code each primitive based on which slice it is on;
- highlight new or moving primitives in red (brute force diff);
- print all invalidated tiles at the top and the invalidation reason;
- overlay the tile quadtree to visualize splitting & merging;
- HTML and JS wrappers for animation playback, timeline scrubbing;

Positioning of the tiles on the screen is a bit broken still; especially
during scrolling and "special" pages (like about:config).

Interning info is not used yet.

Differential Revision: https://phabricator.services.mozilla.com/D59975
2020-01-17 00:21:17 +00:00
Andrew Osmond
aafc7201d6 Bug 1600472 - Disable allowing sacrificing subpixel anti-aliasing for small screens. r=jrmuizel
This patch only allows sacrificing subpixel anti-aliasing when the
screen size is larger than WUXGA, and when the force disable pref is not
set. In the future, we may also add disable this for high end GPUs.

This also consolidates the WebRender debug flags to use the same
signaling infrastructure to avoid needing to store the debug flag state
and check on each transaction. Instead it now applies the debug flag
updates when the gfxVar changes.

Differential Revision: https://phabricator.services.mozilla.com/D57469
2020-01-10 16:57:55 +00:00
Mihai Alexandru Michis
45f00c70dd Backed out changeset ec0e9a72aebb (bug 1600472) for causing bustages in WebRenderBridgeParent.cpp
CLOSED TREE
2020-01-09 18:06:13 +02:00
Andrew Osmond
6eb7c56757 Bug 1600472 - Disable allowing sacrificing subpixel anti-aliasing for small screens. r=jrmuizel
This patch only allows sacrificing subpixel anti-aliasing when the
screen size is larger than WUXGA, and when the force disable pref is not
set. In the future, we may also add disable this for high end GPUs.

This also consolidates the WebRender debug flags to use the same
signaling infrastructure to avoid needing to store the debug flag state
and check on each transaction. Instead it now applies the debug flag
updates when the gfxVar changes.

Differential Revision: https://phabricator.services.mozilla.com/D57469
2020-01-09 15:23:38 +00:00
Glenn Watson
e44a895680 Bug 1604625 - Add nightly config value to enable GL error checking. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D57549
2019-12-17 21:51:30 +00:00
Bert Peers
b35f7db7dc Bug 1595708 - Cargo build timings SVG output Freezes the entire browser with WebRender r=nical,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D56244
2019-12-09 20:21:41 +00:00