From ac2117fc5bc852e79f3f8189ac8c3b59158d3595 Mon Sep 17 00:00:00 2001 From: Brandon DeRosier Date: Wed, 6 Sep 2023 15:46:52 -0700 Subject: [PATCH] [Impeller] Remove the current blur style implementation. --- ci/licenses_golden/licenses_flutter | 4 - impeller/entity/BUILD.gn | 2 - impeller/entity/contents/content_context.cc | 4 - impeller/entity/contents/content_context.h | 16 -- .../contents/filters/filter_contents.cc | 8 +- .../entity/contents/filters/filter_contents.h | 2 +- .../filters/gaussian_blur_filter_contents.cc | 100 +++--------- .../filters/gaussian_blur_filter_contents.h | 7 +- .../shaders/gaussian_blur/gaussian_blur.glsl | 26 ---- .../gaussian_blur_alpha_decal.frag | 10 -- .../gaussian_blur_alpha_nodecal.frag | 10 -- .../gaussian_blur_noalpha_decal.frag | 1 - .../gaussian_blur_noalpha_nodecal.frag | 1 - impeller/tools/malioc.json | 144 ------------------ 14 files changed, 24 insertions(+), 311 deletions(-) delete mode 100644 impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_decal.frag delete mode 100644 impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index b14618b5e2e92..3af68bf8a344d 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -1329,8 +1329,6 @@ ORIGIN: ../../../flutter/impeller/entity/shaders/debug/checkerboard.frag + ../.. ORIGIN: ../../../flutter/impeller/entity/shaders/debug/checkerboard.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_decal.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/geometry/points.comp + ../../../flutter/LICENSE @@ -4075,8 +4073,6 @@ FILE: ../../../flutter/impeller/entity/shaders/debug/checkerboard.frag FILE: ../../../flutter/impeller/entity/shaders/debug/checkerboard.vert FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur.vert -FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_decal.frag -FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag FILE: ../../../flutter/impeller/entity/shaders/geometry/points.comp diff --git a/impeller/entity/BUILD.gn b/impeller/entity/BUILD.gn index e4c76f9c9ffec..cf26434a97fb2 100644 --- a/impeller/entity/BUILD.gn +++ b/impeller/entity/BUILD.gn @@ -40,8 +40,6 @@ impeller_shaders("entity_shaders") { "shaders/color_matrix_color_filter.vert", "shaders/conical_gradient_fill.frag", "shaders/gaussian_blur/gaussian_blur.vert", - "shaders/gaussian_blur/gaussian_blur_alpha_decal.frag", - "shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag", "shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag", "shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag", "shaders/glyph_atlas.frag", diff --git a/impeller/entity/contents/content_context.cc b/impeller/entity/contents/content_context.cc index 010caac049458..65ef43e095403 100644 --- a/impeller/entity/contents/content_context.cc +++ b/impeller/entity/contents/content_context.cc @@ -282,10 +282,6 @@ ContentContext::ContentContext( CreateDefaultPipeline(*context_); tiled_texture_pipelines_[default_options_] = CreateDefaultPipeline(*context_); - gaussian_blur_alpha_decal_pipelines_[default_options_] = - CreateDefaultPipeline(*context_); - gaussian_blur_alpha_nodecal_pipelines_[default_options_] = - CreateDefaultPipeline(*context_); gaussian_blur_noalpha_decal_pipelines_[default_options_] = CreateDefaultPipeline(*context_); gaussian_blur_noalpha_nodecal_pipelines_[default_options_] = diff --git a/impeller/entity/contents/content_context.h b/impeller/entity/contents/content_context.h index c7ba78dfd7981..4cb547c15f0c9 100644 --- a/impeller/entity/contents/content_context.h +++ b/impeller/entity/contents/content_context.h @@ -63,8 +63,6 @@ #include "impeller/entity/yuv_to_rgb_filter.vert.h" #include "impeller/entity/gaussian_blur.vert.h" -#include "impeller/entity/gaussian_blur_alpha_decal.frag.h" -#include "impeller/entity/gaussian_blur_alpha_nodecal.frag.h" #include "impeller/entity/gaussian_blur_noalpha_decal.frag.h" #include "impeller/entity/gaussian_blur_noalpha_nodecal.frag.h" @@ -453,16 +451,6 @@ class ContentContext { return GetPipeline(tiled_texture_pipelines_, opts); } - std::shared_ptr> - GetGaussianBlurAlphaDecalPipeline(ContentContextOptions opts) const { - return GetPipeline(gaussian_blur_alpha_decal_pipelines_, opts); - } - - std::shared_ptr> GetGaussianBlurAlphaPipeline( - ContentContextOptions opts) const { - return GetPipeline(gaussian_blur_alpha_nodecal_pipelines_, opts); - } - std::shared_ptr> GetGaussianBlurDecalPipeline( ContentContextOptions opts) const { return GetPipeline(gaussian_blur_noalpha_decal_pipelines_, opts); @@ -772,10 +760,6 @@ class ContentContext { #endif // IMPELLER_ENABLE_OPENGLES mutable Variants position_uv_pipelines_; mutable Variants tiled_texture_pipelines_; - mutable Variants - gaussian_blur_alpha_decal_pipelines_; - mutable Variants - gaussian_blur_alpha_nodecal_pipelines_; mutable Variants gaussian_blur_noalpha_decal_pipelines_; mutable Variants diff --git a/impeller/entity/contents/filters/filter_contents.cc b/impeller/entity/contents/filters/filter_contents.cc index 91ef1f0aaffc8..02ba98f022439 100644 --- a/impeller/entity/contents/filters/filter_contents.cc +++ b/impeller/entity/contents/filters/filter_contents.cc @@ -36,7 +36,7 @@ std::shared_ptr FilterContents::MakeDirectionalGaussianBlur( Vector2 direction, BlurStyle blur_style, Entity::TileMode tile_mode, - FilterInput::Ref source_override, + bool is_second_pass, Sigma secondary_sigma, const Matrix& effect_transform) { auto blur = std::make_shared(); @@ -45,7 +45,7 @@ std::shared_ptr FilterContents::MakeDirectionalGaussianBlur( blur->SetDirection(direction); blur->SetBlurStyle(blur_style); blur->SetTileMode(tile_mode); - blur->SetSourceOverride(std::move(source_override)); + blur->SetIsSecondPass(is_second_pass); blur->SetSecondarySigma(secondary_sigma); blur->SetEffectTransform(effect_transform); return blur; @@ -60,10 +60,10 @@ std::shared_ptr FilterContents::MakeGaussianBlur( const Matrix& effect_transform) { auto x_blur = MakeDirectionalGaussianBlur(input, sigma_x, Point(1, 0), BlurStyle::kNormal, tile_mode, - nullptr, {}, effect_transform); + false, {}, effect_transform); auto y_blur = MakeDirectionalGaussianBlur(FilterInput::Make(x_blur), sigma_y, Point(0, 1), blur_style, tile_mode, - input, sigma_x, effect_transform); + true, sigma_x, effect_transform); return y_blur; } diff --git a/impeller/entity/contents/filters/filter_contents.h b/impeller/entity/contents/filters/filter_contents.h index 739f6531207a6..35d135ab9da23 100644 --- a/impeller/entity/contents/filters/filter_contents.h +++ b/impeller/entity/contents/filters/filter_contents.h @@ -37,7 +37,7 @@ class FilterContents : public Contents { Vector2 direction, BlurStyle blur_style = BlurStyle::kNormal, Entity::TileMode tile_mode = Entity::TileMode::kDecal, - FilterInput::Ref alpha_mask = nullptr, + bool is_second_pass = false, Sigma secondary_sigma = {}, const Matrix& effect_transform = Matrix()); diff --git a/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc b/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc index 16552f0f8fdc3..8e3c9569305bf 100644 --- a/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc +++ b/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc @@ -46,29 +46,6 @@ void DirectionalGaussianBlurFilterContents::SetDirection(Vector2 direction) { void DirectionalGaussianBlurFilterContents::SetBlurStyle(BlurStyle blur_style) { blur_style_ = blur_style; - - switch (blur_style) { - case FilterContents::BlurStyle::kNormal: - src_color_factor_ = false; - inner_blur_factor_ = true; - outer_blur_factor_ = true; - break; - case FilterContents::BlurStyle::kSolid: - src_color_factor_ = true; - inner_blur_factor_ = false; - outer_blur_factor_ = true; - break; - case FilterContents::BlurStyle::kOuter: - src_color_factor_ = false; - inner_blur_factor_ = false; - outer_blur_factor_ = true; - break; - case FilterContents::BlurStyle::kInner: - src_color_factor_ = false; - inner_blur_factor_ = true; - outer_blur_factor_ = false; - break; - } } void DirectionalGaussianBlurFilterContents::SetTileMode( @@ -76,9 +53,9 @@ void DirectionalGaussianBlurFilterContents::SetTileMode( tile_mode_ = tile_mode; } -void DirectionalGaussianBlurFilterContents::SetSourceOverride( - FilterInput::Ref source_override) { - source_override_ = std::move(source_override); +void DirectionalGaussianBlurFilterContents::SetIsSecondPass( + bool is_second_pass) { + is_second_pass_ = is_second_pass; } std::optional DirectionalGaussianBlurFilterContents::RenderFilter( @@ -88,10 +65,8 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( const Matrix& effect_transform, const Rect& coverage, const std::optional& coverage_hint) const { - using VS = GaussianBlurAlphaDecalPipeline::VertexShader; - using FS = GaussianBlurAlphaDecalPipeline::FragmentShader; - - bool is_first_pass = !source_override_; + using VS = GaussianBlurPipeline::VertexShader; + using FS = GaussianBlurPipeline::FragmentShader; //---------------------------------------------------------------------------- /// Handle inputs. @@ -118,9 +93,9 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( Size(transformed_blur_radius_length, transformed_blur_radius_length) .Abs(); expanded_coverage_hint = - is_first_pass ? Rect(coverage_hint.value().origin - r, - Size(coverage_hint.value().size + r * 2)) - : coverage_hint; + is_second_pass_ ? coverage_hint + : Rect(coverage_hint.value().origin - r, + Size(coverage_hint.value().size + r * 2)); } auto input_snapshot = inputs[0]->GetSnapshot("GaussianBlur", renderer, entity, expanded_coverage_hint); @@ -160,15 +135,6 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( pass_texture_rect.origin.x -= transformed_blur_radius_length; pass_texture_rect.size.width += transformed_blur_radius_length * 2; - // Source override snapshot. - - auto source = source_override_ ? source_override_ : inputs[0]; - auto source_snapshot = source->GetSnapshot("GaussianBlur(Override)", renderer, - entity, GetCoverageHint()); - if (!source_snapshot.has_value()) { - return std::nullopt; - } - // UV mapping. auto pass_uv_project = [&texture_rotate, @@ -180,8 +146,6 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( auto input_uvs = pass_uv_project(input_snapshot.value()); - auto source_uvs = pass_uv_project(source_snapshot.value()); - //---------------------------------------------------------------------------- /// Render to texture. /// @@ -193,12 +157,12 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( VertexBufferBuilder vtx_builder; vtx_builder.AddVertices({ - {Point(0, 0), input_uvs[0], source_uvs[0]}, - {Point(1, 0), input_uvs[1], source_uvs[1]}, - {Point(1, 1), input_uvs[3], source_uvs[3]}, - {Point(0, 0), input_uvs[0], source_uvs[0]}, - {Point(1, 1), input_uvs[3], source_uvs[3]}, - {Point(0, 1), input_uvs[2], source_uvs[2]}, + {Point(0, 0), input_uvs[0]}, + {Point(1, 0), input_uvs[1]}, + {Point(1, 1), input_uvs[3]}, + {Point(0, 0), input_uvs[0]}, + {Point(1, 1), input_uvs[3]}, + {Point(0, 1), input_uvs[2]}, }); auto vtx_buffer = vtx_builder.CreateVertexBuffer(host_buffer); @@ -206,8 +170,6 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( frame_info.mvp = Matrix::MakeOrthographic(ISize(1, 1)); frame_info.texture_sampler_y_coord_scale = input_snapshot->texture->GetYCoordScale(); - frame_info.alpha_mask_sampler_y_coord_scale = - source_snapshot->texture->GetYCoordScale(); FS::BlurInfo frag_info; auto r = Radius{transformed_blur_radius_length}; @@ -227,50 +189,35 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( auto options = OptionsFromPass(pass); options.blend_mode = BlendMode::kSource; auto input_descriptor = input_snapshot->sampler_descriptor; - auto source_descriptor = source_snapshot->sampler_descriptor; switch (tile_mode_) { case Entity::TileMode::kDecal: if (renderer.GetDeviceCapabilities() .SupportsDecalSamplerAddressMode()) { input_descriptor.width_address_mode = SamplerAddressMode::kDecal; input_descriptor.height_address_mode = SamplerAddressMode::kDecal; - source_descriptor.width_address_mode = SamplerAddressMode::kDecal; - source_descriptor.height_address_mode = SamplerAddressMode::kDecal; } break; case Entity::TileMode::kClamp: input_descriptor.width_address_mode = SamplerAddressMode::kClampToEdge; input_descriptor.height_address_mode = SamplerAddressMode::kClampToEdge; - source_descriptor.width_address_mode = SamplerAddressMode::kClampToEdge; - source_descriptor.height_address_mode = - SamplerAddressMode::kClampToEdge; break; case Entity::TileMode::kMirror: input_descriptor.width_address_mode = SamplerAddressMode::kMirror; input_descriptor.height_address_mode = SamplerAddressMode::kMirror; - source_descriptor.width_address_mode = SamplerAddressMode::kMirror; - source_descriptor.height_address_mode = SamplerAddressMode::kMirror; break; case Entity::TileMode::kRepeat: input_descriptor.width_address_mode = SamplerAddressMode::kRepeat; input_descriptor.height_address_mode = SamplerAddressMode::kRepeat; - source_descriptor.width_address_mode = SamplerAddressMode::kRepeat; - source_descriptor.height_address_mode = SamplerAddressMode::kRepeat; break; } input_descriptor.mag_filter = MinMagFilter::kLinear; input_descriptor.min_filter = MinMagFilter::kLinear; - bool has_alpha_mask = blur_style_ != BlurStyle::kNormal; bool has_decal_specialization = tile_mode_ == Entity::TileMode::kDecal && !renderer.GetDeviceCapabilities().SupportsDecalSamplerAddressMode(); - if (has_alpha_mask && has_decal_specialization) { - cmd.pipeline = renderer.GetGaussianBlurAlphaDecalPipeline(options); - } else if (has_alpha_mask) { - cmd.pipeline = renderer.GetGaussianBlurAlphaPipeline(options); - } else if (has_decal_specialization) { + if (has_decal_specialization) { cmd.pipeline = renderer.GetGaussianBlurDecalPipeline(options); } else { cmd.pipeline = renderer.GetGaussianBlurPipeline(options); @@ -283,19 +230,6 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( VS::BindFrameInfo(cmd, host_buffer.EmplaceUniform(frame_info)); FS::BindBlurInfo(cmd, host_buffer.EmplaceUniform(frag_info)); - if (has_alpha_mask) { - FS::MaskInfo mask_info; - mask_info.src_factor = src_color_factor_; - mask_info.inner_blur_factor = inner_blur_factor_; - mask_info.outer_blur_factor = outer_blur_factor_; - - FS::BindAlphaMaskSampler( - cmd, source_snapshot->texture, - renderer.GetContext()->GetSamplerLibrary()->GetSampler( - source_descriptor)); - FS::BindMaskInfo(cmd, host_buffer.EmplaceUniform(mask_info)); - } - return pass.AddCommand(std::move(cmd)); }; @@ -310,8 +244,8 @@ std::optional DirectionalGaussianBlurFilterContents::RenderFilter( { scale.x = scale_curve(transformed_blur_radius_length); - Scalar y_radius = std::abs(pass_transform.GetDirectionScale( - Vector2(0, !is_first_pass ? Radius{secondary_blur_sigma_}.radius : 1))); + Scalar y_radius = std::abs(pass_transform.GetDirectionScale(Vector2( + 0, !is_second_pass_ ? 1 : Radius{secondary_blur_sigma_}.radius))); scale.y = scale_curve(y_radius); } diff --git a/impeller/entity/contents/filters/gaussian_blur_filter_contents.h b/impeller/entity/contents/filters/gaussian_blur_filter_contents.h index 1f4ef1f450605..f65ad914cfb4c 100644 --- a/impeller/entity/contents/filters/gaussian_blur_filter_contents.h +++ b/impeller/entity/contents/filters/gaussian_blur_filter_contents.h @@ -27,7 +27,7 @@ class DirectionalGaussianBlurFilterContents final : public FilterContents { void SetTileMode(Entity::TileMode tile_mode); - void SetSourceOverride(FilterInput::Ref alpha_mask); + void SetIsSecondPass(bool is_second_pass); // |FilterContents| std::optional GetFilterCoverage( @@ -49,10 +49,7 @@ class DirectionalGaussianBlurFilterContents final : public FilterContents { Vector2 blur_direction_; BlurStyle blur_style_ = BlurStyle::kNormal; Entity::TileMode tile_mode_ = Entity::TileMode::kDecal; - bool src_color_factor_ = false; - bool inner_blur_factor_ = true; - bool outer_blur_factor_ = true; - FilterInput::Ref source_override_; + bool is_second_pass_ = false; FML_DISALLOW_COPY_AND_ASSIGN(DirectionalGaussianBlurFilterContents); }; diff --git a/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl b/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl index 61724020d4445..d18bf6c3d1ae7 100644 --- a/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl +++ b/impeller/entity/shaders/gaussian_blur/gaussian_blur.glsl @@ -32,17 +32,6 @@ uniform BlurInfo { } blur_info; -#if ENABLE_ALPHA_MASK -uniform f16sampler2D alpha_mask_sampler; - -uniform MaskInfo { - float16_t src_factor; - float16_t inner_blur_factor; - float16_t outer_blur_factor; -} -mask_info; -#endif - f16vec4 Sample(f16sampler2D tex, vec2 coords) { #if ENABLE_DECAL_SPECIALIZATION return IPHalfSampleDecal(tex, coords); @@ -76,19 +65,4 @@ void main() { } frag_color = total_color / gaussian_integral; - -#if ENABLE_ALPHA_MASK - f16vec4 src_color = Sample(alpha_mask_sampler, // sampler - v_src_texture_coords // texture coordinates - ); - - float16_t blur_factor; - if (src_color.a > 0.0hf) { - blur_factor = mask_info.inner_blur_factor; - } else if (src_color.a == 0.0hf) { - blur_factor = mask_info.outer_blur_factor; - } - - frag_color = frag_color * blur_factor + src_color * mask_info.src_factor; -#endif } diff --git a/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_decal.frag b/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_decal.frag deleted file mode 100644 index 265b1b972875c..0000000000000 --- a/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_decal.frag +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -precision mediump float; - -#define ENABLE_ALPHA_MASK 1 -#define ENABLE_DECAL_SPECIALIZATION 1 - -#include "gaussian_blur.glsl" diff --git a/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag b/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag deleted file mode 100644 index 0d955ce49ab5c..0000000000000 --- a/impeller/entity/shaders/gaussian_blur/gaussian_blur_alpha_nodecal.frag +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -precision mediump float; - -#define ENABLE_ALPHA_MASK 1 -#define ENABLE_DECAL_SPECIALIZATION 0 - -#include "gaussian_blur.glsl" diff --git a/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag b/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag index 9d70d09a228f8..7bb1045e19dbc 100644 --- a/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag +++ b/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_decal.frag @@ -4,7 +4,6 @@ precision mediump float; -#define ENABLE_ALPHA_MASK 0 #define ENABLE_DECAL_SPECIALIZATION 1 #include "gaussian_blur.glsl" diff --git a/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag b/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag index aa1943c0d5456..79d708e1dae36 100644 --- a/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag +++ b/impeller/entity/shaders/gaussian_blur/gaussian_blur_noalpha_nodecal.frag @@ -4,7 +4,6 @@ precision mediump float; -#define ENABLE_ALPHA_MASK 0 #define ENABLE_DECAL_SPECIALIZATION 0 #include "gaussian_blur.glsl" diff --git a/impeller/tools/malioc.json b/impeller/tools/malioc.json index 3fa01c48f9fbb..bb45a96a41feb 100644 --- a/impeller/tools/malioc.json +++ b/impeller/tools/malioc.json @@ -3495,150 +3495,6 @@ } } }, - "flutter/impeller/entity/gaussian_blur_alpha_decal.frag.vkspv": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/gaussian_blur_alpha_decal.frag.vkspv", - "has_side_effects": false, - "has_uniform_computation": true, - "modifies_coverage": false, - "reads_color_buffer": false, - "type": "Fragment", - "uses_late_zs_test": false, - "uses_late_zs_update": false, - "variants": { - "Main": { - "fp16_arithmetic": 53, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - null - ], - "longest_path_cycles": [ - null, - null, - null, - null, - null, - null, - null - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "varying", - "texture" - ], - "shortest_path_bound_pipelines": [ - "arith_total", - "arith_cvt" - ], - "shortest_path_cycles": [ - 0.328125, - 0.078125, - 0.328125, - 0.25, - 0.0, - 0.25, - 0.0 - ], - "total_bound_pipelines": [ - "arith_total", - "arith_cvt" - ], - "total_cycles": [ - 0.609375, - 0.25, - 0.609375, - 0.5, - 0.0, - 0.5, - 0.5 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 12, - "work_registers_used": 21 - } - } - } - }, - "flutter/impeller/entity/gaussian_blur_alpha_nodecal.frag.vkspv": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/gaussian_blur_alpha_nodecal.frag.vkspv", - "has_side_effects": false, - "has_uniform_computation": true, - "modifies_coverage": false, - "reads_color_buffer": false, - "type": "Fragment", - "uses_late_zs_test": false, - "uses_late_zs_update": false, - "variants": { - "Main": { - "fp16_arithmetic": 45, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - null - ], - "longest_path_cycles": [ - null, - null, - null, - null, - null, - null, - null - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "varying", - "texture" - ], - "shortest_path_bound_pipelines": [ - "varying", - "texture" - ], - "shortest_path_cycles": [ - 0.1875, - 0.078125, - 0.1875, - 0.0625, - 0.0, - 0.25, - 0.25 - ], - "total_bound_pipelines": [ - "varying", - "texture" - ], - "total_cycles": [ - 0.34375, - 0.25, - 0.34375, - 0.125, - 0.0, - 0.5, - 0.5 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 14, - "work_registers_used": 14 - } - } - } - }, "flutter/impeller/entity/gaussian_blur_noalpha_decal.frag.vkspv": { "Mali-G78": { "core": "Mali-G78",