Commit Graph

475 Commits

Author SHA1 Message Date
Jeff Muizelaar
a2d2f8b167 Bug 1786959 - Rename "RenderLayers" to "WrDisplayList". r=gfx-reviewers,bradwerth
This more accurately describes what happens in this time period.

Differential Revision: https://phabricator.services.mozilla.com/D155511
2022-08-24 20:23:57 +00:00
Jeff Muizelaar
1febdb96a6 Bug 1783020 - Record WebRender display list building time in PerfStats. r=bas
This repurposes the unused LayerBuilding stat.

Differential Revision: https://phabricator.services.mozilla.com/D153631
2022-08-03 22:40:47 +00:00
Hiroyuki Ikezoe
f8e2739919 Bug 1742797 - Add a new IPC call to clear animation resources on WebRender, r=sotaro.
Differential Revision: https://phabricator.services.mozilla.com/D151481
2022-07-19 19:56:21 +00:00
Butkovits Atila
7dd51c0a72 Backed out 4 changesets (bug 1742797, bug 1748808) for causing crashes at mozilla::layers::APZCTreeManagerParent::RecvUpdateZoomConstraints.
Backed out changeset 23f2a369a5a7 (bug 1748808)
Backed out changeset 5b0edd03f698 (bug 1742797)
Backed out changeset 8ed69c2c1d49 (bug 1742797)
Backed out changeset 18e11e7ea9d0 (bug 1742797)
2022-07-19 08:12:04 +03:00
Hiroyuki Ikezoe
52ec0fcb16 Bug 1742797 - Add a new IPC call to clear animation resources on WebRender, r=sotaro.
Differential Revision: https://phabricator.services.mozilla.com/D151481
2022-07-18 18:01:52 +00:00
Csoregi Natalia
0e596f380e Backed out 4 changesets (bug 1742797) for causing failures on /browser_ext_getViews.js. CLOSED TREE
Backed out changeset c48ff146a33d (bug 1742797)
Backed out changeset a692ca1d8401 (bug 1742797)
Backed out changeset cfc1f440fb6d (bug 1742797)
Backed out changeset 88f60761e884 (bug 1742797)
2022-07-13 01:02:54 +03:00
Hiroyuki Ikezoe
e7e727dea4 Bug 1742797 - Add a new IPC call to clear animation resources on WebRender, r=sotaro.
Differential Revision: https://phabricator.services.mozilla.com/D151481
2022-07-12 14:46:53 +00:00
Razvan Cojocaru
31f93c6a79 Bug 1767121 - Change the type of StackingContextHelper::mScale to MatrixScales. r=botond
Fix a minor typo while at it: "Inherrited" -> "Inherited".

Differential Revision: https://phabricator.services.mozilla.com/D146298
2022-05-19 01:45:52 +00:00
sotaro
a6fbfbb8da Bug 1769900 - Add more logs of window size sanity check around nsWindow r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D146658
2022-05-18 15:15:41 +00:00
sotaro
e75650f6cc Bug 1765126 - Add XRE_IsParentProcess() info to one gfxCriticalNote in WebRenderLayerManager::Initialize() r=gfx-reviewers,aosmond
If is helpful if "Failed to connect WebRenderBridgeChild" log has an info about if it happens in parent process.

Differential Revision: https://phabricator.services.mozilla.com/D143902
2022-04-18 20:21:41 +00:00
Jamie Nicol
2f77f58d41 Bug 1762388 - Store reference to WebRenderBridgeChild in WebrenderLayerManager even if already destroyed. r=aosmond
If the compositor is destroyed whilst in the process of being
reinitialized, it is possible for a WebRenderBridgeParent to be
created in an already-destroyed state. In this case, we currently
avoid saving a reference to the WebRenderBridgeChild in
WebRenderLayerManager. However, this means that
WebRenderLayerManager's destruction does not cause the
WebRenderBridgeChild (and therefore the corresponding
WebRenderBridgeParent) to be destroyed, meaning its layer tree ID does
not get erased from the map.

This patch makes us unconditionally store a reference to the
WebRenderBridgeChild in WebRenderLayerManager, meaning it is correctly
destroyed and the layer tree ID is correctly erased from the map.

Differential Revision: https://phabricator.services.mozilla.com/D142547
2022-03-31 19:29:28 +00:00
sotaro
90b1d74ff8 Bug 1741352 - Relax widget size log in WebRenderLayerManager::Initialize() r=gfx-reviewers,bradwerth
We also want  a size check log in content process.

Differential Revision: https://phabricator.services.mozilla.com/D131210
2021-11-16 22:34:14 +00:00
Jeff Muizelaar
e9fd7de01c Bug 1736266 - Remove unused DidCompositeObserver. r=sotaro
This was added in bug 1320864 and looks like it was used for plugins.

Differential Revision: https://phabricator.services.mozilla.com/D128735
2021-10-19 00:55:30 +00:00
Nicolas Silva
8edf9638bf Bug 1690619 - Keep track of where the request to rendering something comes from. r=gfx-reviewers,mstange
This patch adds plumbing to keep track of why we request frames to be rendered.
This information is then displayed in gecko profile markers on the renderer thread as well as in profiler HUD counters (See "Render reasons" in profiler.rs).

Differential Revision: https://phabricator.services.mozilla.com/D127274
2021-10-05 12:54:39 +00:00
Tetsuharu Ohzeki
7df94090b7 Bug 1733972 - Remove unused aSubtree argument of WebRenderLayerManager::ClearCachedResources(). r=gfx-reviewers,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D127497
2021-10-05 01:29:13 +00:00
Chris Martin
aaa45c2a29 Bug 1718414 - Stop canvas from initializing D3D in locked-down content process when GPU process fails r=sotaro,bobowen
Before Win32k Lockdown, Canvas would ensure that it would get the fastest possible implementation by initializing
devices in content process before allocating persistent buffers for its backing.

However, with Win32k Lockdown it's no longer possible, as initializing Direct3D and Direct2D make Win32k calls that
crash the locked-down content process.

This issue is generally solved by Remote Canvas; however, Remote Canvas is disabled if the GPU process is disabled.
If that happens, the current behavior is to attempt to initialize hardware acceleration again, causing a crash when
Win32k Lockdown is in effect.

This patch changes the behavior so that the devices will not initialize if they are in a locked-down content process,
even if Remote Canvas is disabled. The effect is that Canvas will fall back to using Skia for everything.

Differential Revision: https://phabricator.services.mozilla.com/D126761
2021-09-29 15:00:19 +00:00
Matt Woodrow
0f8591792b Bug 1727682 - Make WebRenderLayerManager not inherit LayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124433
2021-09-05 22:36:45 +00:00
Matt Woodrow
8b80ec4fd2 Bug 1728914 - Move payload handling from LayerManger to WebRenderLayerManager. r=gfx-reviewers,aosmond,jrmuizel
Depends on D124418

Differential Revision: https://phabricator.services.mozilla.com/D124419
2021-09-05 02:16:37 +00:00
Glenn Watson
5e55160724 Bug 1728774 - Fix display item cache with retained DL builder. r=miko,gfx-reviewers
Fix a bug where the display item cache was not being reused from
frame to frame with retained display list builders.

At the same time, make the capacity recycling on the display list
serialization arrays a bit more realistic.

Differential Revision: https://phabricator.services.mozilla.com/D124412
2021-09-03 02:09:57 +00:00
Nicolas Silva
23accd5d05 Bug 1726118 - Prefix all webrender debug prefs with gfx.webrender.debug. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123965
2021-09-01 17:08:36 +00:00
Cristian Tuns
8eafc88437 Backed out changeset e32da12745e9 (bug 1726118) for causing webrender mochitest failures on browser_vulnerableLoginAddedInSecondaryWindow.js. CLOSED TREE 2021-09-01 06:31:12 -04:00
Nicolas Silva
31fade606c Bug 1726118 - Prefix all webrender debug prefs with gfx.webrender.debug. r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123965
2021-09-01 09:41:11 +00:00
sotaro
99f4fa027c Bug 1727703 - Clear pending transactions in WebRenderLayerManager::DoDestroy() r=mattwoodrow,gfx-reviewers
When device reset happens, WebRender and WebRenderLayerManagers are re-created. In this case,  pending transactions of nsRefreshDriver need to be cleared during destroying WebRenderLayerManager.

Differential Revision: https://phabricator.services.mozilla.com/D124011
2021-08-31 22:14:52 +00:00
Glenn Watson
9716dd973c Bug 1727458 - Change display list builder APIs to retain/reuse them r=gfx-reviewers,kvark
This will allow storing state in a display list builder struct
between different display list builds. In time, this will be used
to reduce the size of the serialized display list data, by only
sending delta changes to WR. The extra information made available
by sending deltas will then allow WR to more efficiently cache and
reuse information across different scene/frame builds.

Differential Revision: https://phabricator.services.mozilla.com/D123579
2021-08-30 23:10:10 +00:00
Glenn Watson
5c663731ba Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-30 00:33:22 +00:00
Alexandru Michis
51a484e3cf Backed out changeset 1d332a5ff4f9 (bug 1724846) for causing Bug 1727715.
CLOSED TREE
2021-08-26 22:51:05 +03:00
sotaro
a880137d8e Bug 1727459 - Add more logs around widget size in WebRenderLayerManager::Initialize() r=gfx-reviewers,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123585
2021-08-26 03:59:08 +00:00
Matt Woodrow
b88ce7b3a4 Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 07:35:17 +00:00
criss
715e01a62b Backed out 2 changesets (bug 1727423) for causing build bustages
Backed out changeset 9b2ca95a6527 (bug 1727423)
Backed out changeset 1f01fcbd46a8 (bug 1727423)
2021-08-25 04:41:35 +03:00
Matt Woodrow
03b11c639a Bug 1727423 - Remove BasicLayerManager. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D123555
2021-08-25 01:04:26 +00:00
Glenn Watson
9149dcfec2 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-24 02:18:51 +00:00
Iulian Moraru
534c6d12b2 Backed out changeset d93e8a61d529 (bug 1724846) for causing reftest failures on downscale-moz-icon-1.html. CLOSED TREE 2021-08-23 07:11:37 +03:00
Glenn Watson
c46752adac Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-22 20:54:07 +00:00
Narcis Beleuzu
4c3fac01fa Backed out 2 changesets (bug 1723665, bug 1724846) as per gw`s request
Backed out changeset 5f2aff372a24 (bug 1724846)
Backed out changeset 0cc8e08b6937 (bug 1723665)
2021-08-18 03:17:33 +03:00
Glenn Watson
8f19dc96b0 Bug 1724846 - Split DL spatial tree to separate payload r=gfx-reviewers,nical
This will allow experimenting with different representations of
the spatial tree (such as interning and/or providing stable
indices during display list building). It may also simplify
future changes to the public API to expose the spatial tree
directly.

As part of these changes, refactor how the debug representation
for the capture format is (de)serialized, to make it simpler to
add different payload vector types in future.

Differential Revision: https://phabricator.services.mozilla.com/D122183
2021-08-15 20:44:03 +00:00
Glenn Watson
2526d2cd07 Bug 1724344 - Split DL cache data into separate payload vec r=gfx-reviewers,kvark
Move the extra_data to be a specific cache_data separate vec in
the display list payload.

This shouldn't change any functionality, but serves as a proof
of concept for future changes which will introduce several other
separated payload vectors.

Differential Revision: https://phabricator.services.mozilla.com/D121937
2021-08-09 21:15:20 +00:00
Miko Mynttinen
511c218308 Bug 1676657 - Port paint phase weight histograms to WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D108043
2021-04-22 13:31:42 +00:00
Alexandru Michis
fbd17c6dbc Backed out changeset ca4d87f2ec7b (bug 1676657) for causing webrender bustages.
CLOSED TREE
2021-04-21 18:41:23 +03:00
Miko Mynttinen
5ce83f7070 Bug 1676657 - Port paint phase weight histograms to WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D108043
2021-04-21 15:13:42 +00:00
Andrew Osmond
d17145f278 Bug 1703244 - Flush pending async resource updates when clearing layer manager cache. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D110925
2021-04-06 12:50:21 +00:00
Miko Mynttinen
616140074c Bug 1700642 - Part 1: Track per frame paint phase durations r=nical
Differential Revision: https://phabricator.services.mozilla.com/D109613
2021-03-26 17:37:21 +00:00
Butkovits Atila
2cf3fa3168 Backed out 2 changesets (bug 1700642) for causing wrench failures. CLOSED TREE
Backed out changeset 3fcce1634f4b (bug 1700642)
Backed out changeset a916b72ece1d (bug 1700642)
2021-03-26 18:45:47 +02:00
Miko Mynttinen
0642b5afd6 Bug 1700642 - Part 1: Track per frame paint phase durations r=nical
Differential Revision: https://phabricator.services.mozilla.com/D109613
2021-03-26 14:24:39 +00:00
Simon Giesecke
87c754b1bd Bug 1184468 - Use nsTHashtable::Keys where possible. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D108588
2021-03-24 17:56:50 +00:00
Andrew Osmond
e368c62771 Bug 1691556 - Drop stale async resource updates after a namespace change. r=jrmuizel
When the ID namespace changes for a WebRenderBridgeChild, all bindings
from that namespace are now invalid. We already drop any outstanding
async animation holds on surfaces for recycling, but we still would try
to send out async resource updates that were already queued before the
namespace was changed. This patch forces us to drop those now defunct
transactions.

Differential Revision: https://phabricator.services.mozilla.com/D108481
2021-03-15 17:20:23 +00:00
sotaro
e6e6c2e2d2 Bug 1673342 - Add Support of software WebRender with CompositorOGL on Android and Linux r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D106234
2021-03-01 13:45:38 +00:00
Bob Owen
e4bea5493b Bug 1692894 p1: Don't create devices for canvas when remote canvas is in use. r=jrmuizel
This also adds related DLLs to be delay loaded to xul's moz.build. This means
that if we don't create the devices they are not loaded at all.

Differential Revision: https://phabricator.services.mozilla.com/D105630
2021-02-25 15:10:57 +00:00
Andrew Osmond
1d19fa73aa Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-24 19:39:59 +00:00
Cosmin Sabou
9ef271b5ba Backed out 2 changesets (bug 1688096) for win webrender sw_compositor related crashes. CLOSED TREE
Backed out changeset aa0d1698aff8 (bug 1688096)
Backed out changeset 3ad2f4d0c317 (bug 1688096)
2021-02-18 19:52:29 +02:00
Andrew Osmond
cd218bcf63 Bug 1688096 - Part 1. Merge SW-WR and WR render texture host paths to allow mixed compositors. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D104854
2021-02-18 15:37:46 +00:00