Commit Graph

262 Commits

Author SHA1 Message Date
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
Kevin Chen
25f63c78eb Bug 1415469 - Remove mDeviceResetSequenceNumber from TDR process since we don't need it anymore; r=dvander
MozReview-Commit-ID: 3uQQwW8QOJA
2017-11-08 15:26:43 +08:00
Kartikaya Gupta
e807bf00f4 Bug 1415225 - Remove dead code. r=jrmuizel
This code has been unused since the removal of layers-full WR codepaths.

MozReview-Commit-ID: JQn55Kbz5rr
2017-11-09 09:03:51 -05:00
Sebastian Hengst
bc0efc649c Backed out 6 changesets (bug 1415225) for frequently failing own gfx/layers/apz/test/mochitest/test_group_overrides.html on Windows. r=backout
Backed out changeset 27403a9dec13 (bug 1415225)
Backed out changeset 9e6710586531 (bug 1415225)
Backed out changeset 8cfef302b710 (bug 1415225)
Backed out changeset 8ae80d7421d5 (bug 1415225)
Backed out changeset 5f14fc545115 (bug 1415225)
Backed out changeset 4704645d4e81 (bug 1415225)
2017-11-09 11:59:04 +02:00
Kartikaya Gupta
36ac574f0d Bug 1415225 - Remove dead code. r=jrmuizel
This code has been unused since the removal of layers-full WR codepaths.

MozReview-Commit-ID: EAhRrZXLKKr
2017-11-08 20:47:18 -05:00
Daniel Holbert
bb0a8b6602 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl
2017-10-27 16:10:06 -07:00
Kartikaya Gupta
308fc93b4a Bug 1410777 - Force a full transaction for WR when the window overlay changes. r=mstange
The window buttons are drawn as part of the AddWindowOverlayWebRenderCommands
function which is invoked in the full-transaction codepath. It should be possible
to have the empty transaction codepath simply update the image (without building
a full WR display list) and do a recomposite. That would be more performant but
it requires some plumbing to build and ship across a IpcResourceUpdateQueue on
empty transactions.

MozReview-Commit-ID: 2Mrb0wELD6E
2017-10-26 14:17:19 -04:00
Kartikaya Gupta
aefcb08aae Bug 1410777 - Remove unused function and dead code left over from the layers-full WR days. r=mstange
This is functionally unrelated to the bug but I noticed it while fiddling with
the code, and the lines affected are kind of intertwined with the next patch so
I'm just doing the code removal as part of this bug.

MozReview-Commit-ID: CwmluhyCdbR
2017-10-26 14:17:18 -04:00
Kartikaya Gupta
be8e43aa79 Bug 1405359 - Make ScrollingLayersHelper a more stateful class. r=jrmuizel
This makes ScrollingLayersHelper a non-RAII type class, and instead adds
methods to notify it of when we start processing a new transaction or a
new display item within the transaction. This patch has no functional
changes, it's non-obvious refactoring.

MozReview-Commit-ID: GEZzCGbVqB1
2017-10-24 18:46:44 -04:00
Sebastian Hengst
5bc7f572cc Backed out changeset 154c415885b8 (bug 1405359) 2017-10-25 00:16:49 +02:00
Kartikaya Gupta
1fe4d6f665 Bug 1405359 - Make ScrollingLayersHelper a more stateful class. r=jrmuizel
This makes ScrollingLayersHelper a non-RAII type class, and instead adds
methods to notify it of when we start processing a new transaction or a
new display item within the transaction. This patch has no functional
changes, it's non-obvious refactoring.

MozReview-Commit-ID: 3yq9sPiHMge
2017-10-24 16:15:00 -04:00
sotaro
1c6c8e4d17 Bug 1405952 - Remove PWebRenderBridge::SetDisplayListSync r=kats,kanru 2017-10-20 19:48:57 +09:00
Kartikaya Gupta
e77901fdf4 Bug 1410183 - Replace the useless layers-dump call with a slightly more useful if-0 block. r=jrmuizel
MozReview-Commit-ID: AEqJEiLZjmx
2017-10-19 14:02:48 -04:00
sotaro
52b9aabb07 Bug 1404232 - Add WebRenderCommandBuilder::ClearCachedResources() r=jrmuizel 2017-10-19 13:03:08 +09:00
sotaro
189349f133 Bug 1404232 - Add WebRenderLayerManager::WrUpdated() r=jrmuizel 2017-10-19 13:02:47 +09:00
sotaro
96128d76bc Bug 1409595 - Add pointer check in WebRenderLayerManager::DidComposite() r=kats 2017-10-19 10:26:26 +09:00
sotaro
437ffa717a Bug 1405481 - Suppress to composite when END_NO_COMPOSITE is set r=jrmuizel 2017-10-12 10:13:31 +09:00
sotaro
b197f1f95b Bug 1405481 - Push canvas updates to the compositor on empty transactions r=jrmuizel 2017-10-12 10:13:10 +09:00
Nicholas Nethercote
a35e82f193 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
sotaro
b9920e150d Bug 1406707 - Change WebRenderBridgeChild::BeginTransaction() as to return void r=kats 2017-10-09 09:11:49 +09:00
Sebastian Hengst
5a50c5cb42 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 7Ez95T2ivfR
2017-10-07 10:37:39 +02:00
Kartikaya Gupta
4bbd0a18db Bug 1406047 - Schedule a composite in empty transactions that require it. r=jrmuizel
MozReview-Commit-ID: 2e3auabQvtw
2017-10-05 11:42:41 -04:00