Chromium Code Reviews| 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 f6fd0638b3642f2c69abe5b581ef7bbb00c994af..23848d8f55f2d8b64e8d23261da36fd5c30c5ec6 100644 |
| --- a/src/opts/SkBlitRow_opts_arm_neon.cpp |
| +++ b/src/opts/SkBlitRow_opts_arm_neon.cpp |
| @@ -17,6 +17,7 @@ |
| #include "SkColor_opts_neon.h" |
| #include <arm_neon.h> |
| +#ifdef SK_CPU_ARM |
|
mtklein
2014/06/02 18:19:49
Hmm. Does SK_CPU_ARM really mean SK_CPU_ARM32? If
kevin.petit
2014/06/03 09:30:52
Yes, indeed. Could we do that as a subsequent patc
|
| void S32_D565_Opaque_neon(uint16_t* SK_RESTRICT dst, |
| const SkPMColor* SK_RESTRICT src, int count, |
| U8CPU alpha, int /*x*/, int /*y*/) { |
| @@ -575,6 +576,7 @@ void S32_D565_Blend_Dither_neon(uint16_t *dst, const SkPMColor *src, |
| } while (--count != 0); |
| } |
| } |
| +#endif |
| void S32A_Opaque_BlitRow32_neon(SkPMColor* SK_RESTRICT dst, |
| const SkPMColor* SK_RESTRICT src, |
| @@ -919,6 +921,7 @@ void S32_Blend_BlitRow32_neon(SkPMColor* SK_RESTRICT dst, |
| } |
| } |
| +#ifdef SK_CPU_ARM |
| void S32A_Blend_BlitRow32_neon(SkPMColor* SK_RESTRICT dst, |
| const SkPMColor* SK_RESTRICT src, |
| int count, U8CPU alpha) { |
| @@ -1366,6 +1369,7 @@ void S32_D565_Opaque_Dither_neon(uint16_t* SK_RESTRICT dst, |
| } while (--count != 0); |
| } |
| } |
| +#endif |
| void Color32_arm_neon(SkPMColor* dst, const SkPMColor* src, int count, |
| SkPMColor color) { |
| @@ -1401,7 +1405,7 @@ void Color32_arm_neon(SkPMColor* dst, const SkPMColor* src, int count, |
| // load src color, 8 pixels, 4 64 bit registers |
| // (and increment src). |
| uint32x2x4_t vsrc; |
| -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)) |
| +#if defined(SK_CPU_ARM) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))) |
| asm ( |
| "vld1.32 %h[vsrc], [%[src]]!" |
| : [vsrc] "=w" (vsrc), [src] "+r" (src) |
| @@ -1443,7 +1447,7 @@ void Color32_arm_neon(SkPMColor* dst, const SkPMColor* src, int count, |
| // store back the 8 calculated pixels (2 128 bit |
| // registers), and increment dst. |
| -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)) |
| +#if defined(SK_CPU_ARM) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))) |
| asm ( |
| "vst1.32 %h[vdst], [%[dst]]!" |
| : [dst] "+r" (dst) |
| @@ -1471,6 +1475,7 @@ void Color32_arm_neon(SkPMColor* dst, const SkPMColor* src, int count, |
| /////////////////////////////////////////////////////////////////////////////// |
| const SkBlitRow::Proc sk_blitrow_platform_565_procs_arm_neon[] = { |
| +#ifdef SK_CPU_ARM |
| // no dither |
| S32_D565_Opaque_neon, |
| S32_D565_Blend_neon, |
| @@ -1482,6 +1487,10 @@ const SkBlitRow::Proc sk_blitrow_platform_565_procs_arm_neon[] = { |
| S32_D565_Blend_Dither_neon, |
| S32A_D565_Opaque_Dither_neon, |
| NULL, // S32A_D565_Blend_Dither |
| +#else |
| + NULL, NULL, NULL, NULL, |
| + NULL, NULL, NULL, NULL |
| +#endif |
| }; |
| const SkBlitRow::Proc32 sk_blitrow_platform_32_procs_arm_neon[] = { |
| @@ -1502,5 +1511,9 @@ const SkBlitRow::Proc32 sk_blitrow_platform_32_procs_arm_neon[] = { |
| #else |
| S32A_Opaque_BlitRow32_neon, // S32A_Opaque, |
| #endif |
| +#ifdef SK_CPU_ARM |
| S32A_Blend_BlitRow32_neon // S32A_Blend |
| +#else |
| + NULL |
| +#endif |
| }; |