Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1393)

Side by Side Diff: src/opts/SkXfermode_opts_arm_neon.h

Issue 395603002: Simplify flattening to just write enough to call the factory (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/opts/SkXfermode_opts_SSE2.cpp ('k') | src/opts/SkXfermode_opts_arm_neon.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #ifndef SkXfermode_opts_arm_neon_DEFINED 1 #ifndef SkXfermode_opts_arm_neon_DEFINED
2 #define SkXfermode_opts_arm_neon_DEFINED 2 #define SkXfermode_opts_arm_neon_DEFINED
3 3
4 #include "SkXfermode_proccoeff.h" 4 #include "SkXfermode_proccoeff.h"
5 5
6 class SkNEONProcCoeffXfermode : public SkProcCoeffXfermode { 6 class SkNEONProcCoeffXfermode : public SkProcCoeffXfermode {
7 public: 7 public:
8 SkNEONProcCoeffXfermode(const ProcCoeff& rec, SkXfermode::Mode mode, 8 SkNEONProcCoeffXfermode(const ProcCoeff& rec, SkXfermode::Mode mode,
9 void* procSIMD) 9 void* procSIMD)
10 : INHERITED(rec, mode), fProcSIMD(procSIMD) {} 10 : INHERITED(rec, mode), fProcSIMD(procSIMD) {}
11 11
12 virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count, 12 virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count,
13 const SkAlpha aa[]) const SK_OVERRIDE; 13 const SkAlpha aa[]) const SK_OVERRIDE;
14 virtual void xfer16(uint16_t* SK_RESTRICT dst, const SkPMColor* SK_RESTRICT src, 14 virtual void xfer16(uint16_t* SK_RESTRICT dst, const SkPMColor* SK_RESTRICT src,
15 int count, const SkAlpha* SK_RESTRICT aa) const SK_OVERR IDE; 15 int count, const SkAlpha* SK_RESTRICT aa) const SK_OVERR IDE;
16 16
17 SK_TO_STRING_OVERRIDE() 17 SK_TO_STRING_OVERRIDE()
18 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkNEONProcCoeffXfermode)
19 18
20 private: 19 private:
20 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
21 SkNEONProcCoeffXfermode(SkReadBuffer& buffer); 21 SkNEONProcCoeffXfermode(SkReadBuffer& buffer);
22 #endif
22 23
23 // void* is used to avoid pulling arm_neon.h in the core and having to build 24 // void* is used to avoid pulling arm_neon.h in the core and having to build
24 // it with -mfpu=neon. 25 // it with -mfpu=neon.
25 void* fProcSIMD; 26 void* fProcSIMD;
26 typedef SkProcCoeffXfermode INHERITED; 27 typedef SkProcCoeffXfermode INHERITED;
27 }; 28 };
28 29
29 extern SkPMColor srcatop_modeproc_neon(SkPMColor src, SkPMColor dst); 30 extern SkPMColor srcatop_modeproc_neon(SkPMColor src, SkPMColor dst);
30 extern SkPMColor dstatop_modeproc_neon(SkPMColor src, SkPMColor dst); 31 extern SkPMColor dstatop_modeproc_neon(SkPMColor src, SkPMColor dst);
31 extern SkPMColor xor_modeproc_neon(SkPMColor src, SkPMColor dst); 32 extern SkPMColor xor_modeproc_neon(SkPMColor src, SkPMColor dst);
32 extern SkPMColor plus_modeproc_neon(SkPMColor src, SkPMColor dst); 33 extern SkPMColor plus_modeproc_neon(SkPMColor src, SkPMColor dst);
33 extern SkPMColor modulate_modeproc_neon(SkPMColor src, SkPMColor dst); 34 extern SkPMColor modulate_modeproc_neon(SkPMColor src, SkPMColor dst);
34 35
35 #endif //#ifdef SkXfermode_opts_arm_neon_DEFINED 36 #endif //#ifdef SkXfermode_opts_arm_neon_DEFINED
OLDNEW
« no previous file with comments | « src/opts/SkXfermode_opts_SSE2.cpp ('k') | src/opts/SkXfermode_opts_arm_neon.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698