Skip to content

Conversation

@flar
Copy link
Contributor

@flar flar commented Aug 1, 2025

Converting a large variety of classes involved in tracking surfaces, frames, surface damage, etc. to using the DisplayList/Impeller geometry classes.

Addresses a bullet item in #161456

@flar flar requested review from a team as code owners August 1, 2025 00:37
@github-actions github-actions bot added platform-android Android applications specifically platform-ios iOS applications specifically engine flutter/engine related. See also e: labels. team-android Owned by Android platform team team-ios Owned by iOS platform team labels Aug 1, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This is a large but important refactoring to migrate from Skia's geometry types to the DisplayList/Impeller geometry classes. The changes look very thorough and consistent across the codebase. I've only found one minor point about an unnecessary include. Great work on this migration!

@github-actions github-actions bot added the platform-fuchsia Fuchsia code specifically label Aug 1, 2025
@flar
Copy link
Contributor Author

flar commented Aug 3, 2025

AFAICT the google testing is not something that I did so the Google testing failure can be ignored. I will set the status to passing after reviews.

Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

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

So exciting to see those includes go away!

transformation.pers0 = matrix[SkMatrix::kMPersp0];
transformation.pers1 = matrix[SkMatrix::kMPersp1];
transformation.pers2 = matrix[SkMatrix::kMPersp2];
transformation.scaleX = matrix.m[0];
Copy link
Member

Choose a reason for hiding this comment

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

Maybe we should have the same static constexprs for these indices too. In a later patch though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I agree in principle, but there is a practical issue that I've seen with names like that. In particular, for instance, the names are often ambiguous. What is SkewX? Is it the amount that X skews Y, or the amount that X is skewed by Y? Depending on how the developer interprets that name, it either goes in [0,1] or [1,0]...

I'd love to see some name suggestions that would make this foolproof.

Copy link
Member

Choose a reason for hiding this comment

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

Making the names foolproof might be hard. But I often think "gosh, is this row or column major storage" and have very modest needs. The stuff about the skews can be documented (and just match Skia for least surprise). Perhaps perfect is the enemy of good when it comes to adding these names?

@flar
Copy link
Contributor Author

flar commented Aug 4, 2025

@reidbaker did you update the branch to try to fix the Google Test failure? Is there a pending commit that might have helped? The result of the update is that the PR went from one failure that is obviously unrelated to 2 failures, the same one as earlier plus a newer one that isn't so clear is unrelated.

I still plan to just mark the G3 testing as passing manually, but was curious if you knew something about the failures that a branch update might fix...?

@reidbaker
Copy link
Contributor

reidbaker commented Aug 4, 2025

No, I was investigating the Google testing failure here and then accidentally updated your PR with main branch when I intended to update my own PR with the main branch.

@flar flar added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 4, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Aug 4, 2025
Merged via the queue into flutter:master with commit 37736df Aug 4, 2025
179 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 5, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 5, 2025
danilozhang pushed a commit to danilozhang/flutter that referenced this pull request Aug 6, 2025
…sses (flutter#173086)

Converting a large variety of classes involved in tracking surfaces,
frames, surface damage, etc. to using the DisplayList/Impeller geometry
classes.

Addresses a bullet item in
flutter#161456

---------

Co-authored-by: Reid Baker <[email protected]>
ksokolovskyi pushed a commit to ksokolovskyi/flutter that referenced this pull request Aug 19, 2025
…sses (flutter#173086)

Converting a large variety of classes involved in tracking surfaces,
frames, surface damage, etc. to using the DisplayList/Impeller geometry
classes.

Addresses a bullet item in
flutter#161456

---------

Co-authored-by: Reid Baker <[email protected]>
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
…sses (flutter#173086)

Converting a large variety of classes involved in tracking surfaces,
frames, surface damage, etc. to using the DisplayList/Impeller geometry
classes.

Addresses a bullet item in
flutter#161456

---------

Co-authored-by: Reid Baker <[email protected]>
korca0220 pushed a commit to korca0220/flutter that referenced this pull request Sep 22, 2025
…sses (flutter#173086)

Converting a large variety of classes involved in tracking surfaces,
frames, surface damage, etc. to using the DisplayList/Impeller geometry
classes.

Addresses a bullet item in
flutter#161456

---------

Co-authored-by: Reid Baker <[email protected]>
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. platform-android Android applications specifically platform-fuchsia Fuchsia code specifically platform-ios iOS applications specifically team-android Owned by Android platform team team-ios Owned by iOS platform team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants