diff --git a/engine/src/flutter/impeller/entity/contents/line_contents.cc b/engine/src/flutter/impeller/entity/contents/line_contents.cc index 165645f97d..4c20026c41 100644 --- a/engine/src/flutter/impeller/entity/contents/line_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/line_contents.cc @@ -162,7 +162,7 @@ bool LineContents::Render(const ContentContext& renderer, VS::FrameInfo frame_info; FS::FragInfo frag_info; - frag_info.color = color_.Premultiply(); + frag_info.color = color_; PipelineBuilderCallback pipeline_callback = [&renderer](ContentContextOptions options) { diff --git a/engine/src/flutter/impeller/entity/shaders/line.frag b/engine/src/flutter/impeller/entity/shaders/line.frag index 32455a713a..23baa9506d 100644 --- a/engine/src/flutter/impeller/entity/shaders/line.frag +++ b/engine/src/flutter/impeller/entity/shaders/line.frag @@ -4,6 +4,7 @@ precision mediump float; +#include #include uniform FragInfo { @@ -41,4 +42,5 @@ float CalculateLine() { void main() { float line = CalculateLine(); frag_color = vec4(frag_info.color.xyz, line); + frag_color = IPPremultiply(frag_color); } diff --git a/engine/src/flutter/impeller/tools/malioc.json b/engine/src/flutter/impeller/tools/malioc.json index 97ef7c75ec..040e32c074 100644 --- a/engine/src/flutter/impeller/tools/malioc.json +++ b/engine/src/flutter/impeller/tools/malioc.json @@ -4431,16 +4431,16 @@ "uses_late_zs_update": false, "variants": { "Main": { - "fp16_arithmetic": 6, + "fp16_arithmetic": 0, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ "varying" ], "longest_path_cycles": [ - 0.21875, - 0.140625, - 0.21875, + 0.1875, + 0.1875, + 0.1875, 0.0, 0.0, 1.75, @@ -4459,9 +4459,9 @@ "varying" ], "shortest_path_cycles": [ - 0.140625, - 0.125, - 0.140625, + 0.171875, + 0.171875, + 0.109375, 0.0, 0.0, 1.75, @@ -4471,9 +4471,9 @@ "varying" ], "total_cycles": [ - 0.21875, - 0.140625, - 0.21875, + 0.1875, + 0.1875, + 0.1875, 0.0, 0.0, 1.75, @@ -8251,7 +8251,7 @@ "uses_late_zs_update": false, "variants": { "Main": { - "fp16_arithmetic": 15, + "fp16_arithmetic": 33, "has_stack_spilling": false, "performance": { "longest_path_bound_pipelines": [ @@ -8259,8 +8259,8 @@ ], "longest_path_cycles": [ 0.1875, - 0.140625, - 0.1875, + 0.171875, + 0.15625, 0.1875, 0.0, 1.75, @@ -8280,8 +8280,8 @@ ], "shortest_path_cycles": [ 0.1875, - 0.125, - 0.140625, + 0.15625, + 0.109375, 0.1875, 0.0, 1.75, @@ -8292,8 +8292,8 @@ ], "total_cycles": [ 0.1875, - 0.140625, - 0.1875, + 0.171875, + 0.15625, 0.1875, 0.0, 1.75, @@ -8302,7 +8302,7 @@ }, "stack_spill_bytes": 0, "thread_occupancy": 100, - "uniform_registers_used": 6, + "uniform_registers_used": 4, "work_registers_used": 18 } }