diff --git a/impeller/aiks/aiks_unittests.cc b/impeller/aiks/aiks_unittests.cc index 6e4cde04a925e..3613191280824 100644 --- a/impeller/aiks/aiks_unittests.cc +++ b/impeller/aiks/aiks_unittests.cc @@ -941,13 +941,14 @@ TEST_P(AiksTest, CanDrawPaintMultipleTimes) { TEST_P(AiksTest, FormatWideGamut) { EXPECT_EQ(GetContext()->GetCapabilities()->GetDefaultColorFormat(), PixelFormat::kB10G10R10A10XR); - EXPECT_TRUE(IsAlphaClampedToOne( - GetContext()->GetCapabilities()->GetDefaultColorFormat())); } TEST_P(AiksTest, FormatSRGB) { - EXPECT_TRUE(IsAlphaClampedToOne( - GetContext()->GetCapabilities()->GetDefaultColorFormat())); + PixelFormat pixel_format = + GetContext()->GetCapabilities()->GetDefaultColorFormat(); + EXPECT_TRUE(pixel_format == PixelFormat::kR8G8B8A8UNormInt || + pixel_format == PixelFormat::kB8G8R8A8UNormInt) + << "pixel format: " << PixelFormatToString(pixel_format); } TEST_P(AiksTest, TransformMultipliesCorrectly) { diff --git a/impeller/compiler/shader_lib/impeller/color.glsl b/impeller/compiler/shader_lib/impeller/color.glsl index c497f379fd550..310e22e779f76 100644 --- a/impeller/compiler/shader_lib/impeller/color.glsl +++ b/impeller/compiler/shader_lib/impeller/color.glsl @@ -46,12 +46,4 @@ f16vec4 IPHalfPremultiply(f16vec4 color) { return f16vec4(color.rgb * color.a, color.a); } -/// Performs the plus blend on `src` and `dst` which are premultiplied colors. -//`max` determines the values the results are clamped to. -f16vec4 IPHalfPlusBlend(f16vec4 src, f16vec4 dst) { - float16_t min = 0.0hf; - float16_t max = 1.0hf; - return clamp(dst + src, min, max); -} - #endif diff --git a/impeller/core/formats.h b/impeller/core/formats.h index 108cd454cd2fa..aa859b45f6818 100644 --- a/impeller/core/formats.h +++ b/impeller/core/formats.h @@ -138,14 +138,6 @@ constexpr bool IsStencilWritable(PixelFormat format) { } } -/// Returns `true` if the pixel format has an implicit `clamp(x, 0, 1)` in the -/// pixel format. This is important for example when performing the `Plus` blend -/// where we don't want alpha values over 1.0. -constexpr bool IsAlphaClampedToOne(PixelFormat pixel_format) { - return !(pixel_format == PixelFormat::kR32G32B32A32Float || - pixel_format == PixelFormat::kR16G16B16A16Float); -} - constexpr const char* PixelFormatToString(PixelFormat format) { switch (format) { case PixelFormat::kUnknown: diff --git a/impeller/entity/contents/content_context.cc b/impeller/entity/contents/content_context.cc index 947777105a445..2aab84148546e 100644 --- a/impeller/entity/contents/content_context.cc +++ b/impeller/entity/contents/content_context.cc @@ -124,8 +124,6 @@ void ContentContextOptions::ApplyToPipelineDescriptor( color0.src_color_blend_factor = BlendFactor::kOneMinusDestinationAlpha; break; case BlendMode::kPlus: - // The kPlusAdvanced should be used instead. - FML_DCHECK(IsAlphaClampedToOne(color_attachment_pixel_format)); color0.dst_alpha_blend_factor = BlendFactor::kOne; color0.dst_color_blend_factor = BlendFactor::kOne; color0.src_alpha_blend_factor = BlendFactor::kOne; @@ -326,10 +324,6 @@ ContentContext::ContentContext( framebuffer_blend_lighten_pipelines_.CreateDefault( *context_, options_trianglestrip, {static_cast(BlendSelectValues::kLighten), supports_decal}); - framebuffer_blend_plus_advanced_pipelines_.CreateDefault( - *context_, options_trianglestrip, - {static_cast(BlendSelectValues::kPlusAdvanced), - supports_decal}); framebuffer_blend_luminosity_pipelines_.CreateDefault( *context_, options_trianglestrip, {static_cast(BlendSelectValues::kLuminosity), supports_decal}); @@ -377,9 +371,6 @@ ContentContext::ContentContext( blend_lighten_pipelines_.CreateDefault( *context_, options_trianglestrip, {static_cast(BlendSelectValues::kLighten), supports_decal}); - blend_plus_advanced_pipelines_.CreateDefault( - *context_, options_trianglestrip, - {static_cast(BlendSelectValues::kPlusAdvanced), supports_decal}); blend_luminosity_pipelines_.CreateDefault( *context_, options_trianglestrip, {static_cast(BlendSelectValues::kLuminosity), supports_decal}); diff --git a/impeller/entity/contents/content_context.h b/impeller/entity/contents/content_context.h index 78728839a3461..ecebcccf3bc77 100644 --- a/impeller/entity/contents/content_context.h +++ b/impeller/entity/contents/content_context.h @@ -181,8 +181,6 @@ using BlendHuePipeline = RenderPipelineT; using BlendLightenPipeline = RenderPipelineT; -using BlendPlusAdvancedPipeline = - RenderPipelineT; using BlendLuminosityPipeline = RenderPipelineT; using BlendMultiplyPipeline = @@ -223,9 +221,6 @@ using FramebufferBlendHuePipeline = using FramebufferBlendLightenPipeline = RenderPipelineT; -using FramebufferBlendPlusAdvancedPipeline = - RenderPipelineT; using FramebufferBlendLuminosityPipeline = RenderPipelineT; @@ -609,11 +604,6 @@ class ContentContext { return GetPipeline(blend_lighten_pipelines_, opts); } - std::shared_ptr> GetBlendPlusAdvancedPipeline( - ContentContextOptions opts) const { - return GetPipeline(blend_plus_advanced_pipelines_, opts); - } - std::shared_ptr> GetBlendLuminosityPipeline( ContentContextOptions opts) const { return GetPipeline(blend_luminosity_pipelines_, opts); @@ -699,12 +689,6 @@ class ContentContext { return GetPipeline(framebuffer_blend_lighten_pipelines_, opts); } - std::shared_ptr> - GetFramebufferBlendPlusAdvancedPipeline(ContentContextOptions opts) const { - FML_DCHECK(GetDeviceCapabilities().SupportsFramebufferFetch()); - return GetPipeline(framebuffer_blend_plus_advanced_pipelines_, opts); - } - std::shared_ptr> GetFramebufferBlendLuminosityPipeline(ContentContextOptions opts) const { FML_DCHECK(GetDeviceCapabilities().SupportsFramebufferFetch()); @@ -967,7 +951,6 @@ class ContentContext { mutable Variants blend_hardlight_pipelines_; mutable Variants blend_hue_pipelines_; mutable Variants blend_lighten_pipelines_; - mutable Variants blend_plus_advanced_pipelines_; mutable Variants blend_luminosity_pipelines_; mutable Variants blend_multiply_pipelines_; mutable Variants blend_overlay_pipelines_; @@ -993,8 +976,6 @@ class ContentContext { framebuffer_blend_hue_pipelines_; mutable Variants framebuffer_blend_lighten_pipelines_; - mutable Variants - framebuffer_blend_plus_advanced_pipelines_; mutable Variants framebuffer_blend_luminosity_pipelines_; mutable Variants diff --git a/impeller/entity/contents/filters/blend_filter_contents.cc b/impeller/entity/contents/filters/blend_filter_contents.cc index 2af8be96bb97f..c17da0c66d0ba 100644 --- a/impeller/entity/contents/filters/blend_filter_contents.cc +++ b/impeller/entity/contents/filters/blend_filter_contents.cc @@ -339,9 +339,6 @@ std::optional BlendFilterContents::CreateForegroundAdvancedBlend( case BlendMode::kColor: pass.SetPipeline(renderer.GetBlendColorPipeline(options)); break; - case BlendMode::kPlusAdvanced: - pass.SetPipeline(renderer.GetBlendPlusAdvancedPipeline(options)); - break; case BlendMode::kLuminosity: pass.SetPipeline(renderer.GetBlendLuminosityPipeline(options)); break; @@ -665,7 +662,7 @@ static std::optional PipelineBlend( #define BLEND_CASE(mode) \ case BlendMode::k##mode: \ - return \ + advanced_blend_proc_ = \ [](const FilterInput::Vector& inputs, const ContentContext& renderer, \ const Entity& entity, const Rect& coverage, BlendMode blend_mode, \ std::optional fg_color, \ @@ -678,32 +675,6 @@ static std::optional PipelineBlend( }; \ break; -namespace { -BlendFilterContents::AdvancedBlendProc GetAdvancedBlendProc( - BlendMode blend_mode) { - switch (blend_mode) { - BLEND_CASE(Screen) - BLEND_CASE(Overlay) - BLEND_CASE(Darken) - BLEND_CASE(Lighten) - BLEND_CASE(ColorDodge) - BLEND_CASE(ColorBurn) - BLEND_CASE(HardLight) - BLEND_CASE(SoftLight) - BLEND_CASE(Difference) - BLEND_CASE(Exclusion) - BLEND_CASE(Multiply) - BLEND_CASE(Hue) - BLEND_CASE(Saturation) - BLEND_CASE(Color) - BLEND_CASE(PlusAdvanced) - BLEND_CASE(Luminosity) - default: - FML_UNREACHABLE(); - } -} -} // namespace - void BlendFilterContents::SetBlendMode(BlendMode blend_mode) { if (blend_mode > Entity::kLastAdvancedBlendMode) { VALIDATION_LOG << "Invalid blend mode " << static_cast(blend_mode) @@ -711,6 +682,28 @@ void BlendFilterContents::SetBlendMode(BlendMode blend_mode) { } blend_mode_ = blend_mode; + + if (blend_mode > Entity::kLastPipelineBlendMode) { + switch (blend_mode) { + BLEND_CASE(Screen) + BLEND_CASE(Overlay) + BLEND_CASE(Darken) + BLEND_CASE(Lighten) + BLEND_CASE(ColorDodge) + BLEND_CASE(ColorBurn) + BLEND_CASE(HardLight) + BLEND_CASE(SoftLight) + BLEND_CASE(Difference) + BLEND_CASE(Exclusion) + BLEND_CASE(Multiply) + BLEND_CASE(Hue) + BLEND_CASE(Saturation) + BLEND_CASE(Color) + BLEND_CASE(Luminosity) + default: + FML_UNREACHABLE(); + } + } } void BlendFilterContents::SetForegroundColor(std::optional color) { @@ -734,35 +727,27 @@ std::optional BlendFilterContents::RenderFilter( std::nullopt, GetAbsorbOpacity(), GetAlpha()); } - BlendMode blend_mode = blend_mode_; - if (blend_mode == BlendMode::kPlus && - !IsAlphaClampedToOne( - renderer.GetContext()->GetCapabilities()->GetDefaultColorFormat())) { - blend_mode = BlendMode::kPlusAdvanced; - } - - if (blend_mode <= Entity::kLastPipelineBlendMode) { + if (blend_mode_ <= Entity::kLastPipelineBlendMode) { if (inputs.size() == 1 && foreground_color_.has_value() && GetAbsorbOpacity() == ColorFilterContents::AbsorbOpacity::kYes) { return CreateForegroundPorterDuffBlend( inputs[0], renderer, entity, coverage, foreground_color_.value(), blend_mode_, GetAlpha(), GetAbsorbOpacity()); } - return PipelineBlend(inputs, renderer, entity, coverage, blend_mode, + return PipelineBlend(inputs, renderer, entity, coverage, blend_mode_, foreground_color_, GetAbsorbOpacity(), GetAlpha()); } - if (blend_mode <= Entity::kLastAdvancedBlendMode) { + if (blend_mode_ <= Entity::kLastAdvancedBlendMode) { if (inputs.size() == 1 && foreground_color_.has_value() && GetAbsorbOpacity() == ColorFilterContents::AbsorbOpacity::kYes) { return CreateForegroundAdvancedBlend( inputs[0], renderer, entity, coverage, foreground_color_.value(), - blend_mode, GetAlpha(), GetAbsorbOpacity()); + blend_mode_, GetAlpha(), GetAbsorbOpacity()); } - AdvancedBlendProc advanced_blend_proc = GetAdvancedBlendProc(blend_mode); - return advanced_blend_proc(inputs, renderer, entity, coverage, blend_mode, - foreground_color_, GetAbsorbOpacity(), - GetAlpha()); + return advanced_blend_proc_(inputs, renderer, entity, coverage, blend_mode_, + foreground_color_, GetAbsorbOpacity(), + GetAlpha()); } FML_UNREACHABLE(); diff --git a/impeller/entity/contents/filters/blend_filter_contents.h b/impeller/entity/contents/filters/blend_filter_contents.h index eb47013b35510..562f306034ebd 100644 --- a/impeller/entity/contents/filters/blend_filter_contents.h +++ b/impeller/entity/contents/filters/blend_filter_contents.h @@ -93,6 +93,7 @@ class BlendFilterContents : public ColorFilterContents { ColorFilterContents::AbsorbOpacity absorb_opacity) const; BlendMode blend_mode_ = BlendMode::kSourceOver; + AdvancedBlendProc advanced_blend_proc_; std::optional foreground_color_; BlendFilterContents(const BlendFilterContents&) = delete; diff --git a/impeller/entity/contents/framebuffer_blend_contents.cc b/impeller/entity/contents/framebuffer_blend_contents.cc index 8cba7107d307c..762a3b7360603 100644 --- a/impeller/entity/contents/framebuffer_blend_contents.cc +++ b/impeller/entity/contents/framebuffer_blend_contents.cc @@ -117,10 +117,6 @@ bool FramebufferBlendContents::Render(const ContentContext& renderer, case BlendMode::kColor: pass.SetPipeline(renderer.GetFramebufferBlendColorPipeline(options)); break; - case BlendMode::kPlusAdvanced: - pass.SetPipeline( - renderer.GetFramebufferBlendPlusAdvancedPipeline(options)); - break; case BlendMode::kLuminosity: pass.SetPipeline(renderer.GetFramebufferBlendLuminosityPipeline(options)); break; diff --git a/impeller/entity/contents/framebuffer_blend_contents.h b/impeller/entity/contents/framebuffer_blend_contents.h index c8deee6450b25..5335055bd3f61 100644 --- a/impeller/entity/contents/framebuffer_blend_contents.h +++ b/impeller/entity/contents/framebuffer_blend_contents.h @@ -27,7 +27,6 @@ enum class BlendSelectValues { kHue, kSaturation, kColor, - kPlusAdvanced, kLuminosity, }; diff --git a/impeller/entity/entity_pass.cc b/impeller/entity/entity_pass.cc index 74c8c6b52e256..ff6327a8a0def 100644 --- a/impeller/entity/entity_pass.cc +++ b/impeller/entity/entity_pass.cc @@ -967,13 +967,6 @@ bool EntityPass::OnRender( /// Setup advanced blends. /// - if (result.entity.GetBlendMode() == BlendMode::kPlus && - !IsAlphaClampedToOne(pass_context.GetPassTarget() - .GetRenderTarget() - .GetRenderTargetPixelFormat())) { - result.entity.SetBlendMode(BlendMode::kPlusAdvanced); - } - if (result.entity.GetBlendMode() > Entity::kLastPipelineBlendMode) { if (renderer.GetDeviceCapabilities().SupportsFramebufferFetch()) { auto src_contents = result.entity.GetContents(); diff --git a/impeller/entity/shaders/blending/advanced_blend.frag b/impeller/entity/shaders/blending/advanced_blend.frag index 07f72dab63af7..db444f522a092 100644 --- a/impeller/entity/shaders/blending/advanced_blend.frag +++ b/impeller/entity/shaders/blending/advanced_blend.frag @@ -36,33 +36,22 @@ f16vec4 Sample(f16sampler2D texture_sampler, vec2 texture_coords) { } void main() { - f16vec4 premultiplied_dst = - Sample(texture_sampler_dst, // sampler - v_dst_texture_coords // texture coordinates - ); - int nblend_type = int(blend_type); - - if (nblend_type == /*BlendSelectValues::kPlusAdvanced*/ 14) { - f16vec4 premultiplied_src = - Sample(texture_sampler_src, // sampler - v_src_texture_coords // texture coordinates - ); - frag_color = IPHalfPlusBlend(premultiplied_src, premultiplied_dst); - } else { - f16vec4 dst = IPHalfUnpremultiply(premultiplied_dst); - dst *= blend_info.dst_input_alpha; + f16vec4 dst = + IPHalfUnpremultiply(Sample(texture_sampler_dst, // sampler + v_dst_texture_coords // texture coordinates + )); + dst *= blend_info.dst_input_alpha; + f16vec4 src = blend_info.color_factor > 0.0hf + ? blend_info.color + : IPHalfUnpremultiply(Sample( + texture_sampler_src, // sampler + v_src_texture_coords // texture coordinates + )); + if (blend_info.color_factor == 0.0hf) { + src.a *= blend_info.src_input_alpha; + } - f16vec4 src = blend_info.color_factor > 0.0hf - ? blend_info.color - : IPHalfUnpremultiply(Sample( - texture_sampler_src, // sampler - v_src_texture_coords // texture coordinates - )); - if (blend_info.color_factor == 0.0hf) { - src.a *= blend_info.src_input_alpha; - } + f16vec3 blend_result = AdvancedBlend(dst.rgb, src.rgb, int(blend_type)); - f16vec3 blend_result = AdvancedBlend(dst.rgb, src.rgb, nblend_type); - frag_color = IPApplyBlendedColor(dst, src, blend_result); - } + frag_color = IPApplyBlendedColor(dst, src, blend_result); } diff --git a/impeller/entity/shaders/blending/blend_select.glsl b/impeller/entity/shaders/blending/blend_select.glsl index b03e6eb520abd..17c45c16fdcf4 100644 --- a/impeller/entity/shaders/blending/blend_select.glsl +++ b/impeller/entity/shaders/blending/blend_select.glsl @@ -20,7 +20,6 @@ // kHue, // kSaturation, // kColor, -// kPlusAdvanced, // kLuminosity, // Note, this isn't a switch as GLSL ES 1.0 does not support them. f16vec3 AdvancedBlend(f16vec3 dst, f16vec3 src, int blend_type) { @@ -66,9 +65,7 @@ f16vec3 AdvancedBlend(f16vec3 dst, f16vec3 src, int blend_type) { if (blend_type == 13) { return IPBlendColor(dst, src); } - // 14 is `PlusAdvanced`, it's handled in advanced_blend.frag and - // framebuffer_blend.frag. - if (blend_type == 15) { + if (blend_type == 14) { return IPBlendLuminosity(dst, src); } return f16vec3(0.0hf); diff --git a/impeller/entity/shaders/blending/framebuffer_blend.frag b/impeller/entity/shaders/blending/framebuffer_blend.frag index af28df606fba7..6d03856b4a824 100644 --- a/impeller/entity/shaders/blending/framebuffer_blend.frag +++ b/impeller/entity/shaders/blending/framebuffer_blend.frag @@ -43,22 +43,14 @@ vec4 Sample(sampler2D texture_sampler, vec2 texture_coords) { } void main() { - f16vec4 premultiplied_dst = f16vec4(ReadDestination()); - f16vec4 premultiplied_src = + f16vec4 dst = IPHalfUnpremultiply(f16vec4(ReadDestination())); + f16vec4 src = IPHalfUnpremultiply( f16vec4(Sample(texture_sampler_src, // sampler v_src_texture_coords // texture coordinates - )); - int nblend_type = int(blend_type); + ))); + src.a *= frag_info.src_input_alpha; - if (nblend_type == /*BlendSelectValues::kPlusAdvanced*/ 14) { - premultiplied_src *= frag_info.src_input_alpha; - frag_color = IPHalfPlusBlend(premultiplied_src, premultiplied_dst); - } else { - f16vec4 dst = IPHalfUnpremultiply(premultiplied_dst); - f16vec4 src = IPHalfUnpremultiply(premultiplied_src); - src.a *= frag_info.src_input_alpha; + f16vec3 blend_result = AdvancedBlend(dst.rgb, src.rgb, int(blend_type)); - f16vec3 blend_result = AdvancedBlend(dst.rgb, src.rgb, nblend_type); - frag_color = IPApplyBlendedColor(dst, src, blend_result); - } + frag_color = IPApplyBlendedColor(dst, src, blend_result); } diff --git a/impeller/entity/shaders/blending/porter_duff_blend.frag b/impeller/entity/shaders/blending/porter_duff_blend.frag index 5f2629bb6f6ab..2b6631f9d57f7 100644 --- a/impeller/entity/shaders/blending/porter_duff_blend.frag +++ b/impeller/entity/shaders/blending/porter_duff_blend.frag @@ -36,12 +36,6 @@ f16vec4 Sample(f16sampler2D texture_sampler, vec2 texture_coords) { return IPHalfSampleDecal(texture_sampler, texture_coords); } -float16_t ClampAlpha(float16_t alpha) { - float16_t min = 0.0hf; - float16_t max = 1.0hf; - return clamp(alpha, min, max); -} - void main() { f16vec4 dst = texture(texture_sampler_dst, v_texture_coords) * frag_info.input_alpha; @@ -51,9 +45,4 @@ void main() { dst * (frag_info.dst_coeff + src.a * frag_info.dst_coeff_src_alpha + src * frag_info.dst_coeff_src_color); frag_color *= frag_info.output_alpha; - // This currently needs a clamp so that floating point textures blend - // correctly in wide gamut. Remove if we switch to a fixed point extended - // range format. - // See https://github.com/flutter/flutter/issues/145933 . - frag_color.a = ClampAlpha(frag_color.a); } diff --git a/impeller/geometry/color.cc b/impeller/geometry/color.cc index a8c70e1862359..d2565e6e6fd1d 100644 --- a/impeller/geometry/color.cc +++ b/impeller/geometry/color.cc @@ -276,8 +276,6 @@ Color Color::Blend(Color src, BlendMode blend_mode) const { return (src.Premultiply() * (1 - dst.alpha) + dst.Premultiply() * (1 - src.alpha)) .Unpremultiply(); - case BlendMode::kPlusAdvanced: - [[fallthrough]]; case BlendMode::kPlus: // r = min(s + d, 1) return (Min(src.Premultiply() + dst.Premultiply(), 1)).Unpremultiply(); diff --git a/impeller/geometry/color.h b/impeller/geometry/color.h index 59805e952ec02..c90c696066ed6 100644 --- a/impeller/geometry/color.h +++ b/impeller/geometry/color.h @@ -45,7 +45,6 @@ V(Hue) \ V(Saturation) \ V(Color) \ - V(PlusAdvanced) \ V(Luminosity) namespace impeller { @@ -92,7 +91,6 @@ enum class BlendMode : uint8_t { kHue, kSaturation, kColor, - kPlusAdvanced, kLuminosity, kLast = kLuminosity, diff --git a/impeller/geometry/geometry_unittests.cc b/impeller/geometry/geometry_unittests.cc index b5f1a4c5764b2..110209edacfce 100644 --- a/impeller/geometry/geometry_unittests.cc +++ b/impeller/geometry/geometry_unittests.cc @@ -1480,7 +1480,6 @@ const std::map ColorBlendTestData::kExpectedResults[sizeof( {BlendMode::kHue, {0.617208, 0.655639, 0.724659, 0.9375}}, {BlendMode::kSaturation, {0.617208, 0.655639, 0.724659, 0.9375}}, {BlendMode::kColor, {0.617208, 0.655639, 0.724659, 0.9375}}, - {BlendMode::kPlusAdvanced, {1, 1, 1, 1}}, {BlendMode::kLuminosity, {0.878431, 0.916863, 0.985882, 0.9375}}, }, { @@ -1512,7 +1511,6 @@ const std::map ColorBlendTestData::kExpectedResults[sizeof( {BlendMode::kHue, {0.266235, 0.748588, 0.373686, 0.9375}}, {BlendMode::kSaturation, {0.339345, 0.629787, 0.811502, 0.9375}}, {BlendMode::kColor, {0.241247, 0.765953, 0.348698, 0.9375}}, - {BlendMode::kPlusAdvanced, {0.441176, 1, 0.844118, 1}}, {BlendMode::kLuminosity, {0.346988, 0.622282, 0.776792, 0.9375}}, }, { @@ -1544,7 +1542,6 @@ const std::map ColorBlendTestData::kExpectedResults[sizeof( {BlendMode::kHue, {0.417208, 0.455639, 0.524659, 0.9375}}, {BlendMode::kSaturation, {0.417208, 0.455639, 0.524659, 0.9375}}, {BlendMode::kColor, {0.417208, 0.455639, 0.524659, 0.9375}}, - {BlendMode::kPlusAdvanced, {0.294118, 0.438235, 0.697059, 1}}, {BlendMode::kLuminosity, {0.0784314, 0.116863, 0.185882, 0.9375}}, }, }; diff --git a/impeller/tools/malioc.json b/impeller/tools/malioc.json index 81a7a27517de2..a94fac3acce2b 100644 --- a/impeller/tools/malioc.json +++ b/impeller/tools/malioc.json @@ -7851,8 +7851,8 @@ "varying" ], "longest_path_cycles": [ - 0.234375, - 0.234375, + 0.21875, + 0.21875, 0.0, 0.0, 0.0, @@ -7872,8 +7872,8 @@ "varying" ], "shortest_path_cycles": [ - 0.234375, - 0.234375, + 0.21875, + 0.21875, 0.0, 0.0, 0.0, @@ -7884,8 +7884,8 @@ "varying" ], "total_cycles": [ - 0.234375, - 0.234375, + 0.21875, + 0.21875, 0.0, 0.0, 0.0, diff --git a/testing/impeller_golden_tests_output.txt b/testing/impeller_golden_tests_output.txt index 688d0d6b9cc09..d0796e370311f 100644 --- a/testing/impeller_golden_tests_output.txt +++ b/testing/impeller_golden_tests_output.txt @@ -57,9 +57,6 @@ impeller_Play_AiksTest_BlendModeMultiply_Vulkan.png impeller_Play_AiksTest_BlendModeOverlay_Metal.png impeller_Play_AiksTest_BlendModeOverlay_OpenGLES.png impeller_Play_AiksTest_BlendModeOverlay_Vulkan.png -impeller_Play_AiksTest_BlendModePlusAdvanced_Metal.png -impeller_Play_AiksTest_BlendModePlusAdvanced_OpenGLES.png -impeller_Play_AiksTest_BlendModePlusAdvanced_Vulkan.png impeller_Play_AiksTest_BlendModePlusAlphaColorFilterWideGamut_Metal.png impeller_Play_AiksTest_BlendModePlusAlphaWideGamut_Metal.png impeller_Play_AiksTest_BlendModePlus_Metal.png @@ -149,9 +146,6 @@ impeller_Play_AiksTest_BlendModeSrcAlphaMultiply_Vulkan.png impeller_Play_AiksTest_BlendModeSrcAlphaOverlay_Metal.png impeller_Play_AiksTest_BlendModeSrcAlphaOverlay_OpenGLES.png impeller_Play_AiksTest_BlendModeSrcAlphaOverlay_Vulkan.png -impeller_Play_AiksTest_BlendModeSrcAlphaPlusAdvanced_Metal.png -impeller_Play_AiksTest_BlendModeSrcAlphaPlusAdvanced_OpenGLES.png -impeller_Play_AiksTest_BlendModeSrcAlphaPlusAdvanced_Vulkan.png impeller_Play_AiksTest_BlendModeSrcAlphaPlus_Metal.png impeller_Play_AiksTest_BlendModeSrcAlphaPlus_OpenGLES.png impeller_Play_AiksTest_BlendModeSrcAlphaPlus_Vulkan.png