From af2decb6d9fb970e933f2b66fa27f24116d15a28 Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Sun, 14 Apr 2024 09:23:58 -0700 Subject: [PATCH 1/2] [Impeller] organize shaders a bit, make filter shaders use same vertex source. --- impeller/entity/BUILD.gn | 35 +++++++++---------- impeller/entity/contents/content_context.h | 18 +++------- .../color_matrix_color_filter.frag | 0 .../filter.vert} | 0 .../{ => filters}/linear_to_srgb_filter.frag | 0 .../{ => filters}/morphology_filter.frag | 0 .../{ => filters}/morphology_filter.vert | 0 .../{ => filters}/srgb_to_linear_filter.frag | 0 .../{ => filters}/yuv_to_rgb_filter.frag | 0 .../conical_gradient_fill.frag | 0 .../conical_gradient_ssbo_fill.frag | 0 .../{ => gradients}/gradient_fill.vert | 0 .../{ => gradients}/linear_gradient_fill.frag | 0 .../linear_gradient_ssbo_fill.frag | 0 .../{ => gradients}/radial_gradient_fill.frag | 0 .../radial_gradient_ssbo_fill.frag | 0 .../{ => gradients}/sweep_gradient_fill.frag | 0 .../sweep_gradient_ssbo_fill.frag | 0 .../entity/shaders/linear_to_srgb_filter.vert | 22 ------------ .../entity/shaders/srgb_to_linear_filter.vert | 22 ------------ .../entity/shaders/yuv_to_rgb_filter.vert | 22 ------------ 21 files changed, 21 insertions(+), 98 deletions(-) rename impeller/entity/shaders/{ => filters}/color_matrix_color_filter.frag (100%) rename impeller/entity/shaders/{color_matrix_color_filter.vert => filters/filter.vert} (100%) rename impeller/entity/shaders/{ => filters}/linear_to_srgb_filter.frag (100%) rename impeller/entity/shaders/{ => filters}/morphology_filter.frag (100%) rename impeller/entity/shaders/{ => filters}/morphology_filter.vert (100%) rename impeller/entity/shaders/{ => filters}/srgb_to_linear_filter.frag (100%) rename impeller/entity/shaders/{ => filters}/yuv_to_rgb_filter.frag (100%) rename impeller/entity/shaders/{ => gradients}/conical_gradient_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/conical_gradient_ssbo_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/gradient_fill.vert (100%) rename impeller/entity/shaders/{ => gradients}/linear_gradient_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/linear_gradient_ssbo_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/radial_gradient_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/radial_gradient_ssbo_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/sweep_gradient_fill.frag (100%) rename impeller/entity/shaders/{ => gradients}/sweep_gradient_ssbo_fill.frag (100%) delete mode 100644 impeller/entity/shaders/linear_to_srgb_filter.vert delete mode 100644 impeller/entity/shaders/srgb_to_linear_filter.vert delete mode 100644 impeller/entity/shaders/yuv_to_rgb_filter.vert diff --git a/impeller/entity/BUILD.gn b/impeller/entity/BUILD.gn index 82b208479f146..d2c3428fd1a59 100644 --- a/impeller/entity/BUILD.gn +++ b/impeller/entity/BUILD.gn @@ -22,31 +22,23 @@ impeller_shaders("entity_shaders") { "shaders/border_mask_blur.vert", "shaders/clip.frag", "shaders/clip.vert", - "shaders/color_matrix_color_filter.frag", - "shaders/color_matrix_color_filter.vert", - "shaders/conical_gradient_fill.frag", + "shaders/gradients/conical_gradient_fill.frag", "shaders/gaussian_blur/kernel_decal.frag", "shaders/gaussian_blur/kernel_nodecal.frag", "shaders/gaussian_blur/kernel.vert", "shaders/glyph_atlas.frag", "shaders/glyph_atlas_color.frag", "shaders/glyph_atlas.vert", - "shaders/gradient_fill.vert", - "shaders/linear_to_srgb_filter.frag", - "shaders/linear_to_srgb_filter.vert", - "shaders/linear_gradient_fill.frag", - "shaders/morphology_filter.frag", - "shaders/morphology_filter.vert", + "shaders/gradients/gradient_fill.vert", + "shaders/gradients/linear_gradient_fill.frag", "shaders/position_color.vert", - "shaders/radial_gradient_fill.frag", + "shaders/gradients/radial_gradient_fill.frag", "shaders/rrect_blur.vert", "shaders/rrect_blur.frag", "shaders/runtime_effect.vert", "shaders/solid_fill.frag", "shaders/solid_fill.vert", - "shaders/srgb_to_linear_filter.frag", - "shaders/srgb_to_linear_filter.vert", - "shaders/sweep_gradient_fill.frag", + "shaders/gradients/sweep_gradient_fill.frag", "shaders/texture_fill.frag", "shaders/texture_fill.vert", "shaders/texture_fill_external.frag", @@ -54,10 +46,15 @@ impeller_shaders("entity_shaders") { "shaders/tiled_texture_fill.frag", "shaders/tiled_texture_fill_external.frag", "shaders/vertices.frag", - "shaders/yuv_to_rgb_filter.frag", - "shaders/yuv_to_rgb_filter.vert", "shaders/blending/porter_duff_blend.frag", "shaders/blending/porter_duff_blend.vert", + "shaders/filters/color_matrix_color_filter.frag", + "shaders/filters/filter.vert", + "shaders/filters/yuv_to_rgb_filter.frag", + "shaders/filters/srgb_to_linear_filter.frag", + "shaders/filters/linear_to_srgb_filter.frag", + "shaders/filters/morphology_filter.frag", + "shaders/filters/morphology_filter.vert", ] if (impeller_debug) { @@ -80,10 +77,10 @@ impeller_shaders("modern_entity_shaders") { } shaders = [ - "shaders/conical_gradient_ssbo_fill.frag", - "shaders/linear_gradient_ssbo_fill.frag", - "shaders/radial_gradient_ssbo_fill.frag", - "shaders/sweep_gradient_ssbo_fill.frag", + "shaders/gradients/conical_gradient_ssbo_fill.frag", + "shaders/gradients/linear_gradient_ssbo_fill.frag", + "shaders/gradients/radial_gradient_ssbo_fill.frag", + "shaders/gradients/sweep_gradient_ssbo_fill.frag", "shaders/geometry/points.comp", "shaders/geometry/uv.comp", ] diff --git a/impeller/entity/contents/content_context.h b/impeller/entity/contents/content_context.h index 3378c30472b60..78728839a3461 100644 --- a/impeller/entity/contents/content_context.h +++ b/impeller/entity/contents/content_context.h @@ -36,15 +36,14 @@ #include "impeller/entity/clip.frag.h" #include "impeller/entity/clip.vert.h" #include "impeller/entity/color_matrix_color_filter.frag.h" -#include "impeller/entity/color_matrix_color_filter.vert.h" #include "impeller/entity/conical_gradient_fill.frag.h" +#include "impeller/entity/filter.vert.h" #include "impeller/entity/glyph_atlas.frag.h" #include "impeller/entity/glyph_atlas.vert.h" #include "impeller/entity/glyph_atlas_color.frag.h" #include "impeller/entity/gradient_fill.vert.h" #include "impeller/entity/linear_gradient_fill.frag.h" #include "impeller/entity/linear_to_srgb_filter.frag.h" -#include "impeller/entity/linear_to_srgb_filter.vert.h" #include "impeller/entity/morphology_filter.frag.h" #include "impeller/entity/morphology_filter.vert.h" #include "impeller/entity/points.comp.h" @@ -56,7 +55,6 @@ #include "impeller/entity/solid_fill.frag.h" #include "impeller/entity/solid_fill.vert.h" #include "impeller/entity/srgb_to_linear_filter.frag.h" -#include "impeller/entity/srgb_to_linear_filter.vert.h" #include "impeller/entity/sweep_gradient_fill.frag.h" #include "impeller/entity/texture_fill.frag.h" #include "impeller/entity/texture_fill.vert.h" @@ -65,7 +63,6 @@ #include "impeller/entity/uv.comp.h" #include "impeller/entity/vertices.frag.h" #include "impeller/entity/yuv_to_rgb_filter.frag.h" -#include "impeller/entity/yuv_to_rgb_filter.vert.h" #include "impeller/entity/kernel.vert.h" #include "impeller/entity/kernel_decal.frag.h" @@ -147,28 +144,23 @@ using MorphologyFilterPipeline = RenderPipelineT; using ColorMatrixColorFilterPipeline = - RenderPipelineT; + RenderPipelineT; using LinearToSrgbFilterPipeline = - RenderPipelineT; + RenderPipelineT; using SrgbToLinearFilterPipeline = - RenderPipelineT; + RenderPipelineT; using GlyphAtlasPipeline = RenderPipelineT; using GlyphAtlasColorPipeline = RenderPipelineT; using PorterDuffBlendPipeline = RenderPipelineT; -// Instead of requiring new shaders for clips, the solid fill stages are used -// to redirect writing to the stencil instead of color attachments. using ClipPipeline = RenderPipelineT; using GeometryColorPipeline = RenderPipelineT; using YUVToRGBFilterPipeline = - RenderPipelineT; + RenderPipelineT; // Advanced blends using BlendColorPipeline = diff --git a/impeller/entity/shaders/color_matrix_color_filter.frag b/impeller/entity/shaders/filters/color_matrix_color_filter.frag similarity index 100% rename from impeller/entity/shaders/color_matrix_color_filter.frag rename to impeller/entity/shaders/filters/color_matrix_color_filter.frag diff --git a/impeller/entity/shaders/color_matrix_color_filter.vert b/impeller/entity/shaders/filters/filter.vert similarity index 100% rename from impeller/entity/shaders/color_matrix_color_filter.vert rename to impeller/entity/shaders/filters/filter.vert diff --git a/impeller/entity/shaders/linear_to_srgb_filter.frag b/impeller/entity/shaders/filters/linear_to_srgb_filter.frag similarity index 100% rename from impeller/entity/shaders/linear_to_srgb_filter.frag rename to impeller/entity/shaders/filters/linear_to_srgb_filter.frag diff --git a/impeller/entity/shaders/morphology_filter.frag b/impeller/entity/shaders/filters/morphology_filter.frag similarity index 100% rename from impeller/entity/shaders/morphology_filter.frag rename to impeller/entity/shaders/filters/morphology_filter.frag diff --git a/impeller/entity/shaders/morphology_filter.vert b/impeller/entity/shaders/filters/morphology_filter.vert similarity index 100% rename from impeller/entity/shaders/morphology_filter.vert rename to impeller/entity/shaders/filters/morphology_filter.vert diff --git a/impeller/entity/shaders/srgb_to_linear_filter.frag b/impeller/entity/shaders/filters/srgb_to_linear_filter.frag similarity index 100% rename from impeller/entity/shaders/srgb_to_linear_filter.frag rename to impeller/entity/shaders/filters/srgb_to_linear_filter.frag diff --git a/impeller/entity/shaders/yuv_to_rgb_filter.frag b/impeller/entity/shaders/filters/yuv_to_rgb_filter.frag similarity index 100% rename from impeller/entity/shaders/yuv_to_rgb_filter.frag rename to impeller/entity/shaders/filters/yuv_to_rgb_filter.frag diff --git a/impeller/entity/shaders/conical_gradient_fill.frag b/impeller/entity/shaders/gradients/conical_gradient_fill.frag similarity index 100% rename from impeller/entity/shaders/conical_gradient_fill.frag rename to impeller/entity/shaders/gradients/conical_gradient_fill.frag diff --git a/impeller/entity/shaders/conical_gradient_ssbo_fill.frag b/impeller/entity/shaders/gradients/conical_gradient_ssbo_fill.frag similarity index 100% rename from impeller/entity/shaders/conical_gradient_ssbo_fill.frag rename to impeller/entity/shaders/gradients/conical_gradient_ssbo_fill.frag diff --git a/impeller/entity/shaders/gradient_fill.vert b/impeller/entity/shaders/gradients/gradient_fill.vert similarity index 100% rename from impeller/entity/shaders/gradient_fill.vert rename to impeller/entity/shaders/gradients/gradient_fill.vert diff --git a/impeller/entity/shaders/linear_gradient_fill.frag b/impeller/entity/shaders/gradients/linear_gradient_fill.frag similarity index 100% rename from impeller/entity/shaders/linear_gradient_fill.frag rename to impeller/entity/shaders/gradients/linear_gradient_fill.frag diff --git a/impeller/entity/shaders/linear_gradient_ssbo_fill.frag b/impeller/entity/shaders/gradients/linear_gradient_ssbo_fill.frag similarity index 100% rename from impeller/entity/shaders/linear_gradient_ssbo_fill.frag rename to impeller/entity/shaders/gradients/linear_gradient_ssbo_fill.frag diff --git a/impeller/entity/shaders/radial_gradient_fill.frag b/impeller/entity/shaders/gradients/radial_gradient_fill.frag similarity index 100% rename from impeller/entity/shaders/radial_gradient_fill.frag rename to impeller/entity/shaders/gradients/radial_gradient_fill.frag diff --git a/impeller/entity/shaders/radial_gradient_ssbo_fill.frag b/impeller/entity/shaders/gradients/radial_gradient_ssbo_fill.frag similarity index 100% rename from impeller/entity/shaders/radial_gradient_ssbo_fill.frag rename to impeller/entity/shaders/gradients/radial_gradient_ssbo_fill.frag diff --git a/impeller/entity/shaders/sweep_gradient_fill.frag b/impeller/entity/shaders/gradients/sweep_gradient_fill.frag similarity index 100% rename from impeller/entity/shaders/sweep_gradient_fill.frag rename to impeller/entity/shaders/gradients/sweep_gradient_fill.frag diff --git a/impeller/entity/shaders/sweep_gradient_ssbo_fill.frag b/impeller/entity/shaders/gradients/sweep_gradient_ssbo_fill.frag similarity index 100% rename from impeller/entity/shaders/sweep_gradient_ssbo_fill.frag rename to impeller/entity/shaders/gradients/sweep_gradient_ssbo_fill.frag diff --git a/impeller/entity/shaders/linear_to_srgb_filter.vert b/impeller/entity/shaders/linear_to_srgb_filter.vert deleted file mode 100644 index 5a631d8b1f039..0000000000000 --- a/impeller/entity/shaders/linear_to_srgb_filter.vert +++ /dev/null @@ -1,22 +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. - -#include -#include - -uniform FrameInfo { - mat4 mvp; - float texture_sampler_y_coord_scale; -} -frame_info; - -in vec2 position; - -out vec2 v_texture_coords; - -void main() { - gl_Position = frame_info.mvp * vec4(position, 0.0, 1.0); - v_texture_coords = - IPRemapCoords(position, frame_info.texture_sampler_y_coord_scale); -} diff --git a/impeller/entity/shaders/srgb_to_linear_filter.vert b/impeller/entity/shaders/srgb_to_linear_filter.vert deleted file mode 100644 index 5a631d8b1f039..0000000000000 --- a/impeller/entity/shaders/srgb_to_linear_filter.vert +++ /dev/null @@ -1,22 +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. - -#include -#include - -uniform FrameInfo { - mat4 mvp; - float texture_sampler_y_coord_scale; -} -frame_info; - -in vec2 position; - -out vec2 v_texture_coords; - -void main() { - gl_Position = frame_info.mvp * vec4(position, 0.0, 1.0); - v_texture_coords = - IPRemapCoords(position, frame_info.texture_sampler_y_coord_scale); -} diff --git a/impeller/entity/shaders/yuv_to_rgb_filter.vert b/impeller/entity/shaders/yuv_to_rgb_filter.vert deleted file mode 100644 index 5a631d8b1f039..0000000000000 --- a/impeller/entity/shaders/yuv_to_rgb_filter.vert +++ /dev/null @@ -1,22 +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. - -#include -#include - -uniform FrameInfo { - mat4 mvp; - float texture_sampler_y_coord_scale; -} -frame_info; - -in vec2 position; - -out vec2 v_texture_coords; - -void main() { - gl_Position = frame_info.mvp * vec4(position, 0.0, 1.0); - v_texture_coords = - IPRemapCoords(position, frame_info.texture_sampler_y_coord_scale); -} From beeb3f63a2493575fd747ad320e711054bab3236 Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Sun, 14 Apr 2024 20:01:34 -0700 Subject: [PATCH 2/2] licenses and malioc. --- ci/licenses_golden/licenses_flutter | 70 +- impeller/tools/malioc.json | 1487 ++++++--------------------- 2 files changed, 372 insertions(+), 1185 deletions(-) diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 5c4a81d485eca..0440cdc1c9d22 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -40031,12 +40031,15 @@ ORIGIN: ../../../flutter/impeller/entity/shaders/border_mask_blur.frag + ../../. ORIGIN: ../../../flutter/impeller/entity/shaders/border_mask_blur.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/clip.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/clip.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/color_matrix_color_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/color_matrix_color_filter.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/conical_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/conical_gradient_ssbo_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/debug/checkerboard.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/debug/checkerboard.vert + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/color_matrix_color_filter.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/filter.vert + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/linear_to_srgb_filter.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/morphology_filter.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/morphology_filter.vert + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/srgb_to_linear_filter.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/filters/yuv_to_rgb_filter.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/kernel.glsl + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/kernel.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/gaussian_blur/kernel_decal.frag + ../../../flutter/LICENSE @@ -40046,25 +40049,21 @@ ORIGIN: ../../../flutter/impeller/entity/shaders/geometry/uv.comp + ../../../flu ORIGIN: ../../../flutter/impeller/entity/shaders/glyph_atlas.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/glyph_atlas.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/glyph_atlas_color.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradient_fill.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/linear_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/linear_gradient_ssbo_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/linear_to_srgb_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/linear_to_srgb_filter.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/morphology_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/morphology_filter.vert + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_ssbo_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/gradient_fill.vert + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_ssbo_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_ssbo_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_fill.frag + ../../../flutter/LICENSE +ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_ssbo_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/position_color.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/radial_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/radial_gradient_ssbo_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/rrect_blur.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/rrect_blur.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/runtime_effect.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/solid_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/solid_fill.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/srgb_to_linear_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/srgb_to_linear_filter.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/sweep_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/sweep_gradient_ssbo_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill_external.frag + ../../../flutter/LICENSE @@ -40072,8 +40071,6 @@ ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill_strict_src.frag + ORIGIN: ../../../flutter/impeller/entity/shaders/tiled_texture_fill.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/tiled_texture_fill_external.frag + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/entity/shaders/vertices.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/yuv_to_rgb_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/yuv_to_rgb_filter.vert + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/geometry/color.cc + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/geometry/color.h + ../../../flutter/LICENSE ORIGIN: ../../../flutter/impeller/geometry/constants.cc + ../../../flutter/LICENSE @@ -42912,12 +42909,15 @@ FILE: ../../../flutter/impeller/entity/shaders/border_mask_blur.frag FILE: ../../../flutter/impeller/entity/shaders/border_mask_blur.vert FILE: ../../../flutter/impeller/entity/shaders/clip.frag FILE: ../../../flutter/impeller/entity/shaders/clip.vert -FILE: ../../../flutter/impeller/entity/shaders/color_matrix_color_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/color_matrix_color_filter.vert -FILE: ../../../flutter/impeller/entity/shaders/conical_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/conical_gradient_ssbo_fill.frag FILE: ../../../flutter/impeller/entity/shaders/debug/checkerboard.frag FILE: ../../../flutter/impeller/entity/shaders/debug/checkerboard.vert +FILE: ../../../flutter/impeller/entity/shaders/filters/color_matrix_color_filter.frag +FILE: ../../../flutter/impeller/entity/shaders/filters/filter.vert +FILE: ../../../flutter/impeller/entity/shaders/filters/linear_to_srgb_filter.frag +FILE: ../../../flutter/impeller/entity/shaders/filters/morphology_filter.frag +FILE: ../../../flutter/impeller/entity/shaders/filters/morphology_filter.vert +FILE: ../../../flutter/impeller/entity/shaders/filters/srgb_to_linear_filter.frag +FILE: ../../../flutter/impeller/entity/shaders/filters/yuv_to_rgb_filter.frag FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/kernel.glsl FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/kernel.vert FILE: ../../../flutter/impeller/entity/shaders/gaussian_blur/kernel_decal.frag @@ -42927,25 +42927,21 @@ FILE: ../../../flutter/impeller/entity/shaders/geometry/uv.comp FILE: ../../../flutter/impeller/entity/shaders/glyph_atlas.frag FILE: ../../../flutter/impeller/entity/shaders/glyph_atlas.vert FILE: ../../../flutter/impeller/entity/shaders/glyph_atlas_color.frag -FILE: ../../../flutter/impeller/entity/shaders/gradient_fill.vert -FILE: ../../../flutter/impeller/entity/shaders/linear_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/linear_gradient_ssbo_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/linear_to_srgb_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/linear_to_srgb_filter.vert -FILE: ../../../flutter/impeller/entity/shaders/morphology_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/morphology_filter.vert +FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_ssbo_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/gradient_fill.vert +FILE: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_ssbo_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_ssbo_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_fill.frag +FILE: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_ssbo_fill.frag FILE: ../../../flutter/impeller/entity/shaders/position_color.vert -FILE: ../../../flutter/impeller/entity/shaders/radial_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/radial_gradient_ssbo_fill.frag FILE: ../../../flutter/impeller/entity/shaders/rrect_blur.frag FILE: ../../../flutter/impeller/entity/shaders/rrect_blur.vert FILE: ../../../flutter/impeller/entity/shaders/runtime_effect.vert FILE: ../../../flutter/impeller/entity/shaders/solid_fill.frag FILE: ../../../flutter/impeller/entity/shaders/solid_fill.vert -FILE: ../../../flutter/impeller/entity/shaders/srgb_to_linear_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/srgb_to_linear_filter.vert -FILE: ../../../flutter/impeller/entity/shaders/sweep_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/sweep_gradient_ssbo_fill.frag FILE: ../../../flutter/impeller/entity/shaders/texture_fill.frag FILE: ../../../flutter/impeller/entity/shaders/texture_fill.vert FILE: ../../../flutter/impeller/entity/shaders/texture_fill_external.frag @@ -42953,8 +42949,6 @@ FILE: ../../../flutter/impeller/entity/shaders/texture_fill_strict_src.frag FILE: ../../../flutter/impeller/entity/shaders/tiled_texture_fill.frag FILE: ../../../flutter/impeller/entity/shaders/tiled_texture_fill_external.frag FILE: ../../../flutter/impeller/entity/shaders/vertices.frag -FILE: ../../../flutter/impeller/entity/shaders/yuv_to_rgb_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/yuv_to_rgb_filter.vert FILE: ../../../flutter/impeller/geometry/color.cc FILE: ../../../flutter/impeller/geometry/color.h FILE: ../../../flutter/impeller/geometry/constants.cc diff --git a/impeller/tools/malioc.json b/impeller/tools/malioc.json index 80ed9b3e7c840..81a7a27517de2 100644 --- a/impeller/tools/malioc.json +++ b/impeller/tools/malioc.json @@ -898,118 +898,6 @@ } } }, - "flutter/impeller/entity/color_matrix_color_filter.vert.vkspv": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/color_matrix_color_filter.vert.vkspv", - "has_uniform_computation": true, - "type": "Vertex", - "variants": { - "Position": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 30, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 8 - } - } - } - }, "flutter/impeller/entity/conical_gradient_fill.frag.vkspv": { "Mali-G78": { "core": "Mali-G78", @@ -1153,6 +1041,118 @@ } } }, + "flutter/impeller/entity/filter.vert.vkspv": { + "Mali-G78": { + "core": "Mali-G78", + "filename": "flutter/impeller/entity/filter.vert.vkspv", + "has_uniform_computation": true, + "type": "Vertex", + "variants": { + "Position": { + "fp16_arithmetic": 0, + "has_stack_spilling": false, + "performance": { + "longest_path_bound_pipelines": [ + "load_store" + ], + "longest_path_cycles": [ + 0.125, + 0.125, + 0.0, + 0.0, + 2.0, + 0.0 + ], + "pipelines": [ + "arith_total", + "arith_fma", + "arith_cvt", + "arith_sfu", + "load_store", + "texture" + ], + "shortest_path_bound_pipelines": [ + "load_store" + ], + "shortest_path_cycles": [ + 0.125, + 0.125, + 0.0, + 0.0, + 2.0, + 0.0 + ], + "total_bound_pipelines": [ + "load_store" + ], + "total_cycles": [ + 0.125, + 0.125, + 0.0, + 0.0, + 2.0, + 0.0 + ] + }, + "stack_spill_bytes": 0, + "thread_occupancy": 100, + "uniform_registers_used": 30, + "work_registers_used": 32 + }, + "Varying": { + "fp16_arithmetic": 0, + "has_stack_spilling": false, + "performance": { + "longest_path_bound_pipelines": [ + "load_store" + ], + "longest_path_cycles": [ + 0.015625, + 0.015625, + 0.015625, + 0.0, + 3.0, + 0.0 + ], + "pipelines": [ + "arith_total", + "arith_fma", + "arith_cvt", + "arith_sfu", + "load_store", + "texture" + ], + "shortest_path_bound_pipelines": [ + "load_store" + ], + "shortest_path_cycles": [ + 0.015625, + 0.015625, + 0.015625, + 0.0, + 3.0, + 0.0 + ], + "total_bound_pipelines": [ + "load_store" + ], + "total_cycles": [ + 0.015625, + 0.015625, + 0.015625, + 0.0, + 3.0, + 0.0 + ] + }, + "stack_spill_bytes": 0, + "thread_occupancy": 100, + "uniform_registers_used": 22, + "work_registers_used": 8 + } + } + } + }, "flutter/impeller/entity/gles/advanced_blend.frag.gles": { "Mali-G78": { "core": "Mali-G78", @@ -2552,27 +2552,34 @@ } } }, - "flutter/impeller/entity/gles/color_matrix_color_filter.vert.gles": { + "flutter/impeller/entity/gles/conical_gradient_fill.frag.gles": { "Mali-G78": { "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/color_matrix_color_filter.vert.gles", + "filename": "flutter/impeller/entity/gles/conical_gradient_fill.frag.gles", + "has_side_effects": false, "has_uniform_computation": true, - "type": "Vertex", + "modifies_coverage": false, + "reads_color_buffer": false, + "type": "Fragment", + "uses_late_zs_test": false, + "uses_late_zs_update": false, "variants": { - "Position": { - "fp16_arithmetic": 0, + "Main": { + "fp16_arithmetic": 52, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "load_store" + "arith_total", + "arith_cvt" ], "longest_path_cycles": [ - 0.140625, - 0.140625, - 0.0, + 0.887499988079071, + 0.4375, + 0.887499988079071, + 0.1875, 0.0, - 2.0, - 0.0 + 0.25, + 0.25 ], "pipelines": [ "arith_total", @@ -2580,108 +2587,115 @@ "arith_cvt", "arith_sfu", "load_store", + "varying", "texture" ], "shortest_path_bound_pipelines": [ - "load_store" + "varying" ], "shortest_path_cycles": [ - 0.140625, - 0.140625, + 0.171875, 0.0, + 0.171875, 0.0, - 2.0, - 0.0 + 0.0, + 0.25, + 0.0 ], "total_bound_pipelines": [ - "load_store" + "arith_total", + "arith_cvt" ], "total_cycles": [ - 0.140625, - 0.140625, - 0.0, + 1.28125, + 0.824999988079071, + 1.28125, + 0.4375, 0.0, - 2.0, - 0.0 + 0.25, + 0.25 ] }, "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, + "uniform_registers_used": 40, + "work_registers_used": 21 + } + } + }, + "Mali-T880": { + "core": "Mali-T880", + "filename": "flutter/impeller/entity/gles/conical_gradient_fill.frag.gles", + "has_uniform_computation": true, + "type": "Fragment", + "variants": { + "Main": { "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "load_store" + "arithmetic" ], "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 + 12.869999885559082, + 1.0, + 1.0 ], "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", + "arithmetic", "load_store", "texture" ], "shortest_path_bound_pipelines": [ - "load_store" + "arithmetic" ], "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, + 1.3200000524520874, + 1.0, 0.0 ], "total_bound_pipelines": [ - "load_store" + "arithmetic" ], "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 + 19.66666603088379, + 1.0, + 1.0 ] }, - "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 10, - "work_registers_used": 8 + "uniform_registers_used": 6, + "work_registers_used": 2 } } - }, - "Mali-T880": { - "core": "Mali-T880", - "filename": "flutter/impeller/entity/gles/color_matrix_color_filter.vert.gles", - "has_uniform_computation": false, + } + }, + "flutter/impeller/entity/gles/filter.vert.gles": { + "Mali-G78": { + "core": "Mali-G78", + "filename": "flutter/impeller/entity/gles/filter.vert.gles", + "has_uniform_computation": true, "type": "Vertex", "variants": { - "Main": { + "Position": { + "fp16_arithmetic": 0, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ "load_store" ], "longest_path_cycles": [ - 2.9700000286102295, - 4.0, + 0.140625, + 0.140625, + 0.0, + 0.0, + 2.0, 0.0 ], "pipelines": [ - "arithmetic", + "arith_total", + "arith_fma", + "arith_cvt", + "arith_sfu", "load_store", "texture" ], @@ -2689,54 +2703,44 @@ "load_store" ], "shortest_path_cycles": [ - 2.9700000286102295, - 4.0, + 0.140625, + 0.140625, + 0.0, + 0.0, + 2.0, 0.0 ], "total_bound_pipelines": [ "load_store" ], "total_cycles": [ - 3.0, - 4.0, + 0.140625, + 0.140625, + 0.0, + 0.0, + 2.0, 0.0 ] }, + "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 6, - "work_registers_used": 2 - } - } - } - }, - "flutter/impeller/entity/gles/conical_gradient_fill.frag.gles": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/conical_gradient_fill.frag.gles", - "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": 52, + "uniform_registers_used": 22, + "work_registers_used": 32 + }, + "Varying": { + "fp16_arithmetic": 0, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "arith_total", - "arith_cvt" + "load_store" ], "longest_path_cycles": [ - 0.887499988079071, - 0.4375, - 0.887499988079071, - 0.1875, + 0.015625, + 0.015625, + 0.015625, 0.0, - 0.25, - 0.25 + 3.0, + 0.0 ], "pipelines": [ "arith_total", @@ -2744,58 +2748,54 @@ "arith_cvt", "arith_sfu", "load_store", - "varying", "texture" ], "shortest_path_bound_pipelines": [ - "varying" + "load_store" ], "shortest_path_cycles": [ - 0.171875, - 0.0, - 0.171875, - 0.0, + 0.015625, + 0.015625, + 0.015625, 0.0, - 0.25, + 3.0, 0.0 ], "total_bound_pipelines": [ - "arith_total", - "arith_cvt" + "load_store" ], "total_cycles": [ - 1.28125, - 0.824999988079071, - 1.28125, - 0.4375, + 0.015625, + 0.015625, + 0.015625, 0.0, - 0.25, - 0.25 + 3.0, + 0.0 ] }, "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 40, - "work_registers_used": 21 + "uniform_registers_used": 10, + "work_registers_used": 8 } } }, "Mali-T880": { "core": "Mali-T880", - "filename": "flutter/impeller/entity/gles/conical_gradient_fill.frag.gles", - "has_uniform_computation": true, - "type": "Fragment", + "filename": "flutter/impeller/entity/gles/filter.vert.gles", + "has_uniform_computation": false, + "type": "Vertex", "variants": { "Main": { "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "arithmetic" + "load_store" ], "longest_path_cycles": [ - 12.869999885559082, - 1.0, - 1.0 + 2.9700000286102295, + 4.0, + 0.0 ], "pipelines": [ "arithmetic", @@ -2803,20 +2803,20 @@ "texture" ], "shortest_path_bound_pipelines": [ - "arithmetic" + "load_store" ], "shortest_path_cycles": [ - 1.3200000524520874, - 1.0, + 2.9700000286102295, + 4.0, 0.0 ], "total_bound_pipelines": [ - "arithmetic" + "load_store" ], "total_cycles": [ - 19.66666603088379, - 1.0, - 1.0 + 3.0, + 4.0, + 0.0 ] }, "thread_occupancy": 100, @@ -4007,27 +4007,33 @@ } } }, - "flutter/impeller/entity/gles/linear_to_srgb_filter.vert.gles": { + "flutter/impeller/entity/gles/morphology_filter.frag.gles": { "Mali-G78": { "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/linear_to_srgb_filter.vert.gles", + "filename": "flutter/impeller/entity/gles/morphology_filter.frag.gles", + "has_side_effects": false, "has_uniform_computation": true, - "type": "Vertex", + "modifies_coverage": false, + "reads_color_buffer": false, + "type": "Fragment", + "uses_late_zs_test": false, + "uses_late_zs_update": false, "variants": { - "Position": { - "fp16_arithmetic": 0, + "Main": { + "fp16_arithmetic": 80, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "load_store" + null ], "longest_path_cycles": [ - 0.140625, - 0.140625, - 0.0, - 0.0, - 2.0, - 0.0 + null, + null, + null, + null, + null, + null, + null ], "pipelines": [ "arith_total", @@ -4035,188 +4041,25 @@ "arith_cvt", "arith_sfu", "load_store", + "varying", "texture" ], "shortest_path_bound_pipelines": [ - "load_store" + "arith_total", + "arith_cvt" ], "shortest_path_cycles": [ - 0.140625, - 0.140625, + 0.0625, + 0.0, + 0.0625, + 0.0, 0.0, 0.0, - 2.0, 0.0 ], "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.140625, - 0.140625, - 0.0, - 0.0, - 2.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 10, - "work_registers_used": 8 - } - } - }, - "Mali-T880": { - "core": "Mali-T880", - "filename": "flutter/impeller/entity/gles/linear_to_srgb_filter.vert.gles", - "has_uniform_computation": false, - "type": "Vertex", - "variants": { - "Main": { - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 2.9700000286102295, - 4.0, - 0.0 - ], - "pipelines": [ - "arithmetic", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 2.9700000286102295, - 4.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 3.0, - 4.0, - 0.0 - ] - }, - "thread_occupancy": 100, - "uniform_registers_used": 6, - "work_registers_used": 2 - } - } - } - }, - "flutter/impeller/entity/gles/morphology_filter.frag.gles": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/morphology_filter.frag.gles", - "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": 80, - "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.0625, - 0.0, - 0.0625, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "total_bound_pipelines": [ - "varying", - "texture" + "varying", + "texture" ], "total_cycles": [ 0.234375, @@ -5809,27 +5652,35 @@ } } }, - "flutter/impeller/entity/gles/srgb_to_linear_filter.vert.gles": { + "flutter/impeller/entity/gles/sweep_gradient_fill.frag.gles": { "Mali-G78": { "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/srgb_to_linear_filter.vert.gles", + "filename": "flutter/impeller/entity/gles/sweep_gradient_fill.frag.gles", + "has_side_effects": false, "has_uniform_computation": true, - "type": "Vertex", + "modifies_coverage": false, + "reads_color_buffer": false, + "type": "Fragment", + "uses_late_zs_test": false, + "uses_late_zs_update": false, "variants": { - "Position": { - "fp16_arithmetic": 0, + "Main": { + "fp16_arithmetic": 34, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "load_store" + "arith_total", + "arith_fma", + "arith_cvt" ], "longest_path_cycles": [ - 0.140625, - 0.140625, - 0.0, + 0.46875, + 0.46875, + 0.46875, + 0.375, 0.0, - 2.0, - 0.0 + 0.25, + 0.25 ], "pipelines": [ "arith_total", @@ -5837,232 +5688,67 @@ "arith_cvt", "arith_sfu", "load_store", + "varying", "texture" ], "shortest_path_bound_pipelines": [ - "load_store" + "arith_total", + "arith_sfu" ], "shortest_path_cycles": [ - 0.140625, - 0.140625, - 0.0, + 0.375, + 0.359375, + 0.25, + 0.375, 0.0, - 2.0, + 0.25, 0.0 ], "total_bound_pipelines": [ - "load_store" + "arith_total", + "arith_cvt" ], "total_cycles": [ - 0.140625, - 0.140625, - 0.0, + 0.5625, + 0.5, + 0.5625, + 0.375, 0.0, - 2.0, - 0.0 + 0.25, + 0.25 ] }, "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, + "uniform_registers_used": 20, + "work_registers_used": 24 + } + } + }, + "Mali-T880": { + "core": "Mali-T880", + "filename": "flutter/impeller/entity/gles/sweep_gradient_fill.frag.gles", + "has_uniform_computation": true, + "type": "Fragment", + "variants": { + "Main": { "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ - "load_store" + "arithmetic" ], "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 + 7.920000076293945, + 1.0, + 1.0 ], "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", + "arithmetic", "load_store", "texture" ], "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 10, - "work_registers_used": 8 - } - } - }, - "Mali-T880": { - "core": "Mali-T880", - "filename": "flutter/impeller/entity/gles/srgb_to_linear_filter.vert.gles", - "has_uniform_computation": false, - "type": "Vertex", - "variants": { - "Main": { - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 2.9700000286102295, - 4.0, - 0.0 - ], - "pipelines": [ - "arithmetic", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 2.9700000286102295, - 4.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 3.0, - 4.0, - 0.0 - ] - }, - "thread_occupancy": 100, - "uniform_registers_used": 6, - "work_registers_used": 2 - } - } - } - }, - "flutter/impeller/entity/gles/sweep_gradient_fill.frag.gles": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/sweep_gradient_fill.frag.gles", - "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": 34, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt" - ], - "longest_path_cycles": [ - 0.46875, - 0.46875, - 0.46875, - 0.375, - 0.0, - 0.25, - 0.25 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "varying", - "texture" - ], - "shortest_path_bound_pipelines": [ - "arith_total", - "arith_sfu" - ], - "shortest_path_cycles": [ - 0.375, - 0.359375, - 0.25, - 0.375, - 0.0, - 0.25, - 0.0 - ], - "total_bound_pipelines": [ - "arith_total", - "arith_cvt" - ], - "total_cycles": [ - 0.5625, - 0.5, - 0.5625, - 0.375, - 0.0, - 0.25, - 0.25 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 20, - "work_registers_used": 24 - } - } - }, - "Mali-T880": { - "core": "Mali-T880", - "filename": "flutter/impeller/entity/gles/sweep_gradient_fill.frag.gles", - "has_uniform_computation": true, - "type": "Fragment", - "variants": { - "Main": { - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "arithmetic" - ], - "longest_path_cycles": [ - 7.920000076293945, - 1.0, - 1.0 - ], - "pipelines": [ - "arithmetic", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "arithmetic" + "arithmetic" ], "shortest_path_cycles": [ 2.9700000286102295, @@ -7062,163 +6748,6 @@ } } }, - "flutter/impeller/entity/gles/yuv_to_rgb_filter.vert.gles": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/gles/yuv_to_rgb_filter.vert.gles", - "has_uniform_computation": true, - "type": "Vertex", - "variants": { - "Position": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.140625, - 0.140625, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.140625, - 0.140625, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.140625, - 0.140625, - 0.0, - 0.0, - 2.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 10, - "work_registers_used": 8 - } - } - }, - "Mali-T880": { - "core": "Mali-T880", - "filename": "flutter/impeller/entity/gles/yuv_to_rgb_filter.vert.gles", - "has_uniform_computation": false, - "type": "Vertex", - "variants": { - "Main": { - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 2.9700000286102295, - 4.0, - 0.0 - ], - "pipelines": [ - "arithmetic", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 2.9700000286102295, - 4.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 3.0, - 4.0, - 0.0 - ] - }, - "thread_occupancy": 100, - "uniform_registers_used": 6, - "work_registers_used": 2 - } - } - } - }, "flutter/impeller/entity/glyph_atlas.frag.vkspv": { "Mali-G78": { "core": "Mali-G78", @@ -8007,126 +7536,9 @@ 0.296875, 0.359375, 0.4375, - 0.0, - 0.25, - 0.25 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "varying", - "texture" - ], - "shortest_path_bound_pipelines": [ - "varying", - "texture" - ], - "shortest_path_cycles": [ - 0.234375, - 0.203125, - 0.234375, - 0.1875, - 0.0, - 0.25, - 0.25 - ], - "total_bound_pipelines": [ - "arith_total", - "arith_sfu" - ], - "total_cycles": [ - 0.4375, - 0.328125, - 0.359375, - 0.4375, - 0.0, - 0.25, - 0.25 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 10, - "work_registers_used": 12 - } - } - } - }, - "flutter/impeller/entity/linear_to_srgb_filter.vert.vkspv": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/linear_to_srgb_filter.vert.vkspv", - "has_uniform_computation": true, - "type": "Vertex", - "variants": { - "Position": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 30, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 + 0.0, + 0.25, + 0.25 ], "pipelines": [ "arith_total", @@ -8134,35 +7546,40 @@ "arith_cvt", "arith_sfu", "load_store", + "varying", "texture" ], "shortest_path_bound_pipelines": [ - "load_store" + "varying", + "texture" ], "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, + 0.234375, + 0.203125, + 0.234375, + 0.1875, 0.0, - 3.0, - 0.0 + 0.25, + 0.25 ], "total_bound_pipelines": [ - "load_store" + "arith_total", + "arith_sfu" ], "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, + 0.4375, + 0.328125, + 0.359375, + 0.4375, 0.0, - 3.0, - 0.0 + 0.25, + 0.25 ] }, "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 8 + "uniform_registers_used": 10, + "work_registers_used": 12 } } } @@ -9403,118 +8820,6 @@ } } }, - "flutter/impeller/entity/srgb_to_linear_filter.vert.vkspv": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/srgb_to_linear_filter.vert.vkspv", - "has_uniform_computation": true, - "type": "Vertex", - "variants": { - "Position": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 30, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 8 - } - } - } - }, "flutter/impeller/entity/sweep_gradient_fill.frag.vkspv": { "Mali-G78": { "core": "Mali-G78", @@ -10329,118 +9634,6 @@ } } }, - "flutter/impeller/entity/yuv_to_rgb_filter.vert.vkspv": { - "Mali-G78": { - "core": "Mali-G78", - "filename": "flutter/impeller/entity/yuv_to_rgb_filter.vert.vkspv", - "has_uniform_computation": true, - "type": "Vertex", - "variants": { - "Position": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.125, - 0.125, - 0.0, - 0.0, - 2.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 30, - "work_registers_used": 32 - }, - "Varying": { - "fp16_arithmetic": 0, - "has_stack_spilling": false, - "performance": { - "longest_path_bound_pipelines": [ - "load_store" - ], - "longest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "pipelines": [ - "arith_total", - "arith_fma", - "arith_cvt", - "arith_sfu", - "load_store", - "texture" - ], - "shortest_path_bound_pipelines": [ - "load_store" - ], - "shortest_path_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ], - "total_bound_pipelines": [ - "load_store" - ], - "total_cycles": [ - 0.015625, - 0.015625, - 0.015625, - 0.0, - 3.0, - 0.0 - ] - }, - "stack_spill_bytes": 0, - "thread_occupancy": 100, - "uniform_registers_used": 22, - "work_registers_used": 8 - } - } - } - }, "flutter/impeller/renderer/path_polyline.comp.vkspv": { "Mali-G78": { "core": "Mali-G78",