michael@0: michael@0: #include "SkColor.h" michael@0: #include "SkColorPriv.h" michael@0: #include "SkBlitMask.h" michael@0: #include "SkUtilsArm.h" michael@0: #include "SkBlitMask_opts_arm_neon.h" michael@0: michael@0: SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkBitmap::Config dstConfig, michael@0: SkMask::Format maskFormat, michael@0: SkColor color) { michael@0: #if SK_ARM_NEON_IS_NONE michael@0: return NULL; michael@0: #else michael@0: /* ** This has been disabled until we can diagnose and fix the SIGILL generated michael@0: ** in the NEON code. See http://skbug.com/2067 for details. michael@0: #if SK_ARM_NEON_IS_DYNAMIC michael@0: if (!sk_cpu_arm_has_neon()) { michael@0: return NULL; michael@0: } michael@0: #endif michael@0: if ((SkBitmap::kARGB_8888_Config == dstConfig) && michael@0: (SkMask::kA8_Format == maskFormat)) { michael@0: return D32_A8_Factory_neon(color); michael@0: } michael@0: */ michael@0: #endif michael@0: michael@0: // We don't need to handle the SkMask::kLCD16_Format case as the default michael@0: // LCD16 will call us through SkBlitMask::PlatformBlitRowProcs16() michael@0: michael@0: return NULL; michael@0: } michael@0: michael@0: SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { michael@0: if (isOpaque) { michael@0: return SK_ARM_NEON_WRAP(SkBlitLCD16OpaqueRow); michael@0: } else { michael@0: return SK_ARM_NEON_WRAP(SkBlitLCD16Row); michael@0: } michael@0: } michael@0: michael@0: SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkBitmap::Config dstConfig, michael@0: SkMask::Format maskFormat, michael@0: RowFlags flags) { michael@0: return NULL; michael@0: }