Commit Graph

18 Commits

Author SHA1 Message Date
Boris Chiou
462458b3e6 Bug 1340005 - Part 4: Retrieve transform list from AnimationValue. r=birtles
MozReview-Commit-ID: 82NAOBV2rEl
2017-09-25 14:25:43 +08:00
Boris Chiou
63c95da28b Bug 1340005 - Part 3: Use AnimationValue on the compositor thread. r=birtles
MozReview-Commit-ID: CtnDLsdcr9x
2017-09-21 17:01:48 +08:00
Boris Chiou
f8a7935638 Bug 1340005 - Part 2: Implement AnimationValue::Transform. r=birtles
MozReview-Commit-ID: BDKcpDIM9nb
2017-10-27 21:06:30 +02:00
Boris Chiou
b13594b463 Bug 1340005 - Part 1: Implement AnimationValue::Opacity. r=birtles
We will use Servo backend on the compositor, so implement this for opacity.

MozReview-Commit-ID: BeWR2nBSbjb
2017-10-27 21:04:52 +02:00
Hiroyuki Ikezoe
ea1f59508f Bug 1399714 - Iterate animation segments for setting start/end values and timing functions just once. r=boris
MozReview-Commit-ID: 7ySuFcSi3cH
2017-09-14 12:59:06 +09:00
Kartikaya Gupta
70239514ba Bug 1375497 - Extract helper methods to read animation values. r=pchang
MozReview-Commit-ID: EusfcwPVGkL
2017-06-27 20:29:06 -04:00
Hiroyuki Ikezoe
a12912d16f Bug 1374882 - Add a TimingParams ctor on the compositor. r=birtles
MozReview-Commit-ID: BFiwrphRND0
2017-06-22 12:12:42 +09:00
Boris Chiou
d6fceef5a5 Bug 1361663 - Part 1: Use double instead of float for the progress of interpolation. r=birtles
We get the progress as |double|, and then pass it to a function by a |float|
type, and then finally cast it back to |double| for the interpolation.
We should avoid casting it back and forth, so change the function argument to
use |double| type for the progress.

MozReview-Commit-ID: 7QzfVBC7hSt
2017-05-22 13:35:15 +08:00
Brian Birtles
13e9d82970 Bug 1363107 - Check if the startTime is set before using it in SampleAnimationForEachNode; r=hiro
We are seeing occasional failed release assertions from calling
animation.startTime().get_TimeDuration() in SampleAnimationForEachNode on
Windows.

My theory is that in some circumstances (perhaps graphic-driver related?) when
creating a layer transaction we fail to call Layer::StartPendingAnimations and
end up sending pending animations to the compositor. Prior to bug 1334583 that
would have only triggered a debug assertion so it may have gone unnoticed if it
depends on the system configuration.

This patch makes us check that the startTime is set before we try to access it
in order to avoid triggering a release-time assertion. If the startTime is not
set we will use the hold time which should give us the correct behavior for
a still-pending animation. (Furthermore, the holdTime is set unconditionally
when we create animations so it should be correct -- but even if it were not
set explicitly, its initial zero value would still likely produce a reasonable
result until the start time was updated on a subsequent layer transaction. At
very least, it should not crash. Likewise, if it was set to an incorrect value.)

This patch also strengthens the debug assertion in SampleAnimationForEachNode to
check that not only is start time not-null, but that it is set to a TimeDuration
since MaybeTimeDuration also includes a third uninitialized "None" state.
2017-05-18 14:06:36 +09:00
Kartikaya Gupta
30355f64ab Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
peter chang
ab262ee631 Bug 1358437 - pass layer's transform/opacity to compositor, r?kats
Need to pass the default transform/opacity to compositor if animations
exist because it is possible that gecko fails to get animated value
after animation sampling, like an animation with delay.

MozReview-Commit-ID: IK06hWvaSPf
2017-05-02 10:38:22 +08:00
peter chang
1b7e955401 Bug 1358437 - pass layer's transform attributes for transform animation, r?kats
MozReview-Commit-ID: J7JHuwvWuet
2017-05-02 10:29:42 +08:00
Brian Birtles
2ada0df47e Bug 1334583 - Pass a separate timeOrigin and startTime for compositor animations; r=hiro
By passing the startTime as a TimeDuration we are able to represent times in the
distant past (and with the same range as we can represent on the main thread so
that if we do encounter range errors in future, they should not differ between
the main thread and the compositor).

This patch includes a crashtest. I have verified that, without the code changes
included in this patch, this crashtest fails on debug builds on OSX.

MozReview-Commit-ID: EDuKLzfEC0K
2017-05-02 16:49:51 +09:00
peter chang
f11c1bde12 Bug 1345017 - Add animation sampling for WR, r=kats
MozReview-Commit-ID: AR2vajUf2o0
2017-04-12 16:40:48 +08:00
peter chang
dc497a1152 Bug 1337889 - use CompositorAnimationsId to query Opacity/Transform animation, r=hiro,kats
MozReview-Commit-ID: 3s1kzOQAfrd
2017-02-09 17:30:11 -05:00
peter chang
12f701a514 Bug 1337889 - Add CompositorAnimationsId for layer animations, r=hiro
MozReview-Commit-ID: 4r9VhF4Vp2l
2017-02-08 14:31:45 -05:00
peter chang
7969ef699d Bug 1332211 - refactor animation code in AsyncCompositionManager, r=hiro
MozReview-Commit-ID: 5PGYTv1cSeT
2017-01-26 15:04:16 +08:00
peter chang
0ec7b5f26c Bug 1332211 - Move Layer::SetAnimation into AnimationHelper, r=hiro
MozReview-Commit-ID: JQMAJt8lvYo
2017-01-25 10:51:30 +08:00