From 74e6d9e47137ebed65ed390d0985eaabcb00d19a Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Tue, 13 Aug 2024 17:40:29 -0700 Subject: [PATCH 1/2] Add rect to unit test. --- impeller/display_list/aiks_dl_unittests.cc | 49 ++++------------------ 1 file changed, 7 insertions(+), 42 deletions(-) diff --git a/impeller/display_list/aiks_dl_unittests.cc b/impeller/display_list/aiks_dl_unittests.cc index 1773932497291..4aa538b26ffdb 100644 --- a/impeller/display_list/aiks_dl_unittests.cc +++ b/impeller/display_list/aiks_dl_unittests.cc @@ -748,6 +748,12 @@ TEST_P(AiksTest, MatrixBackdropFilter) { DlPaint paint; paint.setColor(DlColor::kGreen().withAlpha(0.5 * 255)); paint.setBlendMode(DlBlendMode::kPlus); + + DlPaint rect_paint; + rect_paint.setColor(DlColor::kRed()); + rect_paint.setStrokeWidth(4); + rect_paint.setDrawStyle(DlDrawStyle::kStroke); + builder.DrawRect(SkRect::MakeLTRB(0, 0, 300, 300), rect_paint); builder.DrawCircle(SkPoint::Make(200, 200), 100, paint); // Should render a second circle, centered on the bottom-right-most edge of // the circle. @@ -771,7 +777,7 @@ TEST_P(AiksTest, MatrixSaveLayerFilter) { DlPaint paint; paint.setColor(DlColor::kBlack()); builder.DrawPaint(paint); - builder.SaveLayer({}, nullptr); + builder.SaveLayer(nullptr, nullptr); { paint.setColor(DlColor::kGreen().withAlpha(255 * 0.5)); paint.setBlendMode(DlBlendMode::kPlus); @@ -800,46 +806,5 @@ TEST_P(AiksTest, MatrixSaveLayerFilter) { ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } -// Regression test for flutter/flutter#152780 -TEST_P(AiksTest, CanDrawScaledPointsSmallScaleLargeRadius) { - std::vector point = { - {0, 0}, // - }; - - DlPaint paint; - paint.setStrokeCap(DlStrokeCap::kRound); - paint.setColor(DlColor::kRed()); - paint.setStrokeWidth(100 * 1000000); - - DisplayListBuilder builder(GetCullRect(GetWindowSize())); - builder.Translate(200, 200); - builder.Scale(0.000001, 0.000001); - - builder.DrawPoints(DlCanvas::PointMode::kPoints, point.size(), point.data(), - paint); - - ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); -} - -// Regression test for flutter/flutter#152780 -TEST_P(AiksTest, CanDrawScaledPointsLargeScaleSmallRadius) { - std::vector point = { - {0, 0}, // - }; - - DlPaint paint; - paint.setStrokeCap(DlStrokeCap::kRound); - paint.setColor(DlColor::kRed()); - paint.setStrokeWidth(100 * 0.000001); - - DisplayListBuilder builder(GetCullRect(GetWindowSize())); - builder.Translate(200, 200); - builder.Scale(1000000, 1000000); - - builder.DrawPoints(DlCanvas::PointMode::kPoints, point.size(), point.data(), - paint); - ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); -} - } // namespace testing } // namespace impeller From 49d0a3dbc62fd5bc741b4b4dc913242d7d16ea00 Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Tue, 13 Aug 2024 17:41:35 -0700 Subject: [PATCH 2/2] ++ --- impeller/display_list/aiks_dl_unittests.cc | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/impeller/display_list/aiks_dl_unittests.cc b/impeller/display_list/aiks_dl_unittests.cc index 4aa538b26ffdb..911996ebe26c7 100644 --- a/impeller/display_list/aiks_dl_unittests.cc +++ b/impeller/display_list/aiks_dl_unittests.cc @@ -806,5 +806,46 @@ TEST_P(AiksTest, MatrixSaveLayerFilter) { ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } +// Regression test for flutter/flutter#152780 +TEST_P(AiksTest, CanDrawScaledPointsSmallScaleLargeRadius) { + std::vector point = { + {0, 0}, // + }; + + DlPaint paint; + paint.setStrokeCap(DlStrokeCap::kRound); + paint.setColor(DlColor::kRed()); + paint.setStrokeWidth(100 * 1000000); + + DisplayListBuilder builder(GetCullRect(GetWindowSize())); + builder.Translate(200, 200); + builder.Scale(0.000001, 0.000001); + + builder.DrawPoints(DlCanvas::PointMode::kPoints, point.size(), point.data(), + paint); + + ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); +} + +// Regression test for flutter/flutter#152780 +TEST_P(AiksTest, CanDrawScaledPointsLargeScaleSmallRadius) { + std::vector point = { + {0, 0}, // + }; + + DlPaint paint; + paint.setStrokeCap(DlStrokeCap::kRound); + paint.setColor(DlColor::kRed()); + paint.setStrokeWidth(100 * 0.000001); + + DisplayListBuilder builder(GetCullRect(GetWindowSize())); + builder.Translate(200, 200); + builder.Scale(1000000, 1000000); + + builder.DrawPoints(DlCanvas::PointMode::kPoints, point.size(), point.data(), + paint); + ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); +} + } // namespace testing } // namespace impeller