From 834157da9fb923de005f856fae7d7c7aeb85347c Mon Sep 17 00:00:00 2001 From: gaaclarke <30870216+gaaclarke@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:46:40 -0800 Subject: [PATCH] [Impeller] moved the kernel size assert to a more appropriate location. (flutter/engine#50880) This is the more appropriate location for the assert now. This is important if we want to fiddle with the downsample amount now the the kernel is effectively half as big. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style --- .../contents/filters/gaussian_blur_filter_contents.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc index 9df1ed5ec69..93d5dd760f3 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc @@ -173,9 +173,11 @@ fml::StatusOr MakeBlurSubpass( linear_sampler_descriptor)); GaussianBlurVertexShader::BindFrameInfo( pass, host_buffer.EmplaceUniform(frame_info)); + KernelPipeline::FragmentShader::KernelSamples kernel_samples = + LerpHackKernelSamples(GenerateBlurInfo(blur_info)); + FML_CHECK(kernel_samples.sample_count < kMaxKernelSize); GaussianBlurFragmentShader::BindKernelSamples( - pass, host_buffer.EmplaceUniform( - LerpHackKernelSamples(GenerateBlurInfo(blur_info)))); + pass, host_buffer.EmplaceUniform(kernel_samples)); return pass.Draw().ok(); }; if (destination_target.has_value()) { @@ -478,7 +480,6 @@ KernelPipeline::FragmentShader::KernelSamples GenerateBlurInfo( KernelPipeline::FragmentShader::KernelSamples result; result.sample_count = ((2 * parameters.blur_radius) / parameters.step_size) + 1; - FML_CHECK(result.sample_count < kMaxKernelSize); // Chop off the last samples if the radius >= 3 where they account for < 1.56% // of the result.