From 35843e8c8022e45419ff320c353cd34663b4c787 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Mon, 4 Mar 2024 14:58:25 -0800 Subject: [PATCH 01/10] [Impeller] implement mask blur for textures --- impeller/aiks/aiks_blur_unittests.cc | 15 +++++++++++++ impeller/aiks/canvas.cc | 32 +++++++++++++++++++++------- impeller/aiks/paint.cc | 18 ++++++++++++++++ impeller/aiks/paint.h | 5 +++++ 4 files changed, 62 insertions(+), 8 deletions(-) diff --git a/impeller/aiks/aiks_blur_unittests.cc b/impeller/aiks/aiks_blur_unittests.cc index b808d4fa3366c..7595de735148b 100644 --- a/impeller/aiks/aiks_blur_unittests.cc +++ b/impeller/aiks/aiks_blur_unittests.cc @@ -835,7 +835,22 @@ TEST_P(AiksTest, GaussianBlurStyleSolid) { Paint red; red.color = Color::Red(); canvas.DrawRect(Rect::MakeXYWH(0, 0, 200, 200), red); +} +TEST_P(AiksTest, GaussianBlurStyleInnerTexture) { + Canvas canvas; + canvas.Scale(GetContentScale()); + Paint paint; + paint.color = Color::Green(); + paint.mask_blur_descriptor = Paint::MaskBlurDescriptor{ + .style = FilterContents::BlurStyle::kNormal, + .sigma = Sigma(30), + }; + std::shared_ptr boston = CreateTextureForFixture("boston.jpg"); + canvas.DrawImage(std::make_shared(boston), {200, 200}, paint); + Paint red; + red.color = Color::Red(); + canvas.DrawRect(Rect::MakeXYWH(0, 0, 200, 200), red); ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture())); } diff --git a/impeller/aiks/canvas.cc b/impeller/aiks/canvas.cc index 5a0a86faebbf2..107863452f3df 100644 --- a/impeller/aiks/canvas.cc +++ b/impeller/aiks/canvas.cc @@ -728,14 +728,30 @@ void Canvas::DrawImageRect(const std::shared_ptr& image, return; } - auto contents = TextureContents::MakeRect(dest); - contents->SetTexture(image->GetTexture()); - contents->SetSourceRect(source); - contents->SetStrictSourceRect(src_rect_constraint == - SourceRectConstraint::kStrict); - contents->SetSamplerDescriptor(std::move(sampler)); - contents->SetOpacity(paint.color.alpha); - contents->SetDeferApplyingOpacity(paint.HasColorFilter()); + auto texture_contents = TextureContents::MakeRect(dest); + texture_contents->SetTexture(image->GetTexture()); + texture_contents->SetSourceRect(source); + texture_contents->SetStrictSourceRect(src_rect_constraint == + SourceRectConstraint::kStrict); + texture_contents->SetSamplerDescriptor(std::move(sampler)); + texture_contents->SetOpacity(paint.color.alpha); + texture_contents->SetDeferApplyingOpacity(paint.HasColorFilter()); + + bool needs_color_filter = paint.HasColorFilter(); + if (needs_color_filter) { + auto color_filter = paint.GetColorFilter(); + if (texture_contents->ApplyColorFilter( + color_filter->GetCPUColorFilterProc())) { + needs_color_filter = false; + } + } + + std::shared_ptr contents = texture_contents; + if (paint.mask_blur_descriptor.has_value()) { + contents = paint.mask_blur_descriptor->CreateMaskBlur( + texture_contents, + needs_color_filter ? paint.GetColorFilter() : nullptr); + } Entity entity; entity.SetBlendMode(paint.blend_mode); diff --git a/impeller/aiks/paint.cc b/impeller/aiks/paint.cc index 94951236e6650..e5d2fbcb074d3 100644 --- a/impeller/aiks/paint.cc +++ b/impeller/aiks/paint.cc @@ -121,6 +121,24 @@ std::shared_ptr Paint::WithColorFilter( absorb_opacity); } +std::shared_ptr Paint::MaskBlurDescriptor::CreateMaskBlur( + std::shared_ptr texture_contents, + const std::shared_ptr& color_filter) const { + auto mask = std::make_shared(); + mask->SetColor(Color::White()); + std::optional coverage = texture_contents->GetCoverage({}); + std::shared_ptr geometry = Geometry::MakeRect(coverage.value()); + mask->SetGeometry(geometry); + std::shared_ptr blurred_mask = + FilterContents::MakeGaussianBlur(FilterInput::Make(mask), sigma, sigma, + Entity::TileMode::kDecal, style, + geometry); + + return ColorFilterContents::MakeBlend( + BlendMode::kSourceIn, + {FilterInput::Make(blurred_mask), FilterInput::Make(texture_contents)}); +} + std::shared_ptr Paint::MaskBlurDescriptor::CreateMaskBlur( std::shared_ptr color_source_contents, const std::shared_ptr& color_filter) const { diff --git a/impeller/aiks/paint.h b/impeller/aiks/paint.h index 126f152dba84c..a715722fd58ee 100644 --- a/impeller/aiks/paint.h +++ b/impeller/aiks/paint.h @@ -13,6 +13,7 @@ #include "impeller/entity/contents/contents.h" #include "impeller/entity/contents/filters/color_filter_contents.h" #include "impeller/entity/contents/filters/filter_contents.h" +#include "impeller/entity/contents/texture_contents.h" #include "impeller/entity/entity.h" #include "impeller/entity/geometry/geometry.h" #include "impeller/geometry/color.h" @@ -43,6 +44,10 @@ struct Paint { std::shared_ptr color_source_contents, const std::shared_ptr& color_filter) const; + std::shared_ptr CreateMaskBlur( + std::shared_ptr texture_contents, + const std::shared_ptr& color_filter) const; + std::shared_ptr CreateMaskBlur( const FilterInput::Ref& input, bool is_solid_color) const; From 0ff9413f95937b06003384b88bc93bbb668e0b03 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 5 Mar 2024 15:51:59 -0800 Subject: [PATCH 02/10] okay a bit closer, this seems to mimic skia's behavior --- impeller/aiks/aiks_blur_unittests.cc | 38 ++++++++++++++++++---------- impeller/aiks/paint.cc | 7 +++++ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/impeller/aiks/aiks_blur_unittests.cc b/impeller/aiks/aiks_blur_unittests.cc index 7595de735148b..bc33b26d69b5b 100644 --- a/impeller/aiks/aiks_blur_unittests.cc +++ b/impeller/aiks/aiks_blur_unittests.cc @@ -17,6 +17,8 @@ // blurs. //////////////////////////////////////////////////////////////////////////////// +float fudge = 100; + namespace impeller { namespace testing { @@ -838,20 +840,30 @@ TEST_P(AiksTest, GaussianBlurStyleSolid) { } TEST_P(AiksTest, GaussianBlurStyleInnerTexture) { - Canvas canvas; - canvas.Scale(GetContentScale()); - Paint paint; - paint.color = Color::Green(); - paint.mask_blur_descriptor = Paint::MaskBlurDescriptor{ - .style = FilterContents::BlurStyle::kNormal, - .sigma = Sigma(30), + auto callback = [&](AiksContext& renderer) -> std::optional { + static Scalar sigma = 30; + if (AiksTest::ImGuiBegin("Controls", nullptr, + ImGuiWindowFlags_AlwaysAutoResize)) { + ImGui::SliderFloat("Sigma", &sigma, 0, 500); + ImGui::SliderFloat("Fudge", &fudge, 0, 100); + ImGui::End(); + } + Canvas canvas; + canvas.Scale(GetContentScale()); + Paint paint; + paint.color = Color::Green(); + paint.mask_blur_descriptor = Paint::MaskBlurDescriptor{ + .style = FilterContents::BlurStyle::kNormal, + .sigma = Sigma(sigma), + }; + std::shared_ptr boston = CreateTextureForFixture("boston.jpg"); + canvas.DrawImage(std::make_shared(boston), {200, 200}, paint); + Paint red; + red.color = Color::Red(); + canvas.DrawRect(Rect::MakeXYWH(0, 0, 200, 200), red); + return canvas.EndRecordingAsPicture(); }; - std::shared_ptr boston = CreateTextureForFixture("boston.jpg"); - canvas.DrawImage(std::make_shared(boston), {200, 200}, paint); - Paint red; - red.color = Color::Red(); - canvas.DrawRect(Rect::MakeXYWH(0, 0, 200, 200), red); - ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture())); + ASSERT_TRUE(OpenPlaygroundHere(callback)); } TEST_P(AiksTest, GuassianBlurUpdatesMipmapContents) { diff --git a/impeller/aiks/paint.cc b/impeller/aiks/paint.cc index e5d2fbcb074d3..105f95284e2a1 100644 --- a/impeller/aiks/paint.cc +++ b/impeller/aiks/paint.cc @@ -12,6 +12,8 @@ #include "impeller/entity/contents/solid_color_contents.h" #include "impeller/entity/geometry/geometry.h" +extern float fudge; + namespace impeller { /// A color matrix which inverts colors. @@ -124,9 +126,14 @@ std::shared_ptr Paint::WithColorFilter( std::shared_ptr Paint::MaskBlurDescriptor::CreateMaskBlur( std::shared_ptr texture_contents, const std::shared_ptr& color_filter) const { + texture_contents->SetSourceRect( + texture_contents->GetSourceRect().Expand(fudge, fudge)); auto mask = std::make_shared(); mask->SetColor(Color::White()); std::optional coverage = texture_contents->GetCoverage({}); + texture_contents->SetDestinationRect(coverage.value().Expand(fudge, fudge)); + auto descriptor = texture_contents->GetSamplerDescriptor(); + texture_contents->SetSamplerDescriptor(descriptor); std::shared_ptr geometry = Geometry::MakeRect(coverage.value()); mask->SetGeometry(geometry); std::shared_ptr blurred_mask = From 81b2a3259500b637e759bfcbb32e1a5339e90508 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 5 Mar 2024 16:44:58 -0800 Subject: [PATCH 03/10] removed fudge --- impeller/aiks/aiks_blur_unittests.cc | 5 +---- impeller/aiks/paint.cc | 10 ++++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/impeller/aiks/aiks_blur_unittests.cc b/impeller/aiks/aiks_blur_unittests.cc index bc33b26d69b5b..8abc359695604 100644 --- a/impeller/aiks/aiks_blur_unittests.cc +++ b/impeller/aiks/aiks_blur_unittests.cc @@ -17,8 +17,6 @@ // blurs. //////////////////////////////////////////////////////////////////////////////// -float fudge = 100; - namespace impeller { namespace testing { @@ -840,12 +838,11 @@ TEST_P(AiksTest, GaussianBlurStyleSolid) { } TEST_P(AiksTest, GaussianBlurStyleInnerTexture) { + Scalar sigma = 30; auto callback = [&](AiksContext& renderer) -> std::optional { - static Scalar sigma = 30; if (AiksTest::ImGuiBegin("Controls", nullptr, ImGuiWindowFlags_AlwaysAutoResize)) { ImGui::SliderFloat("Sigma", &sigma, 0, 500); - ImGui::SliderFloat("Fudge", &fudge, 0, 100); ImGui::End(); } Canvas canvas; diff --git a/impeller/aiks/paint.cc b/impeller/aiks/paint.cc index 105f95284e2a1..3703caf544b9a 100644 --- a/impeller/aiks/paint.cc +++ b/impeller/aiks/paint.cc @@ -9,11 +9,10 @@ #include "impeller/entity/contents/color_source_contents.h" #include "impeller/entity/contents/filters/color_filter_contents.h" #include "impeller/entity/contents/filters/filter_contents.h" +#include "impeller/entity/contents/filters/gaussian_blur_filter_contents.h" #include "impeller/entity/contents/solid_color_contents.h" #include "impeller/entity/geometry/geometry.h" -extern float fudge; - namespace impeller { /// A color matrix which inverts colors. @@ -126,12 +125,15 @@ std::shared_ptr Paint::WithColorFilter( std::shared_ptr Paint::MaskBlurDescriptor::CreateMaskBlur( std::shared_ptr texture_contents, const std::shared_ptr& color_filter) const { + Scalar expand_amount = GaussianBlurFilterContents::CalculateBlurRadius( + GaussianBlurFilterContents::ScaleSigma(sigma.sigma)); texture_contents->SetSourceRect( - texture_contents->GetSourceRect().Expand(fudge, fudge)); + texture_contents->GetSourceRect().Expand(expand_amount, expand_amount)); auto mask = std::make_shared(); mask->SetColor(Color::White()); std::optional coverage = texture_contents->GetCoverage({}); - texture_contents->SetDestinationRect(coverage.value().Expand(fudge, fudge)); + texture_contents->SetDestinationRect( + coverage.value().Expand(expand_amount, expand_amount)); auto descriptor = texture_contents->GetSamplerDescriptor(); texture_contents->SetSamplerDescriptor(descriptor); std::shared_ptr geometry = Geometry::MakeRect(coverage.value()); From 88c766b1f65faa47f791c6ad71325d8c72736251 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Thu, 7 Mar 2024 08:52:22 -0800 Subject: [PATCH 04/10] lint --- impeller/aiks/paint.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/impeller/aiks/paint.cc b/impeller/aiks/paint.cc index 3703caf544b9a..f8ded566fcdd4 100644 --- a/impeller/aiks/paint.cc +++ b/impeller/aiks/paint.cc @@ -132,12 +132,15 @@ std::shared_ptr Paint::MaskBlurDescriptor::CreateMaskBlur( auto mask = std::make_shared(); mask->SetColor(Color::White()); std::optional coverage = texture_contents->GetCoverage({}); - texture_contents->SetDestinationRect( - coverage.value().Expand(expand_amount, expand_amount)); + std::shared_ptr geometry; + if (coverage) { + texture_contents->SetDestinationRect( + coverage.value().Expand(expand_amount, expand_amount)); + geometry = Geometry::MakeRect(coverage.value()); + } + mask->SetGeometry(geometry); auto descriptor = texture_contents->GetSamplerDescriptor(); texture_contents->SetSamplerDescriptor(descriptor); - std::shared_ptr geometry = Geometry::MakeRect(coverage.value()); - mask->SetGeometry(geometry); std::shared_ptr blurred_mask = FilterContents::MakeGaussianBlur(FilterInput::Make(mask), sigma, sigma, Entity::TileMode::kDecal, style, From 11da5991517b58ebc43c687515144c34998d2702 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Thu, 7 Mar 2024 08:53:38 -0800 Subject: [PATCH 05/10] renamed test --- impeller/aiks/aiks_blur_unittests.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/impeller/aiks/aiks_blur_unittests.cc b/impeller/aiks/aiks_blur_unittests.cc index 8abc359695604..ee9795b75e8e8 100644 --- a/impeller/aiks/aiks_blur_unittests.cc +++ b/impeller/aiks/aiks_blur_unittests.cc @@ -837,7 +837,7 @@ TEST_P(AiksTest, GaussianBlurStyleSolid) { canvas.DrawRect(Rect::MakeXYWH(0, 0, 200, 200), red); } -TEST_P(AiksTest, GaussianBlurStyleInnerTexture) { +TEST_P(AiksTest, MaskBlurTexture) { Scalar sigma = 30; auto callback = [&](AiksContext& renderer) -> std::optional { if (AiksTest::ImGuiBegin("Controls", nullptr, From abd12a4b4ea094499a80ce206a69c87fa58fdca1 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Thu, 7 Mar 2024 08:55:39 -0800 Subject: [PATCH 06/10] added golden update --- testing/impeller_golden_tests_output.txt | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt index 0a6c28e5bb62d..446fb28bd9b12 100644 --- a/testing/impeller_golden_tests_output.txt +++ b/testing/impeller_golden_tests_output.txt @@ -516,18 +516,21 @@ impeller_Play_AiksTest_ImageFilteredUnboundedSaveLayerWithUnboundedContents_Vulk impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Metal.png impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_OpenGLES.png impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Vulkan.png +impeller_Play_AiksTest_MaskBlurTexture_Metal.png +impeller_Play_AiksTest_MaskBlurTexture_OpenGLES.png +impeller_Play_AiksTest_MaskBlurTexture_Vulkan.png impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_Metal.png impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_OpenGLES.png impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Vulkan.png impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_Metal.png impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_OpenGLES.png impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Vulkan.png impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_Metal.png impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_OpenGLES.png impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_Vulkan.png @@ -537,15 +540,15 @@ impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_Vulkan.png impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_Metal.png impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_OpenGLES.png impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Vulkan.png impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_Metal.png impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_OpenGLES.png impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_Vulkan.png impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_Metal.png impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_OpenGLES.png impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Vulkan.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Metal.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_OpenGLES.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Vulkan.png From 66c4d3840c91a5d9ea70f0d645f66c9adafec840 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Thu, 7 Mar 2024 09:44:27 -0800 Subject: [PATCH 07/10] removed color filter --- impeller/aiks/canvas.cc | 13 +------------ impeller/aiks/paint.cc | 3 +-- impeller/aiks/paint.h | 3 +-- 3 files changed, 3 insertions(+), 16 deletions(-) diff --git a/impeller/aiks/canvas.cc b/impeller/aiks/canvas.cc index 107863452f3df..57f84496625b3 100644 --- a/impeller/aiks/canvas.cc +++ b/impeller/aiks/canvas.cc @@ -737,20 +737,9 @@ void Canvas::DrawImageRect(const std::shared_ptr& image, texture_contents->SetOpacity(paint.color.alpha); texture_contents->SetDeferApplyingOpacity(paint.HasColorFilter()); - bool needs_color_filter = paint.HasColorFilter(); - if (needs_color_filter) { - auto color_filter = paint.GetColorFilter(); - if (texture_contents->ApplyColorFilter( - color_filter->GetCPUColorFilterProc())) { - needs_color_filter = false; - } - } - std::shared_ptr contents = texture_contents; if (paint.mask_blur_descriptor.has_value()) { - contents = paint.mask_blur_descriptor->CreateMaskBlur( - texture_contents, - needs_color_filter ? paint.GetColorFilter() : nullptr); + contents = paint.mask_blur_descriptor->CreateMaskBlur(texture_contents); } Entity entity; diff --git a/impeller/aiks/paint.cc b/impeller/aiks/paint.cc index f8ded566fcdd4..31043a148550c 100644 --- a/impeller/aiks/paint.cc +++ b/impeller/aiks/paint.cc @@ -123,8 +123,7 @@ std::shared_ptr Paint::WithColorFilter( } std::shared_ptr Paint::MaskBlurDescriptor::CreateMaskBlur( - std::shared_ptr texture_contents, - const std::shared_ptr& color_filter) const { + std::shared_ptr texture_contents) const { Scalar expand_amount = GaussianBlurFilterContents::CalculateBlurRadius( GaussianBlurFilterContents::ScaleSigma(sigma.sigma)); texture_contents->SetSourceRect( diff --git a/impeller/aiks/paint.h b/impeller/aiks/paint.h index a715722fd58ee..10b46dc99c05a 100644 --- a/impeller/aiks/paint.h +++ b/impeller/aiks/paint.h @@ -45,8 +45,7 @@ struct Paint { const std::shared_ptr& color_filter) const; std::shared_ptr CreateMaskBlur( - std::shared_ptr texture_contents, - const std::shared_ptr& color_filter) const; + std::shared_ptr texture_contents) const; std::shared_ptr CreateMaskBlur( const FilterInput::Ref& input, From 3233ee22caf94d43da5ffabb8e33b0853e27e8a2 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Fri, 8 Mar 2024 09:45:26 -0800 Subject: [PATCH 08/10] removed changes to impeller golden tests output --- testing/impeller_golden_tests_output.txt | 30 ------------------------ 1 file changed, 30 deletions(-) diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt index 446fb28bd9b12..a674d9d17b04a 100644 --- a/testing/impeller_golden_tests_output.txt +++ b/testing/impeller_golden_tests_output.txt @@ -519,36 +519,6 @@ impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Vulkan.png impeller_Play_AiksTest_MaskBlurTexture_Metal.png impeller_Play_AiksTest_MaskBlurTexture_OpenGLES.png impeller_Play_AiksTest_MaskBlurTexture_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_Vulkan.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_Metal.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_OpenGLES.png -impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_Vulkan.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Metal.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_OpenGLES.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Vulkan.png From 6868bd4e72dcaa59df58e9e6dd2bcea253696ee9 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Fri, 8 Mar 2024 09:48:05 -0800 Subject: [PATCH 09/10] added removed goldens back --- testing/impeller_golden_tests_output.txt | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt index a674d9d17b04a..7da59594a013d 100644 --- a/testing/impeller_golden_tests_output.txt +++ b/testing/impeller_golden_tests_output.txt @@ -519,6 +519,36 @@ impeller_Play_AiksTest_LinearToSrgbFilterSubpassCollapseOptimization_Vulkan.png impeller_Play_AiksTest_MaskBlurTexture_Metal.png impeller_Play_AiksTest_MaskBlurTexture_OpenGLES.png impeller_Play_AiksTest_MaskBlurTexture_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucentWithBlurImageFilter_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestInnerTranslucent_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucentZeroSigma_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestNormalTranslucent_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestOuterOpaqueWithBlurImageFilter_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestOuterTranslucent_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidOpaque_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentExclusionBlend_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucentWithFilters_Vulkan.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Metal.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_OpenGLES.png +impeller_Play_AiksTest_MaskBlurVariantTestSolidTranslucent_Vulkan.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Metal.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_OpenGLES.png impeller_Play_AiksTest_MaskBlurWithZeroSigmaIsSkipped_Vulkan.png From 5c33bde421e4cfad8a2bff362adaa541261a6a86 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Fri, 8 Mar 2024 15:01:06 -0800 Subject: [PATCH 10/10] fixed merge conflict --- impeller/aiks/aiks_blur_unittests.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/impeller/aiks/aiks_blur_unittests.cc b/impeller/aiks/aiks_blur_unittests.cc index ee9795b75e8e8..34a7b7c112d10 100644 --- a/impeller/aiks/aiks_blur_unittests.cc +++ b/impeller/aiks/aiks_blur_unittests.cc @@ -835,6 +835,8 @@ TEST_P(AiksTest, GaussianBlurStyleSolid) { Paint red; red.color = Color::Red(); canvas.DrawRect(Rect::MakeXYWH(0, 0, 200, 200), red); + + ASSERT_TRUE(OpenPlaygroundHere(canvas.EndRecordingAsPicture())); } TEST_P(AiksTest, MaskBlurTexture) {