-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Impeller] Remove capability to read from onscreen. #47808
Conversation
311f0b4
to
53c5b50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
…138108) flutter/engine@6dbcf8f...5306213 2023-11-08 [email protected] Switch to Android 14 for physical device firebase tests (flutter/engine#47016) 2023-11-08 [email protected] [Impeller] remove capability to read from onscreen. (flutter/engine#47808) 2023-11-08 [email protected] Roll Skia from a4cce5236dcf to fb69e696dc45 (1 revision) (flutter/engine#47810) 2023-11-08 [email protected] Roll Dart SDK from 15c286ed91ea to 14933042494d (5 revisions) (flutter/engine#47805) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
These 2 lines are telling the layer tree that the surface can read from the backdrop. The layer tree will automatically do offscreen rendering as needed if these 2 flags are simply set correctly.
|
Those flags are ignored by Impeller |
Those flags are info supplied TO the layer tree. Impeller isn't supposed to look at them, it is telling the layer_tree what it can do - and it is lying here. If it had set these flags to false the layer tree would have enforced off-screen rendering already. This whole PR could be replaced by setting those 2 flags to false... |
As discovered by @knopp in flutter/flutter#131567 (comment), this is actually reducing performance substantially when there are multiple blurs. In the case of flutter/flutter#132735 , removing this capbility improves GPU performance from 400ms per frame to ~100 ms per frame.
Fixes flutter/flutter#131567 (comment)