-
Notifications
You must be signed in to change notification settings - Fork 6k
[DisplayList] Disable group opacity when a RuntimeEffect is in use #56936
[DisplayList] Disable group opacity when a RuntimeEffect is in use #56936
Conversation
jonahwilliams
left a comment
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, thank you!
|
Tested against the test case from flutter/flutter#158500 |
|
I need to double check (and write tests for) other rendering operations that, for instance, ignore ColorSources entirely. (Don't think anything ignores an ImageFilter, though.) |
|
I took a quick look at what it would take to do conditional attribute flags based on the type of operation being performed and believe that it might be better to get this fix in which conservatively fixes the problem at a slight potential cost of sometimes disabling the opacity optimization when it isn't needed. Note that the conservative consequences will only ever occur on apps that use custom shaders and only in some very specific circumstances, and functionality and correct results will not be compromised even in those cases. The full fix will have some non-trivial disruptions to the optimization detection code which has historically been a source of unintended consequences so I'd rather have the bug fixed with a simple fix and isolate the potentially problematic changes into a separate follow-on PR. |
|
SGTM |
|
Follow-on work documented in flutter/flutter#159862 |
…159865) flutter/engine@3a8204a...bbe33f2 2024-12-05 [email protected] [DisplayList] Disable group opacity when a RuntimeEffect is in use (flutter/engine#56936) 2024-12-05 [email protected] Removes ReactorGLES::Ref (flutter/engine#56981) 2024-12-05 [email protected] [Impeller] create a 300 es variant of all GLES shaders to support UBO binding. (flutter/engine#56960) 2024-12-05 [email protected] [Impeller] Add rounded superellipse (flutter/engine#56726) 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] 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
…lutter/engine#56936) Fixes flutter#158500 Impeller does not support group opacity for RuntimeEffects so we disable the optimization with a flag when it is detected.
Fixes flutter/flutter#158500
Impeller does not support group opacity for RuntimeEffects so we disable the optimization with a flag when it is detected.