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

Conversation

@CaseyHillers
Copy link
Contributor

Reverts #35534

This broke Google tests. Googlers, see b/243217201 before relanding.

This caused visual regressions in what I believe are related to transitions between screens, but I defer to a @flar and @dnfield to root cause this.

Copy link
Contributor

@dnfield dnfield left a comment

Choose a reason for hiding this comment

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

Lgtm

@CaseyHillers CaseyHillers added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 21, 2022
@auto-submit auto-submit bot merged commit bd89852 into main Aug 21, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 21, 2022
@zanderso zanderso deleted the revert-35534-Make-ShaderMaskLayer-code-builder-aware branch August 22, 2022 00:35
@JsouLiang
Copy link
Contributor

Is there any further information on this? @CaseyHillers @dnfield @flar

@flar
Copy link
Contributor

flar commented Aug 22, 2022

Is there any further information on this? @CaseyHillers @dnfield @flar

I'm 99% sure the problems shown in internal testing were due to the missing restore call in the new DL code in SML.

Try adding a unit test that has other layers that render after SML and you should see that they are included inside the SML's saveLayer when they should not be. Then add the restore in SML::Paint and it should go away...

@flar
Copy link
Contributor

flar commented Aug 22, 2022

Perhaps we should also add some debug code around the Paint call in Container::PaintChildren that makes sure that the restore count is the same before and after calling a layer's Paint method?

@flar
Copy link
Contributor

flar commented Aug 22, 2022

I'm not sure how that restore count check will work across a PlatformView layer, but it should probably be OK in the current system as we broadcast all save/restores to all canvases, so whichever leaf canvas returns from the Paint call should have the same restore count as the leaf canvas we had going into the Paint call...

JsouLiang added a commit that referenced this pull request Aug 23, 2022
@JsouLiang
Copy link
Contributor

Perhaps we should also add some debug code around the Paint call in Container::PaintChildren that makes sure that the restore count is the same before and after calling a layer's Paint method?

Perhaps use the AutoSaveLayer to make sure that the node doesn't forget to restore when it calls saveLayer

@flar
Copy link
Contributor

flar commented Aug 25, 2022

Perhaps we should also add some debug code around the Paint call in Container::PaintChildren that makes sure that the restore count is the same before and after calling a layer's Paint method?

Perhaps use the AutoSaveLayer to make sure that the node doesn't forget to restore when it calls saveLayer

Yes, but also provide a debugging verification in PaintChildren so that any layer that "rolls its own" is caught early. That's what I was getting at. Some of these layers might involve code outside of our normal control so it can't hurt to have a simple debug check to enforce the condition.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

autosubmit Merge PR when tree becomes green via auto submit App

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants