From 3f55eed73f5af405909c2c10bff179d80526d423 Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Thu, 2 Apr 2015 15:41:49 -0400 Subject: [PATCH] I suspect S32A_D565_Opaque_neon for Daisy problems. I don't see any color-order handling logic in the 32-bit code. BUG=skia:1843 CQ_EXCLUDE_TRYBOTS=client.skia.compile:Build-Win-MSVC-x86-Debug-Trybot,Build-Win-MSVC-x86_64-Debug-Trybot R=mtklein@google.com Review URL: https://codereview.chromium.org/1051683003 --- src/opts/SkBlitRow_opts_arm_neon.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/opts/SkBlitRow_opts_arm_neon.cpp b/src/opts/SkBlitRow_opts_arm_neon.cpp index 4465ff6ef5..85287af623 100644 --- a/src/opts/SkBlitRow_opts_arm_neon.cpp +++ b/src/opts/SkBlitRow_opts_arm_neon.cpp @@ -246,13 +246,19 @@ void S32A_D565_Opaque_neon(uint16_t* SK_RESTRICT dst, "vaddhn.u16 d6, q14, q8 \n\t" "vshr.u16 q8, q12, #5 \n\t" "vaddhn.u16 d5, q13, q9 \n\t" - "vqadd.u8 d6, d6, d0 \n\t" // moved up "vaddhn.u16 d4, q12, q8 \n\t" // intentionally don't calculate alpha // result in d4-d6 + #ifdef SK_PMCOLOR_IS_RGBA + "vqadd.u8 d6, d6, d0 \n\t" "vqadd.u8 d5, d5, d1 \n\t" "vqadd.u8 d4, d4, d2 \n\t" + #else + "vqadd.u8 d6, d6, d2 \n\t" + "vqadd.u8 d5, d5, d1 \n\t" + "vqadd.u8 d4, d4, d0 \n\t" + #endif // pack 8888 {d4-d6} to 0565 q10 "vshll.u8 q10, d6, #8 \n\t" @@ -326,13 +332,19 @@ void S32A_D565_Opaque_neon(uint16_t* SK_RESTRICT dst, "vaddhn.u16 d6, q14, q8 \n\t" "vshr.u16 q8, q12, #5 \n\t" "vaddhn.u16 d5, q13, q9 \n\t" - "vqadd.u8 d6, d6, d0 \n\t" // moved up "vaddhn.u16 d4, q12, q8 \n\t" // intentionally don't calculate alpha // result in d4-d6 + #ifdef SK_PMCOLOR_IS_RGBA + "vqadd.u8 d6, d6, d0 \n\t" "vqadd.u8 d5, d5, d1 \n\t" "vqadd.u8 d4, d4, d2 \n\t" + #else + "vqadd.u8 d6, d6, d2 \n\t" + "vqadd.u8 d5, d5, d1 \n\t" + "vqadd.u8 d4, d4, d0 \n\t" + #endif // pack 8888 {d4-d6} to 0565 q10 "vshll.u8 q10, d6, #8 \n\t"