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

Conversation

@dnfield
Copy link
Contributor

@dnfield dnfield commented Jun 22, 2022

Drops --enable-display-list flag and related code branches

Keeps PictureLayer around for now until we can figure out what to do with the SKP deserialization test harness. @akbiggs may know if that is safe to delete - but I'm fine with doing that in a follow up PR since this one is likely enough as it is to break things. Deletes PictureLayer and a test harness that deserializes SKPs and uses PictureLayers as well.

Fixes flutter/flutter#86634

Currently includes #34227

Fixes flutter/flutter#106435

@dnfield dnfield requested review from chinmaygarde and flar June 22, 2022 18:37
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.

Yes! This has caused a fair amount of confusion for me.

@flar
Copy link
Contributor

flar commented Jun 22, 2022

Is the description accurate? It says it is keeping PictureLayer, but the file diffs show it deleted.

@dnfield
Copy link
Contributor Author

dnfield commented Jun 22, 2022

I'll update the description - I talked with a couple Fuchsia folks offline and it seems safe to delete that test target.

canvas_->drawPicture(picture->picture().get());
}
} else if (picture->display_list()) {
if (picture->display_list()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Isn't "display_list_recorder_" always non-null now? The "if (canvas_)" branches should only have ever been used when we were creating SkPictures, but we aren't doing that any more, are we?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. I'll update canvas.cc

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it will be null after disposal though, so we still need the if guards to avoid segfaulting.

"rasterizer_unittests.cc",
"resource_cache_limit_calculator_unittests.cc",
"shell_unittests.cc",
"skp_shader_warmup_unittests.cc",
Copy link
Contributor

Choose a reason for hiding this comment

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

No DL version of these?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No.

recording_canvas->drawRect(SkRect::MakeXYWH(0, 0, 80, 80),
SkPaint(SkColor4f::FromColor(SK_ColorRED)));
auto sk_picture = recorder.finishRecordingAsPicture();
DisplayListCanvasRecorder recorder(SkRect::MakeXYWH(0, 0, 80, 80));
Copy link
Contributor

Choose a reason for hiding this comment

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

File a follow-up Issue to start converting tests to DLBuilder rather than CanvasRecorder. Eventually we can consider deleting CanvasRecorder, unless we need it for plug ins or embedded views or something.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

SkPaint(SkColor4f::FromColor(SK_ColorRED)));
return recorder.finishRecordingAsPicture();
static sk_sp<DisplayList> MakeSizedDisplayList(int width, int height) {
DisplayListCanvasRecorder recorder(SkRect::MakeXYWH(0, 0, 80, 80));
Copy link
Contributor

Choose a reason for hiding this comment

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

width,height, not 80,80

Copy link
Contributor

Choose a reason for hiding this comment

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

Why isn't this used in all of the above tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done, and updated other tests to use this.

@flar
Copy link
Contributor

flar commented Jun 22, 2022

Mostly only 1 "oops" and a couple of opportunities for deepening the cut, but feel free to file follow-on issues for the other stuff. Can we get away with no skp warmup tesst? Are those obsolete?

@dnfield
Copy link
Contributor Author

dnfield commented Jun 22, 2022

The SKP warmup tests were added for Fuchsia by an engineer who's no longer working on Fuchsia. The engineers who are working on Fuchsia are telling me they don't think we need them.

@dnfield dnfield requested a review from flar June 22, 2022 22:54
Copy link
Contributor

@flar flar left a comment

Choose a reason for hiding this comment

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

LGTM!

@dnfield dnfield added the autosubmit Merge PR when tree becomes green via auto submit App label Jun 23, 2022
@auto-submit auto-submit bot merged commit c40c1a8 into flutter:main Jun 23, 2022
@dnfield dnfield deleted the rm_skp branch June 23, 2022 03:06
@zanderso
Copy link
Member

Nice!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Delete the skp_shader_warmup_test harness if possible Remove Engine flag for disabling the DisplayList

4 participants