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 |
}; |