Commit graph

14 commits

Author SHA1 Message Date
Boris Chiou
cbef6a9f42 Bug 1425837 - Part 6: Add individual transform properties into compositor animation list. r=hiro
Now, its time to let individual transform run on the compositor thread.

Depends on D19636

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

--HG--
extra : moz-landing-system : lando
2019-03-18 18:05:00 +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
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
Hiroyuki Ikezoe
c592937db4 Bug 1504929 - Further optimizations for RestyleManager::AddLayerChangesForAnimations.. r=birtles,sotaro
This change eliminates
 - nsLayoutUtils::LastContinuationOrIBSplitSibling calls for each CSS
   properties on WebRender
 - iterating over each display item for each compositor runnable CSS properties
 - a bunch of stuff in the case where the layer manager has not yet created,
   i.e. the compositor thread is not ready to receive animations

Depends on D11425

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:23:20 +00: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
Hiroyuki Ikezoe
051215da7b Bug 1504884 - Drop AnimationInfo::mLayerManager. r=birtles
It's not used at all.

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

--HG--
extra : moz-landing-system : lando
2018-11-07 03:09:05 +00: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
Hiroyuki Ikezoe
0ce90169c2 Bug 1459388 - Use the last continuation frame in case of continuation to find WebRenderAnimationData. r=kats,mattwoodrow
MozReview-Commit-ID: CPw6kYnuO2W

--HG--
extra : rebase_source : a69a6e37eaabc6abd06457e834a2732debd039f4
2018-05-07 10:50:40 +09: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
fce60f9567 Bug 1419851 - Handle OMTA throttling for webrender. r=jrmuizel
Original patch by Ethan Lin <ethlin@mozilla.com>.

MozReview-Commit-ID: AAIaskIsz9x

--HG--
extra : rebase_source : 879144b98467f47867d66f2806d7d31dbcf2bc7b
2018-04-06 10:06:54 -04: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
Boris Chiou
743614effe Bug 1340005 - Part 3: Use AnimationValue on the compositor thread. r=birtles
MozReview-Commit-ID: CtnDLsdcr9x

--HG--
extra : rebase_source : 3d4a0f40e2f522471555c04c88474cb08e082851
2017-09-21 17:01:48 +08:00
Ethan Lin
a48f3ac6fe Bug 1378602 - Part2. Move animation data from layer to AnimationInfo. r=kats
MozReview-Commit-ID: 4gv8EfPgsii
2017-07-21 14:21:47 +08:00