Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Wire up Opacity on Fuchsia, round 2 #14024

Merged
merged 6 commits into from
Dec 5, 2019
Merged

Wire up Opacity on Fuchsia, round 2 #14024

merged 6 commits into from
Dec 5, 2019

Conversation

arbreng
Copy link
Contributor

@arbreng arbreng commented Nov 27, 2019

[fuchsia] Wire up OpacityLayer to Scenic

Remove the opacity exposed from ChildView, as that was added mistakenly.

Make the layer stack explicit in SceneBuilder instead of implicit in Layer, and remove
parent().

On Fuchsia, add a code-path for compositing OpacityLayers using the system
compositor, which exposes a fastpath for opacity via Scenic.
This will only work under certain circumstances, in particular nested
Opacity() widgets will not render correctly!

On Fuchsia, add a code path for compositing PhysicalShapeLayers using
the system compositor, which allows cross-process shadows. Set to off by default,
which restores performant shadows on Fuchsia.

Finally, we centralize the logic for switching between the system-composited
and flutter-composited paths using SystemCompositedContainerLayer. We also
centralize the logic for computing elevation there. This allows the removal of several
OS_FUCHSIA-specific code-paths.

Test: Ran workstation on Fuchsia; ran flow_unittests; ran flutter macrobenchmarks
Bug: https://bugs.fuchsia.dev/p/fuchsia/issues/list/23711
Bug: https://bugs.fuchsia.dev/p/fuchsia/issues/list/24163

@arbreng
Copy link
Contributor Author

arbreng commented Nov 27, 2019

New, cleaner PR from #12984

Copy link
Contributor

@iskakaushik iskakaushik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@liyuqian
Copy link
Contributor

@arbreng : a lot of changes here seem to be from #13986 . Do you intend to have both PR open with similar changes?

@arbreng
Copy link
Contributor Author

arbreng commented Nov 27, 2019

@arbreng : a lot of changes here seem to be from #13986 . Do you intend to have both PR open with similar changes?

Ah, I was testing something last night and ended up pushing all of these changes. I will make sure to land 13986 before landing this so those changes become redundant

@arbreng arbreng force-pushed the flow-unittests branch 9 times, most recently from 054632a to 976abbb Compare December 2, 2019 17:50
@arbreng arbreng added affects: engine waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. labels Dec 2, 2019
@arbreng arbreng force-pushed the flow-unittests branch 3 times, most recently from 8b3c264 to d4d1206 Compare December 3, 2019 00:49
@arbreng arbreng removed the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label Dec 3, 2019
@arbreng arbreng added the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label Dec 5, 2019
@arbreng arbreng merged commit d117ac9 into master Dec 5, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 5, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 5, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 5, 2019
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request Dec 18, 2019
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request Dec 18, 2019
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request Dec 18, 2019
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request Dec 18, 2019
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request Dec 18, 2019
iskakaushik added a commit that referenced this pull request Dec 18, 2019
iskakaushik pushed a commit to iskakaushik/engine that referenced this pull request Dec 18, 2019
This reverts commit 6ea69a0.

On top of the revert, it reverted a commit in the PR:
flutter#14024

This reverts commit ea67e5b.
iskakaushik added a commit that referenced this pull request Dec 19, 2019
This reverts commit 6ea69a0.

On top of the revert, it reverted a commit in the PR:
#14024

This reverts commit ea67e5b.
mikejurka added a commit to mikejurka/engine that referenced this pull request Dec 19, 2019
@arbreng arbreng deleted the expose-opacity branch January 17, 2020 00:37
filmil pushed a commit to filmil/engine that referenced this pull request Mar 13, 2020
* Remove erroneous ChildView opacity

* Wire frame metrics through contexts

* Maintain layer stack inside of SceneBuilder

* Remove EnsureSingleChild

* Centralize system-composite and elevation logic

* Wire up OpacityLayer to Scenic
filmil pushed a commit to filmil/engine that referenced this pull request Mar 13, 2020
filmil pushed a commit to filmil/engine that referenced this pull request Mar 13, 2020
This reverts commit 6ea69a0.

On top of the revert, it reverted a commit in the PR:
flutter#14024

This reverts commit ea67e5b.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affects: engine cla: yes waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants