Index: src/opts/SkXfermode_opts_arm_neon.h |
diff --git a/src/opts/SkXfermode_opts_arm_neon.h b/src/opts/SkXfermode_opts_arm_neon.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..702b2160a7a74b8420f9cdbc7f77f5377d4d5fb2 |
--- /dev/null |
+++ b/src/opts/SkXfermode_opts_arm_neon.h |
@@ -0,0 +1,27 @@ |
+#ifndef SkXfermode_opts_arm_neon_DEFINED |
+#define SkXfermode_opts_arm_neon_DEFINED |
+ |
+#include "SkXfermode_proccoeff.h" |
+ |
+class SkNEONProcCoeffXfermode : public SkProcCoeffXfermode { |
+public: |
+ SkNEONProcCoeffXfermode(const ProcCoeff& rec, SkXfermode::Mode mode, |
+ void* procSIMD) |
+ : INHERITED(rec, mode), fProcSIMD(procSIMD) {} |
+ |
+ virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count, |
+ const SkAlpha aa[]) const SK_OVERRIDE; |
+ |
+ SK_DEVELOPER_TO_STRING() |
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkNEONProcCoeffXfermode) |
+ |
+private: |
+ SkNEONProcCoeffXfermode(SkFlattenableReadBuffer& buffer); |
+ |
+ // void* is used to avoid pulling arm_neon.h in the core and having to build |
+ // it with -mfpu=neon. |
+ void* fProcSIMD; |
+ typedef SkProcCoeffXfermode INHERITED; |
+}; |
+ |
+#endif //#ifdef SkXfermode_opts_arm_neon_DEFINED |