gfx/skia/trunk/src/opts/SkXfermode_opts_arm_neon.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 #ifndef SkXfermode_opts_arm_neon_DEFINED
michael@0 2 #define SkXfermode_opts_arm_neon_DEFINED
michael@0 3
michael@0 4 #include "SkXfermode_proccoeff.h"
michael@0 5
michael@0 6 class SkNEONProcCoeffXfermode : public SkProcCoeffXfermode {
michael@0 7 public:
michael@0 8 SkNEONProcCoeffXfermode(const ProcCoeff& rec, SkXfermode::Mode mode,
michael@0 9 void* procSIMD)
michael@0 10 : INHERITED(rec, mode), fProcSIMD(procSIMD) {}
michael@0 11
michael@0 12 virtual void xfer32(SkPMColor dst[], const SkPMColor src[], int count,
michael@0 13 const SkAlpha aa[]) const SK_OVERRIDE;
michael@0 14 virtual void xfer16(uint16_t* SK_RESTRICT dst, const SkPMColor* SK_RESTRICT src,
michael@0 15 int count, const SkAlpha* SK_RESTRICT aa) const SK_OVERRIDE;
michael@0 16
michael@0 17 SK_TO_STRING_OVERRIDE()
michael@0 18 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkNEONProcCoeffXfermode)
michael@0 19
michael@0 20 private:
michael@0 21 SkNEONProcCoeffXfermode(SkReadBuffer& buffer);
michael@0 22
michael@0 23 // void* is used to avoid pulling arm_neon.h in the core and having to build
michael@0 24 // it with -mfpu=neon.
michael@0 25 void* fProcSIMD;
michael@0 26 typedef SkProcCoeffXfermode INHERITED;
michael@0 27 };
michael@0 28
michael@0 29 extern SkPMColor srcatop_modeproc_neon(SkPMColor src, SkPMColor dst);
michael@0 30 extern SkPMColor dstatop_modeproc_neon(SkPMColor src, SkPMColor dst);
michael@0 31 extern SkPMColor xor_modeproc_neon(SkPMColor src, SkPMColor dst);
michael@0 32 extern SkPMColor plus_modeproc_neon(SkPMColor src, SkPMColor dst);
michael@0 33 extern SkPMColor modulate_modeproc_neon(SkPMColor src, SkPMColor dst);
michael@0 34
michael@0 35 #endif //#ifdef SkXfermode_opts_arm_neon_DEFINED

mercurial