From 8d8fc753af71ac83505c01ad61ff2feddedb40a4 Mon Sep 17 00:00:00 2001 From: Jim Graham Date: Thu, 21 Dec 2023 13:59:50 -0800 Subject: [PATCH] [Impeller] Do not skip rendering when mask blur is zero (flutter/engine#49342) The original fix had a bad return value that caused the rendering to abort rather than proceed normally without the blurring. I also changed the color being used so that the contents would show up in golden diffs which use a white background for unrendered pixels. --- engine/src/flutter/impeller/aiks/aiks_unittests.cc | 2 +- engine/src/flutter/impeller/aiks/canvas.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/src/flutter/impeller/aiks/aiks_unittests.cc b/engine/src/flutter/impeller/aiks/aiks_unittests.cc index 0a62a13f9ad..3fe4f77b4ec 100644 --- a/engine/src/flutter/impeller/aiks/aiks_unittests.cc +++ b/engine/src/flutter/impeller/aiks/aiks_unittests.cc @@ -3768,7 +3768,7 @@ TEST_P(AiksTest, MaskBlurWithZeroSigmaIsSkipped) { Canvas canvas; Paint paint = { - .color = Color::White(), + .color = Color::Blue(), .mask_blur_descriptor = Paint::MaskBlurDescriptor{ .style = FilterContents::BlurStyle::kNormal, diff --git a/engine/src/flutter/impeller/aiks/canvas.cc b/engine/src/flutter/impeller/aiks/canvas.cc index 28c1ef21035..c5b9ae9e598 100644 --- a/engine/src/flutter/impeller/aiks/canvas.cc +++ b/engine/src/flutter/impeller/aiks/canvas.cc @@ -281,7 +281,7 @@ bool Canvas::AttemptDrawBlurredRRect(const Rect& rect, } // A blur sigma that is close to zero should not result in any shadow. if (std::fabs(paint.mask_blur_descriptor->sigma.sigma) <= kEhCloseEnough) { - return true; + return false; } Paint new_paint = paint;