Index: src/opts/SkBlitRow_opts_arm_neon.cpp |
diff --git a/src/opts/SkBlitRow_opts_arm_neon.cpp b/src/opts/SkBlitRow_opts_arm_neon.cpp |
index 93bd8516e31b9e89065d177ca8df248034ad0ecf..0755f5d61dae131b903e9b4d92ddd9eb40902d06 100644 |
--- a/src/opts/SkBlitRow_opts_arm_neon.cpp |
+++ b/src/opts/SkBlitRow_opts_arm_neon.cpp |
@@ -1740,10 +1740,10 @@ void sk_blitrow_color32_arm_neon(SkPMColor* dst, const SkPMColor* src, int count |
invA += invA >> 7; |
SkASSERT(invA < 256); // Our caller has already handled the alpha == 0 case. |
- Sk16h colorHighAndRound = Sk4px(color).widenHi() + Sk16h(128); |
+ Sk16h colorHighAndRound = Sk4px::DupPMColor(color).widenHi() + Sk16h(128); |
Sk16b invA_16x(invA); |
Sk4px::MapSrc(count, dst, src, [&](const Sk4px& src4) -> Sk4px { |
- return src4.mulWiden(invA_16x).addNarrowHi(colorHighAndRound); |
+ return (src4 * invA_16x).addNarrowHi(colorHighAndRound); |
}); |
} |