Commit Graph

433 Commits

Author SHA1 Message Date
Nicolas Silva
5c61c792dd Bug 1494403 - Separate the Blob related apis. r=jrmuizel
This commit contains the Gecko-side changes from WebRender PR#3277:
 - Dedicated DirtyRect type.
 - Separate the blob image APIs from regular image ones.

Differential Revision: https://phabricator.services.mozilla.com/D12463
2018-11-23 23:33:49 +00:00
sotaro
17f4feb016 Bug 1508526 - Remove unnecessary ScheduleGenerateFrame() call in WebRenderBridgeParent::RecvUpdateResources() r=aosmond 2018-11-22 17:24:50 +09:00
Andrew Osmond
fe7551b45c Bug 1504699 - Part 2. Add plumbing to WebRenderLayerManager to pass on frame released messages. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D10898
2018-11-21 06:47:06 -05:00
Matt Woodrow
3e2a7bb8c2 Bug 1507680 - Record detailed statistics about slow WebRender frames in about:support. r=jrmuizel
MozReview-Commit-ID: 84SjN1RvvAA

Differential Revision: https://phabricator.services.mozilla.com/D12372
2018-11-16 15:13:56 +13:00
Jeff Muizelaar
a9e41ff337 Bug 1507686 - Record LayerManager URL for each paint so that we can correlate it with slow paints. r=mattwoodrow
MozReview-Commit-ID: 2RUWkboAOJz
2018-11-19 20:55:28 +13:00
Andrew Osmond
013921e5f8 Bug 1428558 - Part 2. Improve plumbing to sending resource updates to WebRender. r=nical
Animated images will require scheduling a composite of the frame in
addition to updating the ImageKey/external image ID bindings. It would
be good if this could be done as part of the same IPDL message.
Additionally a page may have many animated images that we update the
frame for at the same time, so these updates should be batched together.
In the event that we needed to regenerate the display list, or produce
an empty transaction, ideally we would just throw these resource updates
in with the rest of the changes. This patch allows us to do all of that
without unnecessarily burdening the caller with tracking extra state.

Differential Revision: https://phabricator.services.mozilla.com/D7499
2018-11-02 09:09:52 -04:00
Kartikaya Gupta
c443ddcc87 Bug 1469403 - Skip DL dumps when the DL builder is from an inactive docshell. r=mattwoodrow
Depends on D9141

Differential Revision: https://phabricator.services.mozilla.com/D9146
2018-10-22 23:42:05 +00:00
sotaro
9c78642047 Bug 1496003 - Add sync ipc WebRenderBridgeChild::SendEnsureConnected() r=mattwoodrow,froydnj 2018-10-05 16:35:29 +09:00
sotaro
40e7f8687d Bug 1496324 - Revoke TransactionId when transaction is not forwarded r=mattwoodrow 2018-10-04 17:31:06 +09:00
sotaro
c8e3a985ec Bug 1491798- Schedule repaint if WebRender is updated by tab move r=mattwoodrow 2018-10-01 10:12:22 +09:00
sotaro
e859b438de Bug 1492745 - Remove PWebRenderBridge::Create() r=mattwoodrow,froydnj 2018-09-26 10:19:18 +09:00
Matt Woodrow
286584d109 Bug 1483549 - Add separate CONTENT_FRAME_TIME recording for SVG with WR. r=jrmuizel data-review=francois
MozReview-Commit-ID: Rqx1bqOeQw

Differential Revision: https://phabricator.services.mozilla.com/D6208
2018-09-18 15:13:18 +12:00
Bas Schouten
ccd6aa3ac0 Bug 1479640: Restructure cleartype parameter code to run less frequently and only in the parent process. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4784
2018-09-13 18:59:27 +00:00
sotaro
d17e1d6324 Bug 1486958 - Sync FlushRendering() only during resizing on windows r=mattwoodrow 2018-09-14 17:13:55 +09:00
Matt Woodrow
4ad935a08e Bug 1488980 - Implement StartFrameTimeRecording for WebRender. r=mstange
MozReview-Commit-ID: Ib5t0e8S6df

Differential Revision: https://phabricator.services.mozilla.com/D5103
2018-09-08 18:41:34 +00:00
Kartikaya Gupta
dbe8198f69 Bug 1478016 - Add a strongly-typed LayersObserverEpoch type. r=mattwoodrow
MozReview-Commit-ID: 6fELexXRYeV
2018-07-30 09:24:50 -04:00
sotaro
0158bd98d1 Bug 1476876 - Make FlushRendering async if DComp is used on Windows with WebRender r=nical 2018-07-20 22:58:40 +09:00
Kartikaya Gupta
5817e35f01 Bug 1475637 - Add a mechanism for dumping an interleaved display list. r=jrmuizel
The prefs, when enabled, will dump the gecko DL items followed by the
WR DL items that were generated from that gecko item. This allows us to
easily go from a DOM element with known id/class attributes to e.g. an
ImageKey of an image that was generated for that element.

Also, this logging can be enabled in CI builds just like gecko display-list
dumping, instead of the ifdef that we previously had in WebRenderLayerManager.

MozReview-Commit-ID: Eeo4iO62YY1
2018-07-19 15:30:30 -04:00
Ryan Hunt
baa3cde25f Bug 1470528 - Implement CONTENT_FRAME_TIME for the webrender codepath. r=sotaro
This commit implements the CONTENT_FRAME_TIME metric for the webrender code
path. It follows the same structure as the previous commit implementing it for
the non-webrender code path.

MozReview-Commit-ID: 6aI5uISjgge
2018-06-26 13:43:14 -05:00
Narcis Beleuzu
86ffb7c58b Backed out 3 changesets (bug 1470528) for build bustages on WebRenderBridgeParent. CLOSED TREE
Backed out changeset 90513daef576 (bug 1470528)
Backed out changeset e438548991db (bug 1470528)
Backed out changeset f859daf8d8d9 (bug 1470528)
2018-07-04 00:41:14 +03:00
Ryan Hunt
76cb69b550 Bug 1470528 - Implement CONTENT_FRAME_TIME for the webrender codepath. r=sotaro
This commit implements the CONTENT_FRAME_TIME metric for the webrender code
path. It follows the same structure as the previous commit implementing it for
the non-webrender code path.

MozReview-Commit-ID: 6aI5uISjgge
2018-06-26 13:43:14 -05:00
sotaro
408e8e23fd Bug 1405465 - Handle WR paint codepath with no frame r=kats 2018-06-29 08:32:26 +09:00
Kartikaya Gupta
2ac606e7f0 Bug 1471220 - Record the WR display list build time in the flb phase of content paint telemetry. r=mattwoodrow
MozReview-Commit-ID: 3nZxztEdXef
2018-06-26 09:53:25 -04:00
Kartikaya Gupta
6c3ee20fc5 Bug 1462961 - Dump the WebRenderScrollData as well when DUMP_LISTS is defined. r=jrmuizel
MozReview-Commit-ID: 181OoWNkWBs
2018-05-23 16:08:18 -04:00
Kartikaya Gupta
0007bd5ff7 Bug 1437036 - Implement GetLastTransactionId in WebRenderLayerManager. r=hiro
MozReview-Commit-ID: CLymsb5w3pk
2018-05-14 08:53:52 -04:00
Kartikaya Gupta
2e44542cc3 Bug 1452390 - Implement paint-skipping support in WebRender. r=botond
The majority of this patch is just plumbing. The interesting parts are
in WebRenderLayerManager and APZUpdater/WebRenderScrollData. Unlike
ClientLayerManager, which updates the FrameMetrics on the client side
and sends the modified version over to the compositor, this WR version
just sends the update info over to the compositor, which then applies
the update to the metrics saved in APZUpdater before triggering the
hit-testing tree rebuild.

MozReview-Commit-ID: 4latUMa8RFw
2018-05-11 21:18:22 -04:00
Hiroyuki Ikezoe
6d3c63be1b Bug 1458414 - Call DiscardCompositorAnimations() after BuildWebRenderCommands(). r=kats
Since bug 1457448 we can clear discarded animations on the same transaction where we send
animations to the compositor.

MozReview-Commit-ID: 4BYsCgA98S0
2018-05-02 12:14:59 +09:00
Kartikaya Gupta
2c0c8e1bf5 Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow
MozReview-Commit-ID: 9yZknygQvFr
2018-04-20 15:13:06 -04:00
Miko Mynttinen
3b1f4f2043 Bug 1452791 - Update WebRenderLayerManager mAnimationReadyTime in empty transactions r=kats
MozReview-Commit-ID: 898pemO7YxO
2018-04-10 16:07:48 +02:00
Nicolas Silva
08e4b23cb3 Bug 1449242 - Don't delay image key deletions by an extra transaction. r=sotaro 2018-03-28 15:33:21 +02:00
Lee Salzman
0e489ee818 Bug 1447910 - move WR font key deletion to the end of a transaction. r=jrmuizel
MozReview-Commit-ID: LL94sMCvNyK
2018-03-27 18:06:31 -04:00
Ryan Hunt
b419c79ff5 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31
2018-02-21 09:29:49 -06:00
Cosmin Sabou
4e421f7abe Backed out 3 changesets (bug 1439960) for build bustages on APZInputBridgeChild.cpp and FrameBuilder.cpp. CLOSED TREE
Backed out changeset b8057c06fc4c (bug 1439960)
Backed out changeset c8d6b0fa1447 (bug 1439960)
Backed out changeset e6bd6ebc8597 (bug 1439960)
2018-03-20 23:18:44 +02:00
Ryan Hunt
df90830506 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31
2018-02-21 09:29:49 -06:00
Ryan Hunt
8518a767fe Remove ReadLockHandle and ReadLockInit code (bug 1445008, r=aosmond)
This code is unused now that ReadLockDescriptors are not sent in layer transactions.
2018-03-13 17:00:18 -05:00
Andrew Osmond
53293bdc25 Bug 1435291 - Part 2. Make background SVGs use WebRender instead of fallback. r=jrmuizel 2018-03-14 14:19:13 -04:00
Andrew Osmond
f159970242 Backed out changeset 7f0409a405f2 (bug 1435291). 2018-03-13 16:03:59 -04:00
Andrew Osmond
e10e5846e7 Bug 1435291 - Part 2. Make background SVGs use WebRender instead of fallback. r=jrmuizel 2018-03-13 15:59:05 -04:00
Eitan Isaacson
84dd5d0cbb Bug 1438017 - Update wr bindings with ColorMatrix filter and add filters to command builder. r=kats 2018-02-23 15:29:04 -08:00
Kartikaya Gupta
5e154add1c Bug 1434996 - Update WebRenderLayerManager::SetTransactionIdAllocator to match ClientLayerManager. r=sotaro
Changing the transaction id allocator is now handled better in
ClientLayerManager than before in that it resets the transaction id on
the new allocator to match the old allocator and avoid discontinuities
in the transaction ids. We should apply this behaviour to
WebRenderLayerManager as well, because WebRenderLayerManager was
assuming that any time the allocator changed it would automatically
start the transaction id at 1, which is not the case. In particular,
when navigating to something in the bfcache, we can reuse a pre-existing
refresh driver which might have a transaction id already greater than 1.

MozReview-Commit-ID: 8IUn1Dhnh7c
2018-02-09 13:41:18 -05:00
Ciure Andrei
86a63d71d6 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-02-08 00:33:37 +02:00
Lee Salzman
d66c4f6baa Bug 1436265 - update ClearType usage in WebRenderLayerManager. r=jrmuizel
MozReview-Commit-ID: 1m2QQAKaI25
2018-02-07 15:48:25 -05:00
Kartikaya Gupta
c1717087aa Bug 1435248 - Fix function naming. r=nical
It looks like the call chain is called ScheduleComposite on the client
LayerManager API, but then for some reason the functions in the IPDL
bridges are called ForceComposite, and then they eventually call the
ScheduleComposition function on the CompositorVsyncScheduler. This is
silly, so I renamed the IPDL bridge functions to ScheduleComposite as
well to be consistent.

MozReview-Commit-ID: D7bWpASaEtb
2018-02-02 08:57:35 -05:00
sotaro
5b03c42d24 Bug 1431304 - Fix WebRenderLayerManager::ClearCachedResources() as to clear active animation ids r=nical 2018-01-23 10:57:20 +09:00
sotaro
cff38424ac Bug 1429694 - Fix WebRenderLayerManager::ClearCachedResources r=nical 2018-01-15 16:17:40 +09:00
Nicolas Silva
aa78fbc550 Bug 1405824 - Use WebRenderBridgeChild instead of IShmemAllocator in IpcResourceUpdateQueue. r=jrmuizel 2018-01-12 15:11:28 +01:00
sotaro
4308668607 Bug 1429289 - Remove WebRenderLayerManager::ClearLayer() r=nical 2018-01-11 15:00:16 +09:00
Milan Sreckovic
c77bdb1654 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3
2017-12-19 15:48:39 -05:00
Kartikaya Gupta
f3e4534532 Bug 1389146 - Add code to dump the webrender display list, behind a compile guard. r=jrmuizel
MozReview-Commit-ID: 1tWhE4A7PCa
2017-11-28 15:28:08 -05:00
sotaro
b58fb5b888 Bug 1411472 - Add support of PersistentBufferProviderShared r=nical 2017-11-16 14:47:26 +09:00