Closed Bug 1456679 Opened 6 years ago Closed 6 years ago

Scheduling the next frame should not rely on non-animated values in animation storage

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: hiro, Assigned: hiro)

References

Details

Attachments

(4 files)

In the case where there are only in-delay phase animations on the compositor, we don't generate any effective animation values but there are already non-animated values in the animation storage which have been set in 
ProcessWebRenderParentCommands() [1].  With the current setup, these non-animated values are the trigger for the next frame, but unfortunately we can't tell whether the values in the animation storage was generated for animation or not in test code.  Thus some test cases in test_animations_omta.html fail.  As far as I can tell the next frame should rely on the fact whether there is any animation (regardless of their phase).

https://treeherder.mozilla.org/#/jobs?repo=try&revision=234aa5ba868deaa3af02258fa2e0bee57b3472c2

[1] https://searchfox.org/mozilla-central/rev/8f06c1b9a080b84435a2906e420fe102e1ed780b/gfx/layers/wr/WebRenderBridgeParent.cpp#771-778
Comment on attachment 8970782 [details]
Bug 1456679 - Make SampleAnimations return boolean to tell there is any animations even if the animation in delay phase.

https://reviewboard.mozilla.org/r/239540/#review245334

::: gfx/layers/AnimationHelper.h:254
(Diff revision 1)
> +   * visually effective), this function returns true to tell the next tick
> +   * necessity.

s/to tell the next tick necessity/to ensure we composite again on the next tick/
Attachment #8970782 - Flags: review?(bugmail) → review+
Comment on attachment 8970783 [details]
Bug 1456679 - Don't set non-animated values as AnimatedValue in delay phase.

https://reviewboard.mozilla.org/r/239542/#review245336

::: layout/painting/nsDisplayList.cpp:6704
(Diff revision 1)
>    uint64_t animationsId = animationInfo.GetCompositorAnimationsId();
>    wr::WrAnimationProperty prop;
>  
>    if (!animationInfo.GetAnimations().IsEmpty()) {
>      opacityForSC = nullptr;
>      OptionalOpacity opacityForCompositor = mOpacity;

You can remove opacityForCompositor entirely

::: layout/painting/nsDisplayList.cpp:8556
(Diff revision 1)
>      // Pass default transform to compositor in case gecko fails to
>      // get animated value after animation sampling.
>      OptionalTransform transformForCompositor = newTransformMatrix;

You can remove this comment and the declaration of transformForCompositor as well since it's not used any more
Attachment #8970783 - Flags: review?(bugmail) → review+
I did audit this and the optimizations introduced in bug 1454324.

It works fine without worrying about skipping setting the unchanged transform values what exactly kats mentioned in bug 1454324 comment 54.  In the optimization, we do skip calculation but we don't clear out the unchanged value in the animation storage.  That's the key point.  We leave the unchanged value in the animation storage as it is, and re-use it.
Pushed by hikezoe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/351ae90cc6a0
Make SampleAnimations return boolean to tell there is any animations even if the animation in delay phase. r=kats
https://hg.mozilla.org/integration/autoland/rev/c40209504a45
Don't set non-animated values as AnimatedValue in delay phase. r=kats
Depends on: 1457038
Backed out 2 changesets (bug 1456679) for Reftests failure. CLOSED TREE 

Log:
https://treeherder.mozilla.org/logviewer.html#?job_id=175650341&repo=autoland&lineNumber=10459

 INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/css-animations/animate-preserves3d-ref.html | 5 / 63 (7%)
[task 2018-04-26T01:45:45.636Z] 01:45:45     INFO - REFTEST TEST-UNEXPECTED-FAIL | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/css-animations/animate-preserves3d.html == file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/css-animations/animate-preserves3d-ref.html | image comparison, max difference: 127, number of differing pixels: 10000
[task 2018-04-26T01:45:45.643Z] 01:45:45     INFO - REFTEST   IMAGE 1 (TEST): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAPoCAYAAAAmy5qxAAAU7UlEQVR4nO3XsQ3DQAADMY/+m8cjuAkuEUwC6tXe9QEAAIhcvz4AAAC8hwABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMg8Bsg5x/5oAACwTICMDQAAlgmQsQEAwDIBMjYAAFgmQMYGAADLBMjYAABgmQAZGwAALBMgYwMAgGUCZGwAALBMgIwNAACWCZCxAQDAMgEyNgAAWCZAxgYAAMsEyNgAAGCZABkbAAAsEyBjAwCAZQJkbAAAsEyAjA0AAJYJkLEBAMAyATI2AABYJkDGBgAAywTI2AAAYJkAGRsAACwTIGMDAIBlAmRsAACwTICMDQAAlgmQsQEAwDIBMjYAAFgmQMYGAADLBMjYAABgmQAZGwAALBMgYwMAgGUCZGwAALBMgIwNAACWCZCxAQDAMgEyNgAAWCZAxgYAAMsEyNgAAGCZABkbAAAsEyBjAwCAZQJkbAAAsEyAjA0AAJYJkLEBAMAyATI2AABYJkDGBgAAywTI2AAAYJkAGRsAACwTIGMDAIBlAmRsAACwTICMDQAAlj0GCAAAwLcIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIHMDJFDykckPj3UAAAAASUVORK5CYII=
[task 2018-04-26T01:45:45.655Z] 01:45:45     INFO - REFTEST   IMAGE 2 (REFERENCE): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAPoCAYAAAAmy5qxAAAVtklEQVR4nO3XwQlCAQwFQUv/nWsNEtgYnIF3zzH7egMAAERe2wcAAAD/Q4AAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQECAAAkBEgAABARoAAAAAZAQIAAGQEyDHP89gPDQCA7wiQY7YfbhMgAAATAuSY7YfbBAgAwIQAOWb74TYBAgAwIUCO2X64TYAAAEwIkGO2H24TIAAAEwLkmO2H2wQIAMCEADlm++E2AQIAMCFAjtl+uE2AAABMCJBjth9uEyAAABMC5Jjth9sECADAhAA5ZvvhNgECADAhQI7ZfrhNgAAATAiQY7YfbhMgAAATAuSY7YfbBAgAwIQAOWb74TYBAgAwIUCO2X64TYAAAEwIkGO2H24TIAAAEwLkmO2H2wQIAMCEADlm++E2AQIAMCFAjtl+uE2AAABMCJBjth9uEyAAABMC5Jjth9sECADAhAA5ZvvhNgECADAhQI7ZfrhNgAAATAiQY7YfbhMgAAATAuSY7YfbBAgAwIQAOWb74TYBAgAwIUCO2X64TYAAAEwIkGO2H24TIAAAEwLkmO2H2wQIAMCEADlm++E2AQIAMCFAjtl+uE2AAABMCJBjth9uEyAAABMC5Jjth9sECADAhAA5ZvvhNgECADAhQI7ZfrhNgAAATAiQY7YfbhMgAAATAuSY7YfbBAgAwIQAOWb74TYBAgAwIUCO2X64TYAAAEwIkGO2H24TIAAAEwLkmO2H2wQIAMCEADlm++E2AQIAMCFAjtl+uE2AAABMCJBjth9uEyAAABMC5Jjth9sECADAhAA5ZvvhNgECADAhQI7ZfrhNgAAATAiQY7YfbhMgAAATAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAICNAAACAjAABAAAyAgQAAMgIEAAAIPMBAELykU/feRgAAAAASUVORK5CYII=
[task 2018-04-26T01:45:45.655Z] 01:45:45     INFO - REFTEST INFO | Saved log: START file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/css-animations/animate-preserves3d.html
[task 2018-04-26T01:45:45.656Z] 01:45:45     INFO - REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
[task 2018-04-26T01:45:45.656Z] 01:45:45     INFO - REFTEST INFO | Saved log: Initializing canvas snapshot
[task 2018-04-26T01:45:45.656Z] 01:45:45     INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
[task 2018-04-26T01:45:45.656Z] 01:45:45     INFO - REFTEST INFO | Saved log: [CONTENT] RecordResult fired
[task 2018-04-26T01:45:45.656Z] 01:45:45     INFO - REFTEST INFO | Saved log: RecordResult fired
[task 2018-04-26T01:45:45.657Z] 01:45:45     INFO - REFTEST INFO | Saved log: START file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/css-animations/animate-preserves3d-ref.html
[task 2018-04-26T01:45:45.657Z] 01:45:45     INFO - REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
[task 2018-04-26T01:45:45.657Z] 01:45:45     INFO - REFTEST INFO | Saved log: Initializing canvas snapshot
[task 2018-04-26T01:45:45.657Z] 01:45:45     INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
[task 2018-04-26T01:45:45.657Z] 01:45:45     INFO - REFTEST INFO | Saved log: [CONTENT] RecordResult fired
[task 2018-04-26T01:45:45.657Z] 01:45:45     INFO - REFTEST INFO | Saved log: RecordResult fired

Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=c40209504a45529f23a2722a16a012424eb01ed6

Backout:
https://hg.mozilla.org/integration/autoland/rev/52e0b45195cb8f9a0e6c3fc4d9ee49f025232010
Flags: needinfo?(hikezoe)
What I totally misunderstood is that the 'non-animated value' we dropped in the second patch was actually *animating* value in the initial frame.  That's pretty confusing (the comment there is 'default', what the default is?).

Anyway, before the patch, we did use the initial animation value when we first try to compose the animation in WebRenderBridgeParent::AdcanveAnimations().  That means, in the function at this moment, mPreviousFrameTimeStamp represents a time that the animation hasn't started yet normally.  This is totally a wrong thing to do.  We have to have mPreviousFrameTimeStamp for each animation, instead of global one.  Anyway, the second patch un-wallpapered another bug there. :)
Flags: needinfo?(hikezoe)
Oh wait.  The global mPreviousFrameTimeStamp is not the culprit.  It should be fine.  So... mPreviousFrameTimeStamp is being too delayed?
It turns out that mPreviousFrameTimeStamp and adjusting the start time for pending animations don't efficiently collaborate.

We've been using mPreviousFrameTimeStamp to be main-thread and compositor animations more sync.  (That's because the previous time stamp is more closer to the time stamp on the main-thread)
On the other hand, we update the start time with 'TimeStamp::Now' on the main-thread when we send pending animations to the compositor. 

When this situation happened, the start time indicates a bit ahead of mPreviousFrameTimeStamp, thus when we try to compose the animations initially on the compositor, we don't actually compose the animations since it's not yet in-effect state.  Then the test failed just like in comment 9.

The reason why the test hasn't failed on non WebRender is that we do call SetShadowBaseTransform() in SampleAnimations() [1] for the not-in-effect animations, and surprisingly (at least to me) the shadow base transform includes the initial animating value.  I believe we shouldn't do that.  (Also note that the reason why this symptoms doesn't happen positive delay animations is that, I guess, we don't factor the animating value to the shadow base transform on the main-thread for in delay phase.)

So, it seems to me that we shouldn't use the previous frame time stamp, use lastComposeTime for animations where we adjust start time for the animations.

CCing, Brian he might have other good ideas to solve this symptoms.

[1] https://hg.mozilla.org/mozilla-central/file/258fa1eb49c9/gfx/layers/composite/AsyncCompositionManager.cpp#l747
Also note that on non WebRender this symptoms can't be appeared on most of test cases that use getOMTAStyle() because in getOMTAStyle() we do get only the value flagged 'ByAnimation' and when we call SetShadowBaseTransform() for the not-in-effect animations, we do call SetShadowTransformSetByAnimation(false), though actually the value including animating value!  This is pretty wonky.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #13)
> Also note that on non WebRender this symptoms can't be appeared on most of
> test cases that use getOMTAStyle() because in getOMTAStyle() we do get only
> the value flagged 'ByAnimation' and when we call SetShadowBaseTransform()
> for the not-in-effect animations, we do call
> SetShadowTransformSetByAnimation(false), though actually the value including
> animating value!  This is pretty wonky.

I start suspecting this might be the one of the failure reasons of bug 1395971.
Depends on: 1458457
Depends on: 1458798
Now the patches for bug 1456679 are ready to be landed (I am just waiting for a try).  So we can land patches here. 

:kats, there is an additional patch that makes our animation handling on the compositor more robust.  I think the patch fixes the one of the cause of intermittent failures in comment 9.   And there is another patch that enabled some test cases in test_animations_omta.html.  Now as far as I know all mochitests for animations run on WebRender (one exception is bug 145638)!
Comment on attachment 8970782 [details]
Bug 1456679 - Make SampleAnimations return boolean to tell there is any animations even if the animation in delay phase.

https://reviewboard.mozilla.org/r/239540/#review248218
Comment on attachment 8973929 [details]
Bug 1456679 - Update the previous timestamp with the current timestamp even if there are only delayed phase animations.

https://reviewboard.mozilla.org/r/242268/#review248220
Attachment #8973929 - Flags: review?(bugmail) → review+
Comment on attachment 8970783 [details]
Bug 1456679 - Don't set non-animated values as AnimatedValue in delay phase.

https://reviewboard.mozilla.org/r/239542/#review248224
Comment on attachment 8973930 [details]
Bug 1456679 - Enable tests in test_animations_omta.html on WebRender.

https://reviewboard.mozilla.org/r/242270/#review248226
Attachment #8973930 - Flags: review?(bugmail) → review+
Pushed by hikezoe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8e9fc4d911cf
Make SampleAnimations return boolean to tell there is any animations even if the animation in delay phase. r=kats
https://hg.mozilla.org/integration/autoland/rev/a7074da0c89c
Update the previous timestamp with the current timestamp even if there are only delayed phase animations. r=kats
https://hg.mozilla.org/integration/autoland/rev/217999de6c88
Don't set non-animated values as AnimatedValue in delay phase. r=kats
https://hg.mozilla.org/integration/autoland/rev/1a51d479e440
Enable tests in test_animations_omta.html on WebRender. r=kats
Depends on: 1460389
Regressions: 1552923
You need to log in before you can comment on or make changes to this bug.