Commit Graph

209 Commits

Author SHA1 Message Date
Andi-Bogdan Postelnicu
13a062f45f Bug 1519636 - First reformat with clang-format 13.0.0. r=firefox-build-system-reviewers,sylvestre,mhentges
Updated with clang-format version 13.0.0 (taskcluster-OgjH5lasS5K_fvefdRcJVg)

Depends on D131114

Differential Revision: https://phabricator.services.mozilla.com/D129119
2021-11-16 08:07:30 +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
Jeff Muizelaar
3d224ee4a9 Bug 1736236 - Remove obsolete LayerManager.h. r=gfx-reviewers,lsalzman
This adds a bunch of #include "WindowRenderer.h" in places
that were getting it implicitly before.

Differential Revision: https://phabricator.services.mozilla.com/D128687
2021-10-17 23:00:47 +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
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
Iulian Moraru
5ec6e27b91 Backed out changeset 089962073382 (bug 1728903) for causing Bp-hybrid bustages on ImageBitmapRenderingContext.cpp. CLOSED TREE 2021-09-03 18:49:32 +03:00
Andrew Osmond
6a5f7ab2d3 Bug 1728903 - Remove plumbing for CanvasLayer and ImageLayer. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D124406
2021-09-03 12:52:05 +00:00
Noemi Erli
6fcdaed88b Backed out changeset f12c6a6cd1a5 (bug 1728903) for causing build bustage in TestTextures.cpp CLOSED TREE 2021-09-03 05:16:59 +03:00
Andrew Osmond
a5a30fa776 Bug 1728903 - Remove plumbing for CanvasLayer and ImageLayer. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D124406
2021-09-03 01:48:17 +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
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
Matt Woodrow
8964031845 Bug 1721537 - Split out WindowRenderer base class from LayerManager. r=miko
Depends on D120439

Differential Revision: https://phabricator.services.mozilla.com/D120440
2021-07-22 22:58:57 +00:00
Miko Mynttinen
8df6649834 Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-19 11:28:20 +00:00
Alexandru Michis
9b9c5fe24e Backed out 2 changesets (bug 1720804) for causing bustages.
CLOSED TREE

Backed out changeset 5278e88c6d34 (bug 1720804)
Backed out changeset 1acb4ed79b6b (bug 1720804)
2021-07-16 18:10:11 +03:00
Miko Mynttinen
397ffc88e1 Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-16 14:36:34 +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
b221f62fa6 Bug 708901 - Migrate to nsTHashSet in gfx/layers. r=jrmuizel
Depends on D109317

Differential Revision: https://phabricator.services.mozilla.com/D109318
2021-03-23 10:36:37 +00:00
Markus Stange
a867907ff8 Bug 1677929 - Record payloads with the correct composition end timestamp. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D97534
2020-12-08 22:40:33 +00:00
Simon Giesecke
b1b15dcb38 Bug 1676357 - Avoid including Layers.h in header files. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D96538

Depends on D96537
2020-11-23 16:09:05 +00:00
Andrew Osmond
e4258af47b Bug 1655584 - Flush rendering for popup window configuration changes with GTK. r=sotaro
This backs out part of bug 1656211 which turned out to be insufficient.
The invalidate rendered frame transaction races with the initial frame
rendering of the popup. If it comes in too soon, we will only draw the
frame once, and the frame corruption remains. This patch makes us flush
the rendering pipeline to ensure we get two separate generate frame
events.

Differential Revision: https://phabricator.services.mozilla.com/D96157
2020-11-06 11:56:13 +00:00
Andrew Osmond
1c89e64020 Bug 1656211 - Force recompositing frames on GTK when popup window configuration changes. r=nical
Similar to bug 1280653, it appears that GLX invalidates the back buffer
while we are drawing. The only indication we get of this are resize and
configure events from X. We suppress the configure event for popups for
various reasons, so this patch explicitly generates a forced recomposite
of the frame. It does it immediately so that most of the time it should
beat the presentation of the buffer and avoid displaying of the bad
frame to the user; popups generally are not complicated and should have
plenty of budget to perform the second composite.

Differential Revision: https://phabricator.services.mozilla.com/D93862
2020-10-19 07:44:59 +00:00
Andrew Osmond
272f98121e Bug 1662836 - Expose detailed initialization failure reason for WebRender. r=kvark
We don't know why we see initialization failures in the telemetry which
makes it hard to investigate why users aren't getting WebRender and
instead fallback to basic. Let's expose the detailed error message
WebRender already generates and puts in the critical log.

Differential Revision: https://phabricator.services.mozilla.com/D89185
2020-09-08 02:03:26 +00:00
Lee Salzman
fb8fe83f61 Bug 1657498 - report Software WebRender in about:support. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D87122
2020-08-14 22:30:05 +00:00
Mihai Alexandru Michis
d4e03fc649 Backed out changeset d9626670ddb5 (bug 1657498) for causing multiple reftest failures.
CLOSED TREE
2020-08-14 10:54:22 +03:00
Matt Woodrow
1cb483c49c Bug 1657498 - Report software WR in about:support. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D86088
2020-08-14 03:34:32 +00:00
Kartikaya Gupta
54d9054dd1 Bug 1251612 - Support the GetFrameUniformity API in content processes. r=botond,froydnj
This moves the IPC mechanism from PCompositorBridge to PLayerTransaction/
PWebRenderBridge, so that it can be used by content processes like the other
test APIs. It still only produces actual data for the layers backend; for
WR it will just return empty datasets.

Differential Revision: https://phabricator.services.mozilla.com/D86016
2020-08-05 21:42:06 +00:00
longsonr
ba1943ecf8 Bug 1259861 - Move everything else into the mozilla namespace in layout/svg r=dholbert
Also: adjust include paths to be consistent for usages of various SVG headers,
and remove unused SVG includes (mostly for "utils" classes),
and drop stray "ns" from already-renamed SVG classes in various code comments.

Differential Revision: https://phabricator.services.mozilla.com/D83140
2020-07-11 02:20:20 +00:00
Kartikaya Gupta
eaeb32622b Bug 1622360 - Downgrade mStateManagers. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74185
2020-05-11 20:07:43 +00:00
Kartikaya Gupta
ab84612657 Bug 1622360 - Downgrade mLastDisplayListSize. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D74184
2020-05-11 20:07:40 +00:00
Andreas Farre
9509fc894a Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas
TabGroup never really made any difference in which thread something go
dispatched to. This was the intended use, but development of TabGroups
with abstract main threads never made it that far. The good thing is
that thish makes it safe to also remove to the SystemGroup and instead
switch all SystemGroup dispatches to dispatches to main thread.

Timers for setTimeout and workers were the sole users of wrapped and
throttled event targets, that those throttled queues have been moved
to the BrowsingContextGroup and are now accessed explicitly.

The SchedulerEventTarget has been removed, since there are no longer a
separate event target for every TaskCategory. Instead a
LabellingEventTarget has been added to DocGroup to handle the case
where an event is dispatched do DocGroup or when an AbstractThread is
created using a DocGroup. This means that we'll actually label more
events correctly with the DocGroup that they belong to.

DocGroups have also been moved to BrowsingContextGroup.

Depends on D67636

Differential Revision: https://phabricator.services.mozilla.com/D65936
2020-04-07 15:17:47 +00:00
Kartikaya Gupta
379e832b13 Bug 1622360 - Remove WebRenderScrollDataCollection. r=jrmuizel
This basically allowed managing a bunch of scroll data things in parallel
for all the render roots which we don't need anymore.

Differential Revision: https://phabricator.services.mozilla.com/D69845
2020-04-06 20:45:21 +00:00
Miko Mynttinen
5457a6cb38 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 18:13:45 +00:00
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
Markus Stange
c4d8377aa4 Bug 1576390 - Remove now-unused DrawWindowOverlay and WindowOverlayChanged methods. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D52748
2019-11-13 02:24:06 +00:00
Nicholas Nethercote
c4aacd8403 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138
2019-07-26 01:10:23 +00:00
Boris Zbarsky
1a3de2e8f1 Bug 1553018 part 2. Make various gfx preferences bindings use in Pref annotations on interfaces follow the StaticPrefs naming convention for getters. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32943
2019-05-30 17:21:57 +00:00
Barret Rennie
95b62a85a3 Bug 1553261 - Register CompositionPayloads with the WebRenderBridge and enable key press telemetry r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32228
2019-05-28 15:32:29 +00:00
Jean-Yves Avenard
b66b1a5a50 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256
2019-05-26 14:29:42 +00:00
Gurzau Raul
938877e121 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard
3816a05854 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256
2019-05-25 00:03:32 +00:00
Gurzau Raul
8d7b43d90a Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard
935940dd3f Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256
2019-05-22 12:43:42 +00:00
Botond Ballo
49fdaea109 Bug 1529892 - Extend APZTestData with free-form additional data not grouped by paint or scroll frame. r=kats,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D28773
2019-04-26 05:10:44 +00:00
Jean-Yves Avenard
e98f4caee4 Bug 1540581 - P6. Tidy some C++ declarations in gfx/. r=gerald,jrmuizel
* Remove redundant virtual keywords
* Mark all destructors of inheriting classes as virtual for clarity
* Mark all classes without virtual destructor as final (exposed errors)
* Make destructor virtual where it needed to be (some were missing)
* Replace empty ({}) code declaration in header with = default
* Remove virtual unused methods

I probably missed some, it quickly became a rabbit hole.

Differential Revision: https://phabricator.services.mozilla.com/D26060
2019-04-11 12:36:51 +00:00
Doug Thayer
78132cddf9 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

Differential Revision: https://phabricator.services.mozilla.com/D20701
2019-03-22 18:28:42 +00:00