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

[DisplayList] use DlScalar, DlPoint, DlRect exclusively in DlOpReceiver methods #54982

Merged
merged 1 commit into from
Sep 6, 2024

Conversation

flar
Copy link
Contributor

@flar flar commented Sep 5, 2024

Wean the DlOpReceiver interface and implementations off of using the SkScalar, Sk[I]Rect, and SkPoint objects in favor of our own DL/Impeller versions.

The start of an ongoing effort to eventually compartmentalize all use of Skia interfaces into a single backend rendering module that is one of 2 semi-pluggable renderers.

Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM

@@ -34,10 +34,13 @@ bool IsNearlySimpleRRect(const SkRRect& rr);
Rect ToRect(const SkRect& rect);

std::optional<Rect> ToRect(const SkRect* rect);
std::optional<const Rect> ToRect(const flutter::DlRect* rect);
Copy link
Member

Choose a reason for hiding this comment

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

Are any of these conversions unused now?

Copy link
Member

Choose a reason for hiding this comment

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

I guess we still use SkRect and friends for many of the draw methods, and we do need to do the copying allocation until experimental canvas gets further along..

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Towards the end of this effort I will start aggressively removing these converters. For now I'm not going to sweat each one. When I'm done the entire impeller::skia_conversions package will no longer exist. That will be the real goal.

@flar flar force-pushed the receiver-uses-dl-rect-point-scalar branch from 089b8d0 to e0c1cf3 Compare September 6, 2024 21:15
@flar flar added the autosubmit Merge PR when tree becomes green via auto submit App label Sep 6, 2024
@auto-submit auto-submit bot merged commit 51d93f8 into flutter:main Sep 6, 2024
30 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 6, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 6, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 7, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Sep 7, 2024
…154764)

flutter/engine@419fb8c...b9f9015

2024-09-07 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[skwasm] use temporary RawPaint objects (#54917)" (flutter/engine#55018)
2024-09-06 [email protected] [engine] reland: always post tasks for platform channel responses. (flutter/engine#55006)
2024-09-06 [email protected] Roll Skia from 4786936b4c0c to 06cd203d0607 (2 revisions) (flutter/engine#55014)
2024-09-06 [email protected] [multiple] Avoid new `unreachable_switch_default` warning. (flutter/engine#54996)
2024-09-06 [email protected] [skwasm] use temporary RawPaint objects (flutter/engine#54917)
2024-09-06 [email protected] [DisplayList] use DlScalar, DlPoint, DlRect exclusively in DlOpReceiver methods (flutter/engine#54982)
2024-09-06 [email protected] Roll Skia from f38ea0134dba to 4786936b4c0c (4 revisions) (flutter/engine#55013)
2024-09-06 [email protected] [Impeller] opt into exp canvas. (flutter/engine#54913)
2024-09-06 [email protected] Roll Skia from 8f62a6a4a299 to f38ea0134dba (4 revisions) (flutter/engine#55008)
2024-09-06 [email protected] [impeller] fake image for fake tests. (flutter/engine#54974)
2024-09-06 [email protected] Roll Skia from 6ad117bd2efe to 8f62a6a4a299 (1 revision) (flutter/engine#55001)
2024-09-06 [email protected] Change "there own" to "their own" in Flutter-GPU docs (flutter/engine#54921)

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
auto-submit bot added a commit to flutter/flutter that referenced this pull request Sep 7, 2024
…visions) (#154764)" (#154765)

Reverts: #154764
Initiated by: jonahwilliams
Reason for reverting: failing post submit on mac module test.
Original PR Author: engine-flutter-autoroll

Reviewed By: {fluttergithubbot}

This change reverts the following previous change:

flutter/engine@419fb8c...b9f9015

2024-09-07 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[skwasm] use temporary RawPaint objects (#54917)" (flutter/engine#55018)
2024-09-06 [email protected] [engine] reland: always post tasks for platform channel responses. (flutter/engine#55006)
2024-09-06 [email protected] Roll Skia from 4786936b4c0c to 06cd203d0607 (2 revisions) (flutter/engine#55014)
2024-09-06 [email protected] [multiple] Avoid new `unreachable_switch_default` warning. (flutter/engine#54996)
2024-09-06 [email protected] [skwasm] use temporary RawPaint objects (flutter/engine#54917)
2024-09-06 [email protected] [DisplayList] use DlScalar, DlPoint, DlRect exclusively in DlOpReceiver methods (flutter/engine#54982)
2024-09-06 [email protected] Roll Skia from f38ea0134dba to 4786936b4c0c (4 revisions) (flutter/engine#55013)
2024-09-06 [email protected] [Impeller] opt into exp canvas. (flutter/engine#54913)
2024-09-06 [email protected] Roll Skia from 8f62a6a4a299 to f38ea0134dba (4 revisions) (flutter/engine#55008)
2024-09-06 [email protected] [impeller] fake image for fake tests. (flutter/engine#54974)
2024-09-06 [email protected] Roll Skia from 6ad117bd2efe to 8f62a6a4a299 (1 revision) (flutter/engine#55001)
2024-09-06 [email protected] Change "there own" to "their own" in Flutter-GPU docs (flutter/engine#54921)

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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 7, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 7, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 7, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Sep 7, 2024
…154769)

flutter/engine@419fb8c...7bf1169

2024-09-07 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[engine] reland: always post tasks for platform channel responses. (#55006)" (flutter/engine#55022)
2024-09-07 [email protected] Turn off software rendering in iOS scenario golden tests (flutter/engine#55016)
2024-09-07 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[skwasm] use temporary RawPaint objects (#54917)" (flutter/engine#55018)
2024-09-06 [email protected] [engine] reland: always post tasks for platform channel responses. (flutter/engine#55006)
2024-09-06 [email protected] Roll Skia from 4786936b4c0c to 06cd203d0607 (2 revisions) (flutter/engine#55014)
2024-09-06 [email protected] [multiple] Avoid new `unreachable_switch_default` warning. (flutter/engine#54996)
2024-09-06 [email protected] [skwasm] use temporary RawPaint objects (flutter/engine#54917)
2024-09-06 [email protected] [DisplayList] use DlScalar, DlPoint, DlRect exclusively in DlOpReceiver methods (flutter/engine#54982)
2024-09-06 [email protected] Roll Skia from f38ea0134dba to 4786936b4c0c (4 revisions) (flutter/engine#55013)
2024-09-06 [email protected] [Impeller] opt into exp canvas. (flutter/engine#54913)
2024-09-06 [email protected] Roll Skia from 8f62a6a4a299 to f38ea0134dba (4 revisions) (flutter/engine#55008)
2024-09-06 [email protected] [impeller] fake image for fake tests. (flutter/engine#54974)
2024-09-06 [email protected] Roll Skia from 6ad117bd2efe to 8f62a6a4a299 (1 revision) (flutter/engine#55001)
2024-09-06 [email protected] Change "there own" to "their own" in Flutter-GPU docs (flutter/engine#54921)

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
jesswrd pushed a commit to jesswrd/engine that referenced this pull request Sep 11, 2024
…er methods (flutter#54982)

Wean the DlOpReceiver interface and implementations off of using the SkScalar, Sk[I]Rect, and SkPoint objects in favor of our own DL/Impeller versions.

The start of an ongoing effort to eventually compartmentalize all use of Skia interfaces into a single backend rendering module that is one of 2 semi-pluggable renderers.
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 e: impeller
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants