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

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

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

mercurial