From f6ad43bf3d4201fb3a7dd602edaf8f1a2ca23929 Mon Sep 17 00:00:00 2001 From: Aaron Clarke Date: Tue, 28 Nov 2023 13:25:36 -0800 Subject: [PATCH] [Impeller] turned on new blur --- ...irectional_gaussian_blur_filter_contents.h | 3 ++ .../contents/filters/filter_contents.cc | 36 +++---------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/impeller/entity/contents/filters/directional_gaussian_blur_filter_contents.h b/impeller/entity/contents/filters/directional_gaussian_blur_filter_contents.h index 2ea5df044f2cb..548d1d409cf28 100644 --- a/impeller/entity/contents/filters/directional_gaussian_blur_filter_contents.h +++ b/impeller/entity/contents/filters/directional_gaussian_blur_filter_contents.h @@ -43,6 +43,9 @@ namespace impeller { /// - `FilterContents::MakeGaussianBlur` /// - //flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl /// +///\deprecated Previously 2 of these were chained to do 2D blurs, use +/// \ref GaussianBlurFilterContents instead since it has better +/// performance. class DirectionalGaussianBlurFilterContents final : public FilterContents { public: DirectionalGaussianBlurFilterContents(); diff --git a/impeller/entity/contents/filters/filter_contents.cc b/impeller/entity/contents/filters/filter_contents.cc index 5f2c310f78d9e..1122d8632d9eb 100644 --- a/impeller/entity/contents/filters/filter_contents.cc +++ b/impeller/entity/contents/filters/filter_contents.cc @@ -56,38 +56,10 @@ std::shared_ptr FilterContents::MakeGaussianBlur( Sigma sigma_y, BlurStyle blur_style, Entity::TileMode tile_mode) { - constexpr bool use_new_filter = -#ifdef IMPELLER_ENABLE_NEW_GAUSSIAN_FILTER - true; -#else - false; -#endif - - // TODO(https://github.com/flutter/flutter/issues/131580): Remove once the new - // blur handles all cases. - if (use_new_filter) { - auto blur = std::make_shared( - sigma_x.sigma, sigma_y.sigma, tile_mode); - blur->SetInputs({input}); - return blur; - } - std::shared_ptr x_blur = MakeDirectionalGaussianBlur( - /*input=*/input, - /*sigma=*/sigma_x, - /*direction=*/Point(1, 0), - /*blur_style=*/BlurStyle::kNormal, - /*tile_mode=*/tile_mode, - /*is_second_pass=*/false, - /*secondary_sigma=*/{}); - std::shared_ptr y_blur = MakeDirectionalGaussianBlur( - /*input=*/FilterInput::Make(x_blur), - /*sigma=*/sigma_y, - /*direction=*/Point(0, 1), - /*blur_style=*/blur_style, - /*tile_mode=*/tile_mode, - /*is_second_pass=*/true, - /*secondary_sigma=*/sigma_x); - return y_blur; + auto blur = std::make_shared( + sigma_x.sigma, sigma_y.sigma, tile_mode); + blur->SetInputs({input}); + return blur; } std::shared_ptr FilterContents::MakeBorderMaskBlur(