Граф коммитов

693 Коммитов

Автор SHA1 Сообщение Дата
Jeff Gilbert 758e836333 No bug - clang-format -p gfx 2019-03-29 23:41:48 -07:00
Doug Thayer b172543596 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

--HG--
extra : moz-landing-system : lando
2019-03-22 18:28:42 +00:00
Ciure Andrei 3de853018a Backed out 7 changesets (bug 1441308)for causing webrender build bustages CLOSED TREE
Backed out changeset 1764701d11d1 (bug 1441308)
Backed out changeset 32f7793dfd1a (bug 1441308)
Backed out changeset d8b4d6ec9b40 (bug 1441308)
Backed out changeset e2f83e4816dd (bug 1441308)
Backed out changeset baee8ada680f (bug 1441308)
Backed out changeset c09a51622e98 (bug 1441308)
Backed out changeset 737807563dd5 (bug 1441308)
2019-03-22 10:52:44 +02:00
Doug Thayer 5b3a0454a4 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

--HG--
extra : moz-landing-system : lando
2019-03-22 03:15:14 +00:00
Boris Chiou f744b2e1ea Bug 1425837 - Part 3: Don't store AnimationArray (a.k.a. AnimationInfo::mAnimations) on the compositor thread. r=birtles
The original implementation about "setting animations" is a little bit hard
to read. In `SetAnimations()`, we create a new intermediate data,
`AnimData`, and we mutate the original animations. And then iterate this
mutated animations & intermediate data for sampling. In this bug, we are
planning to group the AnimData as a useful data structure for supporting
multiple properties transform-like animations, so it seems the structure
of original animations may be hard to use after that. Therefore,
we decide to do some reworks on this:

First, we do renames,
1. InfalliableTArray to nsTArray. (They are the same.)
2. AnimData to PropertyAnimation.
3. SetAnimations() to ExtractAnimations(), which returns
   nsTArray<PropertyAnimationGroup>. Each entry in the array is for one
   property. In this patch, there is only one entry. We will extend this
   to multiple entries in the next patch.

And then rework `ExtractAnimations()`, which stores all the necessary data
in `PropertyAnimationGroup`. For WR, we store this in
`CompositorAnimationStorage`. For non-WR, we store it in `AnimationInfo`.
So we can just use this organized data structure for supporting multiple
properties animations. (See the next patch.)

Depends on D22563

Differential Revision: https://phabricator.services.mozilla.com/D23062

--HG--
extra : moz-landing-system : lando
2019-03-18 18:04:48 +00:00
Markus Stange 5c1e861efd Bug 1521644 - Add a layer property that indicates async zoom container layers. r=mattwoodrow
MozReview-Commit-ID: 6qkFXhRDFs

Differential Revision: https://phabricator.services.mozilla.com/D17174

--HG--
extra : moz-landing-system : lando
2019-02-01 18:29:11 +00:00
Jeff Muizelaar 3d57a7f6a8 Bug 1519654. Implement CONTENT_FRAME_TIME_WITH_SVG for non-WebRender contains svg. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16585

--HG--
extra : moz-landing-system : lando
2019-01-15 19:16:48 +00:00
Botond Ballo d5f06efae5 Bug 1509575 - Expose the isFirstPaint flag on LayerManager. r=kats
So that it's easily available during painting.

The flag is set based on nsIPresShell::mIsFirstPaint, but the pres shell
flag is cleared at the beginning of the paint, so we can't query it from
the pres shell during the paint.

Differential Revision: https://phabricator.services.mozilla.com/D16237

--HG--
extra : moz-landing-system : lando
2019-01-15 01:29:38 +00:00
Andreea Pavel 2a44f0abe0 Backed out 2 changesets (bug 1509575) for failing wpt at css/cssom-view/scroll-behavior-main-frame-root.html on a CLOSED TREE
Backed out changeset 245d6855cd3b (bug 1509575)
Backed out changeset 7dcfa876f76c (bug 1509575)
2019-01-11 09:08:19 +02:00
Botond Ballo e98d64e015 Bug 1509575 - Expose the isFirstPaint flag on LayerManager. r=kats
So that it's easily available during painting.

The flag is set based on nsIPresShell::mIsFirstPaint, but the pres shell
flag is cleared at the beginning of the paint, so we can't query it from
the pres shell during the paint.

Differential Revision: https://phabricator.services.mozilla.com/D16237

--HG--
extra : moz-landing-system : lando
2019-01-11 04:21:20 +00:00
Bas Schouten a932b54860 Bug 1501442 - Part 3: Add profiler markers for payload presentarion. r=mstange
--HG--
extra : rebase_source : 7b3eeb59ab8823c5ebb674b933d95d1501f86210
2019-01-07 17:40:58 +01:00
Bas Schouten 93c70bd2f6 Bug 1501442 - Part 1: Add CompositionPayload type and allow submitting it as part of a transaction. r=mstange
--HG--
extra : rebase_source : 20a6ac6929bc99b8ddbf5500e7edbaa514c7ebe2
2018-12-13 15:59:22 +01:00
Botond Ballo 4e2bbb39df Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH
Differential Revision: https://phabricator.services.mozilla.com/D13928

--HG--
extra : moz-landing-system : lando
2018-12-10 19:32:59 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Ehsan Akhgari ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13193

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Jeff Muizelaar 3654ccade6 Bug 1507686 - Record LayerManager URL for each paint so that we can correlate it with slow paints. r=mattwoodrow
MozReview-Commit-ID: 2RUWkboAOJz

--HG--
extra : rebase_source : 397fd432b4e9cba37a1ebca9dcc5a949f290c9d0
2018-11-19 20:55:28 +13:00
Hiroyuki Ikezoe 4daa00a2cd Bug 1504929 - Mark AnimationInfo::GetAnimationGeneration as a const function. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D11424

--HG--
extra : moz-landing-system : lando
2018-11-13 10:17:34 +00:00
Hiroyuki Ikezoe 50f9ee4492 Bug 1504884 - Wrap AnimationInfo::mAnimationGeneration into Maybe<> and returns Nothing() if there is no animation. r=birtles
So that we don't generate anymore unnecessary change hints in
RestyleManager::AddLayerChangesForAnimation for the layer has no corresponding
animations.

Depends on D11105

Differential Revision: https://phabricator.services.mozilla.com/D11106

--HG--
extra : moz-landing-system : lando
2018-11-07 03:13:04 +00:00
Ryan Hunt 2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

Differential Revision: https://phabricator.services.mozilla.com/D10722

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
Matt Woodrow f4a90435ef Bug 1488980 - Implement StartFrameTimeRecording for WebRender. r=mstange
MozReview-Commit-ID: Ib5t0e8S6df

Differential Revision: https://phabricator.services.mozilla.com/D5103

--HG--
extra : moz-landing-system : lando
2018-09-08 18:41:34 +00:00
Nicolas Silva 55a85b0bc0 Bug 1483459 - Don't needlessly copy regions in ContainerLayer::GetIntermediateSurfaceRect. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D3876

--HG--
extra : rebase_source : 3f615973f71fbaeed595663308e8ee34b77afd8b
2018-08-21 14:41:42 +02: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
Hiroyuki Ikezoe 6dfa209dde Bug 1476773 - Drop AnimationInfo::HasOpacityAnimation and Layer::HasOpacityAnimation. r=kats
They are not used at all.

MozReview-Commit-ID: Jz3wG6FqwRI

--HG--
extra : rebase_source : d2ea65fa3230ad427d4877a97d9c8e2ea23a46fc
2018-07-19 05:48:07 +09: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
Kartikaya Gupta 4b90819f59 Bug 1466950 - Fix test to work on Android. r=hiro
MozReview-Commit-ID: G2NTiGUiw5Y

--HG--
extra : rebase_source : 149e87e81d115cbb1a1b1684e0022fc24f7a7eb5
2018-06-26 09:20:21 -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
Ryan Hunt 17a7546f6b Bug 1420865 - Don't check for CONTENT_MAY_CHANGE_TRANSFORM across layer trees. r=mstange
MayResample() is used on the content and compositor to determine whether the whole
visible region should be or should have been validated. This calculation is done
partially by traversing ancestor layers and looking for a flag. This can return
different values then in the content side versus the shadow side, which in this
case leads to artifacts.

This commit tries to solve the problem by ignoring layers that content is unaware
of. This works, but has the downside that resampling artifacts could show up if
the parent process is truly doing animations that require resampling.

MozReview-Commit-ID: 4TW6nzxS6E

--HG--
extra : rebase_source : 0bc82d09686245599b12c42af812b454875291f6
extra : amend_source : 6b423326a2952125468af13f0041e3daff40362f
2018-05-07 16:07:06 -05:00
Hiroyuki Ikezoe 05604b4dce Bug 1454324 - Clear all animation data when we release layer. r=kats
MozReview-Commit-ID: AOGNjLesY0t

--HG--
extra : rebase_source : 4fcb314209a92ea160ca8377d1b7f731239427a6
2018-04-24 09:27:54 +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
Hiroyuki Ikezoe 9e4f56c4f5 Bug 1455155 - Drop AnimationValue usage in gfx/. r=birtles
Two AnimationValue are still used in AnimationPropertySegment since the
AnimationPropertySegment is used in compose_animation_segment() which is also
invoked on the main-thread, so we will fix it later in a bug that will drop
AnimationValue usage on the main-thread side.

MozReview-Commit-ID: B086g2qHtZL

--HG--
extra : rebase_source : 419308155bf95fb0acd94549c2c6cc9690925b29
2018-04-19 13:50:14 +09:00
Kartikaya Gupta abcf2e229e Bug 1454485 - Stop passing around the scroll view and container direction since it's already in the scrollbar data. r=botond
MozReview-Commit-ID: 3t4uLBQZSAi
2018-04-17 15:04:34 -04:00
Daniel Zielas aa51622886 Bug 1453469 - Remove nsDisplayOwnLayer::mScrollTarget. r=botond
MozReview-Commit-ID: 1LAWH96mm5m

--HG--
extra : rebase_source : fe2bf1d16dc1921057f718cd5f7dd00b11e566c5
extra : amend_source : 53a8a2c0cd03b94002ba0600859e6c18d3a466b6
2018-04-14 09:42:45 +02:00
Daniel Zielas 471ef50beb Bug 1420512 - Try unifying data structures for scrollbar container and scrollbar thumb info. r=botond
MozReview-Commit-ID: 9zPkrA3CwsN

--HG--
extra : rebase_source : b52bef52576558f03afc65120a40a5312ae7eba3
2018-03-02 19:00:03 +01: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 e34eeaaa86 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31

--HG--
extra : rebase_source : 05bda872389db5cc61e805c3eb48e70eb5d95cbe
2018-02-21 09:29:49 -06:00
Cosmin Sabou e997286c08 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 1fe1a843f9 Remove DisplayItemLayer and corresponding layers.advanced prefs. (bug 1439960, r=mstange)
MozReview-Commit-ID: FAWTC1Llu31

--HG--
extra : rebase_source : 447e835dc664549a8bdbd4097d42773acf523f08
extra : histedit_source : d98b0f0654c2214a368313de84f11160a3fa7030
2018-02-21 09:29:49 -06:00
Kartikaya Gupta f80768ca40 Bug 1446022 - Guard against dereferencing a null APZC pointer in degenerate cases. r=botond
This rolls back a few of the changes from bug 1443792. Although in
theory a LayerMetricsWrapper having an APZC should be equivalent to it
having a scrollable metrics, this might not always be strictly true. For
example, if there is no GeckoContentController registered for a layer
tree, then there might not be APZCs for that layer tree even though it
has scrollable metrics. More importantly, a malicious child process
might be able to trigger scenarios where the equivalence doesn't hold,
and thereby trigger failures in the UI/GPU process.

MozReview-Commit-ID: 1gfbILx7HWU

--HG--
extra : rebase_source : 69a2bd82a812d674046957346c4f5036211d94cf
2018-03-19 17:11:22 -04:00
Kartikaya Gupta 86032d9307 Bug 1443792 - Tighten the equivalence between a layer being scrollable and having an APZC. r=botond
If we can assume that a layer being composited has an APZC at index i if and
only if the frame metrics at index i is scrollable, then we can do the
transformations in the next patch without any change in functionality.

MozReview-Commit-ID: FRkvhwdd3nh

--HG--
extra : rebase_source : f1bee292305730079b3208e447330028c1a40727
2018-03-12 16:06:37 -04:00
Botond Ballo b4385a3fda Bug 1442767 - Rename Box to RectAbsolute (Gecko changes). r=kats
MozReview-Commit-ID: 1wrzwQw8bdx

--HG--
rename : gfx/src/nsCoordBox.h => gfx/src/nsRectAbsolute.h
extra : rebase_source : ec71a9add57c07887cb37f2d105390072e13d98d
2018-03-05 18:08:18 -05:00
Matt Woodrow 720a1bf71e Bug 1440177 - Part 2: Combine PaintedLayerItemsEntry and PaintedDisplayItemLayerUserData into a single struct. r=jnicol
These two structs store very similar state (including duplicating the mask layer common clip count), and the former uses an expensive hashtable for lookups.
This patch combines the two, and uses a vector of entries instead of the hashtable so we can do the cleanup pass.
* * *
[mq]: fix

MozReview-Commit-ID: KamhbGAIqpD

--HG--
extra : rebase_source : 2d4c1522b04018dfab5cd4eabde828349548548c
2018-02-13 15:56:43 +13:00
arthur.iakab 1577dd49c5 Backed out 7 changesets (bug 1440177) for build bustages on a CLOSED TREE
Backed out changeset d83a1820b2f2 (bug 1440177)
Backed out changeset a77d06b2cf03 (bug 1440177)
Backed out changeset 928770efc9a3 (bug 1440177)
Backed out changeset 49b285030492 (bug 1440177)
Backed out changeset 717a696b17e0 (bug 1440177)
Backed out changeset 0840994846bf (bug 1440177)
Backed out changeset b1ba6c67264b (bug 1440177)

--HG--
extra : amend_source : 1396090c186d31b5196c2c876bcb1ccf5f1ba940
2018-03-01 23:45:23 +02:00
Matt Woodrow a1d4e255f4 Bug 1440177 - Part 2: Combine PaintedLayerItemsEntry and PaintedDisplayItemLayerUserData into a single struct. r=jnicol
These two structs store very similar state (including duplicating the mask layer common clip count), and the former uses an expensive hashtable for lookups.
This patch combines the two, and uses a vector of entries instead of the hashtable so we can do the cleanup pass.
* * *
[mq]: fix

MozReview-Commit-ID: KamhbGAIqpD

--HG--
extra : rebase_source : 5da2d922f1ae6f47e7e82928f878c7810630ac22
2018-02-13 15:56:43 +13:00
Matt Woodrow cf9c739dc2 Bug 1435643 - Remove no longer needed layer flattening code. r=mstange 2018-02-12 19:03:09 +13:00
Botond Ballo d6cea6bca1 Bug 1434250 - Use a Box, rather than a Rect, representation for position:sticky inner/outer rects in the Layers API. r=kats
MozReview-Commit-ID: 4LDQ3XmWynx

--HG--
extra : rebase_source : cebe70a08b27d930618f44cb3923d3ede1171724
2018-02-09 15:40:13 -05:00
Alexis Beingessner c3946e70ab Bug 1406231 - remove the TextLayer class, and all remaining traces of it. r=mattwoodrow
MozReview-Commit-ID: 5fmKfkO6hnO

--HG--
extra : rebase_source : ac74903f6929f21cd70d66a9fb756fcea120f11e
2017-12-07 17:13:05 -05:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -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
Kartikaya Gupta 0fab36e756 Bug 1418387 - Propagate scrollbar direction for scrollbar containers to APZ. r=botond
Most of this patch is just mechanical changes, but note that this patch
now makes the mFlags in scrollbar-container nsDisplayOwnLayer instances
have one of the direction bits set. As a result, this requires changing
the implementation of nsDisplayOwnLayer::IsScrollThumbLayer().

MozReview-Commit-ID: 2BLdbpz5Sa8

--HG--
extra : rebase_source : 27e7d90ce60c7f702fe77d8a3a0f7e3ae3e4a4ff
2017-11-24 16:23:05 -05:00