-
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
[DisplayList] Optimize ClipRRect and ClipPath to ClipOval when appropriate #54088
[DisplayList] Optimize ClipRRect and ClipPath to ClipOval when appropriate #54088
Conversation
Since this change was originally part of a PR that had to be reverted, this (more focused) PR will be put through the "Large Scale Scuba Changes" process to prevent a large triage operation upstream. |
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
Please let me know if you need anything for the LSSC.
449d50e
to
706f4a3
Compare
706f4a3
to
f65ca5f
Compare
A dry run of this PR into upstream tests didn't show any of the breakages from the original PR. It's possible that we got something wrong in the dry run, but I'm going to merge this speculatively to find out. It should be a simple revert if we find otherwise... |
…152388) flutter/engine@354abf2...e28f875 2024-07-26 flar@google.com [DisplayList] Optimize ClipRRect and ClipPath to ClipOval when appropriate (flutter/engine#54088) 2024-07-26 darkwater124@gmail.com Set GLArea.has-alpha = true (flutter/engine#54053) 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 jonahwilliams@google.com,rmistry@google.com,zra@google.com 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#152388) flutter/engine@354abf2...e28f875 2024-07-26 flar@google.com [DisplayList] Optimize ClipRRect and ClipPath to ClipOval when appropriate (flutter/engine#54088) 2024-07-26 darkwater124@gmail.com Set GLArea.has-alpha = true (flutter/engine#54053) 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 jonahwilliams@google.com,rmistry@google.com,zra@google.com 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#152388) flutter/engine@354abf2...e28f875 2024-07-26 flar@google.com [DisplayList] Optimize ClipRRect and ClipPath to ClipOval when appropriate (flutter/engine#54088) 2024-07-26 darkwater124@gmail.com Set GLArea.has-alpha = true (flutter/engine#54053) 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 jonahwilliams@google.com,rmistry@google.com,zra@google.com 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
Fixes: flutter/flutter#151850
Re-adding an optimization originally included in #53642 that detects when ClipRRect and ClipPath operations are actually ovals and redirects them to the ClipOval path during recording to save space and reduce the need for dispatchers to do the same detections and optimizations.