Commit graph

135 commits

Author SHA1 Message Date
Kartikaya Gupta
3faf3e38d9 Bug 1478016 - Add a strongly-typed LayersObserverEpoch type. r=mattwoodrow
MozReview-Commit-ID: 6fELexXRYeV

--HG--
extra : rebase_source : 0eb028ee9b98199d18421f7ff28433189940fdca
2018-07-30 09:24:50 -04:00
Ryan Hunt
f8b04d075b 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

--HG--
extra : rebase_source : 973253589d6c27138bd49f4d81b3e74c3fcf5022
extra : histedit_source : 5b126b0285b674d59d8bd4b7bda09a01804dc043
2018-06-26 13:43:14 -05:00
Ryan Hunt
0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Narcis Beleuzu
04b4925170 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
c284332e41 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

--HG--
extra : rebase_source : acbf83d0071e8932b5e96016e6e39e27a7b4da8c
extra : histedit_source : a0f93f80441e5f45c0113244d15400d0f53d9c92
2018-06-26 13:43:14 -05:00
sotaro
58705ea969 Bug 1405465 - Handle WR paint codepath with no frame r=kats 2018-06-29 08:32:26 +09:00
Kartikaya Gupta
56f43bc35b Bug 1437036 - Implement GetLastTransactionId in WebRenderLayerManager. r=hiro
MozReview-Commit-ID: CLymsb5w3pk

--HG--
extra : rebase_source : e2c5ee70c637305d6057953bf5fb135d1ccf3831
2018-05-14 08:53:52 -04:00
Kartikaya Gupta
d067a7cdae 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

--HG--
extra : rebase_source : d0aeaf5a9c8107bbcaf8b0da6d68a0f47f455be5
2018-05-11 21:18:22 -04:00
Kartikaya Gupta
697a7719d0 Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow
MozReview-Commit-ID: 9yZknygQvFr

--HG--
extra : rebase_source : 8b7a2398bdabf52f2de1c5dbd30b6868c1e0bed0
2018-04-20 15:13:06 -04:00
Nicolas Silva
b9c3c7eeb7 Bug 1449242 - Don't delay image key deletions by an extra transaction. r=sotaro 2018-03-28 15:33:21 +02:00
Andrew Osmond
4986917db0 Bug 1435291 - Part 2. Make background SVGs use WebRender instead of fallback. r=jrmuizel 2018-03-14 14:19:13 -04:00
Andrew Osmond
c887fd120c Backed out changeset 7f0409a405f2 (bug 1435291). 2018-03-13 16:03:59 -04:00
Andrew Osmond
785d1f4d18 Bug 1435291 - Part 2. Make background SVGs use WebRender instead of fallback. r=jrmuizel 2018-03-13 15:59:05 -04:00
Eitan Isaacson
a250cd0f4e 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
3df53735f9 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

--HG--
extra : rebase_source : 0e98c96d9636c3a3ee0489ff6b6161bce7677dd7
2018-02-09 13:41:18 -05:00
sotaro
9de30e6422 Bug 1429289 - Remove WebRenderLayerManager::ClearLayer() r=nical 2018-01-11 15:00:16 +09:00
Alexis Beingessner
42b068a0b3 Bug 1406231 - remove the TextLayer class, and all remaining traces of it. r=mattwoodrow
MozReview-Commit-ID: 5fmKfkO6hnO

--HG--
extra : rebase_source : 3572bba4d1aec75af2ef19d52351d7ea2137cc53
2017-12-07 17:13:05 -05:00
Cosmin Sabou
9937354d94 Backed out changeset 497efe3a096b (bug 1406231) for windows build bustages on build\build\src\obj-firefox\dist\include\mozilla/layers/ScrollingLayersHelper.h(48) r=backout on a CLOSED TREE 2017-12-08 13:04:05 +02:00
Alexis Beingessner
90d0f66f33 Bug 1406231 - remove the TextLayer class, and all remaining traces of it. r=mattwoodrow
MozReview-Commit-ID: 5fmKfkO6hnO

--HG--
extra : rebase_source : 4749bff0a8d799f7a81d9f6e32e40e14b9f24191
2017-12-07 17:13:05 -05:00
Ethan Lin
65814283ca Bug 1416995 - Enable retained mode for the basic layer manager in WR fallback. r=jrmuizel,kats
MozReview-Commit-ID: InYJSiKGqQE

--HG--
extra : rebase_source : 1e9ae74bac79209fa6f5c7758695c89ac17cbf52
2017-11-15 13:48:48 +08:00
sotaro
222b1d574f Bug 1411472 - Add support of PersistentBufferProviderShared r=nical 2017-11-16 14:47:26 +09:00
Kevin Chen
49b2130100 Bug 1415469 - Remove mDeviceResetSequenceNumber from TDR process since we don't need it anymore; r=dvander
MozReview-Commit-ID: 3uQQwW8QOJA

--HG--
extra : rebase_source : ab6090ad51a2a4714f1739a30d854d624d187239
2017-11-08 15:26:43 +08:00
Daniel Holbert
126bd9e1a4 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

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Kartikaya Gupta
b7e231bc45 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

--HG--
extra : rebase_source : 9a94c32f94403050835bf3445176f4fe2c1579fa
2017-10-26 14:17:19 -04:00
Kartikaya Gupta
75717cb048 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

--HG--
extra : rebase_source : 0a86ba7299f63587b77c44fadc804e34ada5a474
2017-10-26 14:17:18 -04:00
sotaro
e87aa60cf8 Bug 1404232 - Add WebRenderLayerManager::WrUpdated() r=jrmuizel 2017-10-19 13:02:47 +09:00
Jeff Muizelaar
bdc459cc60 Bug 1405445. Preallocate the display list buffer to a reasonable size. r=kats
This exposes the capacity of the underlying vec and sets it to the capacity of
the previous display list (mLastDisplayListSize). Doing so helps us avoid
reallocing up to the desired size every frame.

Note: the rebased version doesn't actually use a reasonable size. That will happen
in bug 1405819.
2017-10-04 22:31:51 -04:00
Kartikaya Gupta
5bc0302cb0 Bug 1391816 - Follow-up to rename WebRenderCommandsBuilder to WebRenderCommandBuilder. r=jrmuizel
MozReview-Commit-ID: 3M0CTIheg5s

--HG--
rename : gfx/layers/wr/WebRenderCommandsBuilder.cpp => gfx/layers/wr/WebRenderCommandBuilder.cpp
rename : gfx/layers/wr/WebRenderCommandsBuilder.h => gfx/layers/wr/WebRenderCommandBuilder.h
extra : rebase_source : 713acc860b61f9be81934f2e03491aa6acc6a98e
2017-10-04 10:45:29 -04:00
Ethan Lin
0d6bfa48a2 Bug 1391816 - Move layers-free related functions and variables from WebRenderLayerManager to WebRenderCommandsBuilder. r=jrmuizel
We have too many layers-free things in WebRenderLayerManager. I create a new
class WebRenderCommandsBuilder and move some functions and variables from
WebRenderLayerManager to WebRenderCommandsBuilder.

MozReview-Commit-ID: BJi1E51W7ax

--HG--
extra : rebase_source : ddbfb044d467430403a3c480030ef9dec803c9f7
2017-09-25 15:48:29 +08:00
Kartikaya Gupta
e0fd3a68fc Bug 1403915 - Collapse EndTransactionInternal into EndTransactionWithoutLayers. r=jrmuizel
MozReview-Commit-ID: 5l9LkfJTqKy

--HG--
extra : rebase_source : 50fc05afad2c23f592b9d18ae80d2402610d1cee
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
c1a6bdfaf1 Bug 1403915 - Remove some leftover Layer-related goop. r=jrmuizel
MozReview-Commit-ID: 2XCJaRcQR3s

--HG--
extra : rebase_source : 7f3f4cdf1bf77c8a8b7a62f675e5132f84eab49e
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
9493b267c7 Bug 1403915 - Remove some leftover painting callback goop. r=jrmuizel
MozReview-Commit-ID: BycK4Ug1sgm

--HG--
extra : rebase_source : 6fa5a8da45a75ec4ed1d5a7b55cf95671845bd05
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
2f1948343f Bug 1403915 - Remove the WebRender*Layer classes and functions that refer to them. r=jrmuizel
MozReview-Commit-ID: 2syFwMc7j3r

--HG--
extra : rebase_source : 9a3852506820eb09328d91007581d74786eba9b0
2017-10-03 16:31:08 -04:00
Kartikaya Gupta
dbe077b3f1 Bug 1403915 - Remove the IsLayersFreeTransaction() machinery and assume it's always true. r=jrmuizel
MozReview-Commit-ID: 7FYVirQ5pal

--HG--
extra : rebase_source : 4b33fba54776003b4f0d45b89be07916db1f2340
2017-10-03 16:31:07 -04:00
Ethan Lin
2a82b402b3 Bug 1404091 - In layers-free mode, we should do NotifyInvalidation after EndTransaction if there is any scheduled flush. r=kats
MozReview-Commit-ID: D0LNF0LgWYq

--HG--
extra : rebase_source : e005389de5d2b2b9e0a8ecf5b4de58ae7f9f21a9
2017-10-03 16:00:38 +08:00
Kartikaya Gupta
8c4d9f46ad Bug 1403176 - Make WebRenderLayerManager reject pending scroll offset updates. r=mstange
Currently some callers attempt to set a "pending scroll offset update"
on the layer tree, which basically allows it to send a scroll offset
update to the compositor in an empty transaction, without doing a full
paint. However, WebRenderLayerManager doesn't really support empty
transactions yet, so we want to reject attempts to do this for now. This
will force the callers to schedule a full transaction instead of an
empty transaction.

MozReview-Commit-ID: 1bBlj59W5HH

--HG--
extra : rebase_source : 0a018989c2681b01ff325e8e2c79c9ff146f04d4
2017-10-02 16:49:55 -04:00
Jeff Muizelaar
c5e5b9b24d Bug 1403642. Avoid an extra property table lookup. r=ethlin
We can just call Get() and check the return value instead of calling Has()
2017-09-29 00:39:55 -04:00
Ethan Lin
179ed054db Bug 1395501 - Part2. Use stacking context's scale value to compute the correct paint rect. r=jrmuizel
MozReview-Commit-ID: AaAhTza5TP4
2017-09-29 12:09:51 +08:00
Kartikaya Gupta
6310cd82fb Bug 1402439 - Redo how we discard compositor animation ids. r=pchang
Instead of always discarding the compositor animation id, and then
sometimes un-discarding it (which involves a linear lookup in nsTArray),
this patch now has the WebRenderLayerManager keep a set of active
animation ids, and uses that to avoid discarding the same animation
twice.

In addition, because the display item can be destroyed at any time (e.g.
in the middle of an animation), we were previously "leaking" compositor
animations in that the compositor side never got notified to discard the
IDs. This resulted in infinite composition loops. This patch solves this
problem by having any unused WebRenderAnimationData trigger discard of
the animation id during destruction. This way, even if the nsDisplayItem
is deleted in the middle of the animation we have a fallback mechanism
to discard the id.

MozReview-Commit-ID: 8G3EYHcg9Kl

--HG--
extra : rebase_source : 45e99a0d71a76a15b7fc7a0d498a6149501a722d
2017-09-22 16:39:57 -04:00
Kevin Chen
95f774c5ed Bug 1393376 - (Part 2) Retain BasicLayerManager in WebRenderFallbackData for layer invalidation computation; r=jrmuizel
MozReview-Commit-ID: 6rmJkXzLubX

--HG--
extra : rebase_source : 960c9343da0eb1faf6fe515b2cbddeebc26938c1
2017-09-07 15:04:30 +08:00
Ethan Lin
00d745a022 Bug 1401945 - Do not use the WebRenderUserData after it's removed. r=jrmuizel,kats
MozReview-Commit-ID: AL8tO0ZxVkF

--HG--
extra : rebase_source : afada5ee9d7b1b1f1dee649ad48db6c65d1e65c2
2017-09-21 23:15:55 +08:00
peter chang
6cc8c75644 Bug 1396471 - Keep the running compositorAnimationsId alive on the compositor, r=kats
If the compositor animations are still valid, we don't need to add its id to the discarded list.
This patch also reduces unnecessary SendDeleteCompositorAnimations calls.

MozReview-Commit-ID: AcbVUk3MUo7

--HG--
extra : rebase_source : fa8b1e5b4c9d3e81826eef621926975c967985a0
2017-09-21 16:18:03 +08:00
Sebastian Hengst
79bca6297c merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-09-20 11:50:40 +02:00
Nicolas Silva
9ffda11244 Bug 1393031 - Use IpcResourceUpdateQueue in more places. r=jrmuizel 2017-09-20 10:56:20 +02:00
Ethan Lin
c409bddad6 Bug 1397375 - Part2. Add a table in layer manager to keep webrender user data and remove unused data in each transaction. r=jrmuizel
MozReview-Commit-ID: HsO3BCc2eeL

--HG--
extra : rebase_source : ae757729d57e111821126a83db186f48832fde23
2017-09-14 14:39:00 +08:00
Nicolas Silva
3434431a1a Bug 1397407 - Apply deferred image key deletions to the next transaction. r=Gankro 2017-09-15 13:24:31 +02:00
Sebastian Hengst
005f4f5fc0 Backed out changeset 8291145f0920 (bug 1393031) 2017-09-14 23:18:05 +02:00
Nicolas Silva
58c3eac416 Bug 1393031 - Use IpcResourceUpdateQueue in more places. r=jrmuizel 2017-09-14 20:21:46 +02:00
Nicolas Silva
59e80c8f7e Bug 1393031 - Use shared memory to pass resource update data. r=jrmuizel 2017-09-14 18:48:55 +02:00
Nicolas Silva
4b7b1e5992 Bug 1393031 - Use the ResourceUpdateQueue API on the content side. r=jrmuizel 2017-09-04 13:59:36 +02:00