Commit graph

157 commits

Author SHA1 Message Date
Hiroyuki Ikezoe
221a08d59e Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe
94f5f622eb Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
Coroiu Cristina
7634333ced Backed out 4 changesets (bug 1479234) for build bustage at build/src/gfx/vr/ipc/VRLayerChild.cpp on a CLOSED TREE
Backed out changeset 6ecc1666f571 (bug 1479234)
Backed out changeset c3bab1bc97cf (bug 1479234)
Backed out changeset c8c2625a33ba (bug 1479234)
Backed out changeset 2ffc8e9d5686 (bug 1479234)
2018-07-31 00:32:04 +03:00
Hiroyuki Ikezoe
697a9da7aa Bug 1479234 - Drop GetAnimationOpacity and GetAnimationTransform ipc calls. r=boris,froydnj
They are no longer used.

MozReview-Commit-ID: 1SaIkj4ryUF

--HG--
extra : rebase_source : 0666e3f297e9c12f8a024e96944d99c2c301820c
2018-07-31 06:13:15 +09:00
Hiroyuki Ikezoe
23a4443de4 Bug 1479234 - Introduce a generic function to get an animation value on the compositor. r=boris,froydnj
On the compositor we store animation values in a hash table and the hash is
the compositor animation id which is a unique id for each property respectively.
So we can get the corresponding animation value for the given property.

In this patch there are lots of duplicated code, but they will be removed in the
next patch.

MozReview-Commit-ID: 7EboVcculcg

--HG--
extra : rebase_source : 304ea80849af8af72a07437736041aeabbe47eeb
2018-07-31 06:13:15 +09:00
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
73970a1f68 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro, data-review=francois
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : 29ebd6a85dd49ee263d50e3674eec4957ac5f12a
extra : histedit_source : 1aa9f4f31b5bff6736e0c0e576a5611880d0ab33
2018-06-26 13:40:10 -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
d34e6c84a0 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : cecb7149f50b2abe7a827dc20f1e8b8ade199258
extra : histedit_source : 581f8f38fc8335575d7275b903a8e1d6a9e5a369
2018-06-26 13:40:10 -05:00
Hiroyuki Ikezoe
2dffa2305c Bug 1464568 - Add an IPC call to get transform value for a given element on the compositor. r=froydnj,kats
This function returns the transform value modified by both OMTA and APZC.
Note that the transform conversion code is almost the same as the code dropped
in https://hg.mozilla.org/mozilla-central/rev/415811f3804f .

MozReview-Commit-ID: HmsMQp3O4n4

--HG--
extra : rebase_source : ac3994359d646dedaa5ff2f664b20787be8a75f6
2018-06-05 09:18:22 +09: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
Kartikaya Gupta
395eaf8c66 Bug 1448490 - Make the layers id a struct instead of a uint64_t. r=mattwoodrow
The new struct is in LayersTypes.h, all the rest of the changes are just
replacing existing uint64_t instances with the new LayersId struct.

Note that there is one functional change, in
CompositorBridgeParent::DeallocPWebRenderBridgeParent, where we now
correctly convert the PipelineId to a LayersId before using it to index
into sIndirectLayerTrees, whereas before we were incorrectly just using
the mHandle part of the PipelineId.

MozReview-Commit-ID: GFHZSZiwMrP

--HG--
extra : rebase_source : d2b274f63aaee2ee9bba030297e0a37a19af0d6c
2018-03-24 19:06:01 -04:00
Ryan Hunt
691f20afd2 Remove ReadLockHandle and ReadLockInit code (bug 1445008, r=aosmond)
This code is unused now that ReadLockDescriptors are not sent in layer transactions.

--HG--
extra : rebase_source : 8cd25541b22c3151e2dbd2f8ea6d1119e2f26c94
extra : source : 99a2d26d1ba82ad34a6c27641500a424cda015c3
2018-03-13 17:00:18 -05:00
Kartikaya Gupta
f42d692541 Bug 1444374 - Make the LayerTransactionParent's mId always nonzero. r=mattwoodrow
We can easily populate the mId with the correct layers id, which is the
root layer tree id from the CompositorBridgeParent. This eliminates a
bunch of special-case handling.

MozReview-Commit-ID: FEkboAGEhYO

--HG--
extra : rebase_source : 01e73d516e5742d586cbf6d8b6bc5c9f7d64f141
2018-03-09 08:45:26 -05:00
Kartikaya Gupta
50f41ff36b 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

--HG--
extra : rebase_source : ecb0494d9461bd4ada48bfb602e7b518f0601c1b
2018-02-02 08:57:35 -05:00
Kartikaya Gupta
b7c06e062c Bug 1419926 - Remove virtual keyword from functions that already have override. r=mattwoodrow
The style guide (and linting tool) check for this, and these headers
have so many functions that it's better to just do a wholesale
conversion than to keep adding things and making the files more
inconsistent over time.

MozReview-Commit-ID: 1SFQv15bIxi

--HG--
extra : rebase_source : 177836ff47031d88da3682834ca96210e75f3f07
2017-11-22 16:05:10 -05: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
sotaro
05fe97938e Bug 1391557 - Remove LayerTransactionParent::layer_manager() r=nical 2017-08-22 10:16:51 +09:00
sotaro
df51f39768 Bug 1387922 - Add log of start or fwd Transaction to on screen timing r=nical 2017-08-11 10:57:21 +09:00
sotaro
e171eb9a00 Bug 1376896 - Fix AnimatedValue leak at CompositorAnimationStorage during OMTA r=kats 2017-07-06 12:06:41 +09:00
Mats Palmgren
a0ff91e5d1 Bug 1374089 part 2 - Use nsRefPtrHashtable instead of nsDataHashtable with a RefPtr<> data type, since it's clearer and avoids unnecessary AddRef/Release calls. r=froydnj
MozReview-Commit-ID: 3PshFI1cO38
2017-06-19 18:19:14 +02:00
David Anderson
42e57ec6d3 Remove old device reset and compositor swapping code. (bug 1363126 part 3, r=rhunt) 2017-05-11 22:44:28 -07:00
David Anderson
27df5ad5bd Handle remote device resets by recreating the entire rendering stack. (bug 1363126 part 1, r=rhunt, ipc_r=billm) 2017-05-11 22:44:27 -07:00
David Anderson
af30648746 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-05-05 10:53:17 -07:00
Phil Ringnalda
6b129efd40 Backed out changeset 867fcd3e181d (bug 1350634) for leaking in sessionstore's browser-chrome tests
MozReview-Commit-ID: 7NS2GkfZSp0
2017-04-30 21:14:10 -07:00
David Anderson
d7a1f66c55 Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow, r=kats)
PLayerTransaction's constructor was previously synchronous so we could
return a TextureFactoryIdentifier. This is quite reliably available
already in the case of opening a tab, due to RenderFrameParent knowing
which compositor it is attached to, so we can make the constructor
asynchronous.

In the top-level widget case, we add a new synchronous message to find
the TextureFactoryIdentifier.
2017-04-30 17:22:56 -07:00
David Anderson
bc9324f621 Make finer-grained decisions about whether to update hit testing trees. (bug 1352918, r=kats)
Updating hit testing trees is very expensive for many layers, and often
layer properties that change don't necessitate hit testing tree updates.
While layer tree structure changes do, we can be smarter about
individual layer attributes.
2017-04-13 21:25:16 -07:00
David Anderson
a8433cef6b Collect diagnostics on paint times for the compositor overlay. (bug 1352151 part 1, r=mattwoodrow)
--HG--
extra : rebase_source : f30dc11079add3f1019777b1c85cc5c5a5f0596b
2017-04-10 19:44:45 -07:00
peter chang
be4bd90f39 Bug 1337889 - use CompositorAnimationsId to query Opacity/Transform animation, r=hiro,kats
MozReview-Commit-ID: 3s1kzOQAfrd

--HG--
extra : rebase_source : eb6ff70179b6460c8405c738b65051e2b303af90
2017-02-09 17:30:11 -05:00
Matt Woodrow
ef5a44cc58 Bug 1340117 - Batch ReadLock intializer into a separate IDPL message to avoid hitting the file descriptor limit. r=dvander 2017-02-27 16:12:12 +13:00
Matt Woodrow
f976d56579 Bug 1328797 - Part 3: Remove sync transactions entirely as they aren't used any more. r=nical
--HG--
extra : rebase_source : fa3bd3016fbfa322e5966079a4f211e16cb057c4
2017-02-16 11:31:18 +13:00
Matt Woodrow
450185804e Bug 1325227 - Part 1: Remove synchronous transaction replies since they don't return any data we didn't already have. r=nical
MozReview-Commit-ID: 2HIbk65L7zR
2016-12-06 13:34:54 -10:00
David Anderson
29780e1c3d Move OpSetLayerAttributes out of the Edit vector. (bug 1332567 part 4, r=mattwoodrow) 2017-01-24 16:41:18 -08:00
David Anderson
bcf2e3966b Use a simpler mechanism for tracking which ref layers need device resets. (bug 1333329 part 1, r=rhunt)
--HG--
extra : rebase_source : aa50c6c250b4815cd22b8616546acd6c55aa72ce
2017-01-24 11:23:11 -08:00
David Anderson
065c15518d Link Compositables via IDs instead of actors. (bug 1323957 part 4, r=mattwoodrow)
--HG--
extra : rebase_source : 1c4d789471a188c12bc9450c63ebaecc1b55c122
2017-01-17 18:47:06 -08:00
sotaro
2df50d5706 Bug 1307458 - Update LayerManager pointer of all Layers of LayerTransactionParent r=mattwoodrow 2017-01-13 10:15:49 +09:00
Ryan VanderMeulen
6ec8510ea7 Backed out 6 changesets (bug 1323957) for intermittent GPU process leaks on a CLOSED TREE.
Backed out changeset 8fe93d5f82a8 (bug 1323957)
Backed out changeset 5d1615317a36 (bug 1323957)
Backed out changeset 1ec74a022e80 (bug 1323957)
Backed out changeset 0a97bbdd54d5 (bug 1323957)
Backed out changeset 70fab4f6d367 (bug 1323957)
Backed out changeset c5ca5b7fcacd (bug 1323957)
2017-01-11 23:09:14 -05:00
Ryan VanderMeulen
b871240df7 Backed out 7 changesets (bug 1325227) to unblock the backout of bug 1323957.
Backed out changeset d6e962b025e6 (bug 1325227)
Backed out changeset 70136ced844e (bug 1325227)
Backed out changeset e21219e9638a (bug 1325227)
Backed out changeset a5d83d2b1632 (bug 1325227)
Backed out changeset f6c6ef5ac42c (bug 1325227)
Backed out changeset 1a604f87a342 (bug 1325227)
Backed out changeset d4827432cbc2 (bug 1325227)
2017-01-11 23:08:45 -05:00
Matt Woodrow
179d383fea Bug 1325227 - Part 1: Remove synchronous transaction replies since they don't return any data we didn't already have. r=nical 2016-12-06 13:34:54 -10:00
David Anderson
b7c9ffb7c3 Link Compositables via IDs instead of actors. (bug 1323957 part 4, r=mattwoodrow) 2017-01-11 09:20:54 -08:00
David Anderson
9560f318d9 Simplify calling SendUpdate/SendUpdateNoSwap. (bug 1325993, r=nical) 2017-01-04 12:58:58 -05:00
David Anderson
504484a456 Remove PLayer. (bug 1323539 part 2, r=mattwoodrow) 2016-12-21 10:43:47 -05:00
Bas Schouten
56b7dd703d Bug 1317843 - Split LayerManagerComposite into two classes. r=jrmuizel 2016-11-24 18:11:27 +13:00
Kan-Ru Chen
f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Matt Woodrow
55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Bill McCloskey
50c44c717c Bug 1279086 - Allow painting for tab switch when JS is running (r=dvander,mconley,mrbkap) 2016-09-16 20:35:11 -07:00
Wes Kocher
309fb2cc5f Merge m-c to inbound, a=merge 2016-08-25 17:14:17 -07:00
Matt Woodrow
fe6480a237 Bug 1297578 - Part 2: Merge ShadowLayersManager into the CBP base. r=dvander
--HG--
extra : rebase_source : c6e702800d8dd365703457e410bcf5e3802c3d67
2016-08-26 09:10:53 +12:00
Hiroyuki Ikezoe
2445bd484f Bug 1279071 - Change GetOpacity to GetAnimationOpacity to return opacity value applied by animation. r=birtles,mstange
MozReview-Commit-ID: 6rMUlnppOeK

--HG--
extra : rebase_source : 94fa5d812764f8426d57ebc93bbcb4f286ffea26
2016-08-25 09:07:56 +09:00
Wes Kocher
b38dbd1378 Backed out 2 changesets (bug 1279086) for causing painting issues a=backout
Backed out changeset b1c893387fdd (bug 1279086)
Backed out changeset 277c54118c8a (bug 1279086)
2016-08-22 16:00:34 -07:00