Index: src/opts/SkXfermode_opts_SSE2.h |
diff --git a/src/opts/SkXfermode_opts_SSE2.h b/src/opts/SkXfermode_opts_SSE2.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f2226fa4fd446a5246312d20a158db1b7284953f |
--- /dev/null |
+++ b/src/opts/SkXfermode_opts_SSE2.h |
@@ -0,0 +1,30 @@ |
+#ifndef SkXfermode_opts_SSE2_DEFINED |
+#define SkXfermode_opts_SSE2_DEFINED |
+ |
+#include "SkXfermode_proccoeff.h" |
+ |
+class SkSSE2ProcCoeffXfermode : public SkProcCoeffXfermode { |
+public: |
+ SkSSE2ProcCoeffXfermode(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; |
+ virtual void xfer16(uint16_t dst[], const SkPMColor src[], |
+ int count, const SkAlpha aa[]) const SK_OVERRIDE; |
+ |
+ SK_TO_STRING_OVERRIDE() |
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSSE2ProcCoeffXfermode) |
+ |
+private: |
+ SkSSE2ProcCoeffXfermode(SkReadBuffer& buffer); |
+ |
+ void* fProcSIMD; |
+ typedef SkProcCoeffXfermode INHERITED; |
+}; |
+ |
+SkProcCoeffXfermode* SkPlatformXfermodeFactory_impl_SSE2(const ProcCoeff& rec, |
+ SkXfermode::Mode mode); |
+ |
+#endif // SkXfermode_opts_SSE2_DEFINED |