1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/skia/trunk/src/opts/SkBlitMask_opts_arm.cpp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,46 @@ 1.4 + 1.5 +#include "SkColor.h" 1.6 +#include "SkColorPriv.h" 1.7 +#include "SkBlitMask.h" 1.8 +#include "SkUtilsArm.h" 1.9 +#include "SkBlitMask_opts_arm_neon.h" 1.10 + 1.11 +SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkBitmap::Config dstConfig, 1.12 + SkMask::Format maskFormat, 1.13 + SkColor color) { 1.14 +#if SK_ARM_NEON_IS_NONE 1.15 + return NULL; 1.16 +#else 1.17 +/* ** This has been disabled until we can diagnose and fix the SIGILL generated 1.18 + ** in the NEON code. See http://skbug.com/2067 for details. 1.19 +#if SK_ARM_NEON_IS_DYNAMIC 1.20 + if (!sk_cpu_arm_has_neon()) { 1.21 + return NULL; 1.22 + } 1.23 +#endif 1.24 + if ((SkBitmap::kARGB_8888_Config == dstConfig) && 1.25 + (SkMask::kA8_Format == maskFormat)) { 1.26 + return D32_A8_Factory_neon(color); 1.27 + } 1.28 +*/ 1.29 +#endif 1.30 + 1.31 + // We don't need to handle the SkMask::kLCD16_Format case as the default 1.32 + // LCD16 will call us through SkBlitMask::PlatformBlitRowProcs16() 1.33 + 1.34 + return NULL; 1.35 +} 1.36 + 1.37 +SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { 1.38 + if (isOpaque) { 1.39 + return SK_ARM_NEON_WRAP(SkBlitLCD16OpaqueRow); 1.40 + } else { 1.41 + return SK_ARM_NEON_WRAP(SkBlitLCD16Row); 1.42 + } 1.43 +} 1.44 + 1.45 +SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkBitmap::Config dstConfig, 1.46 + SkMask::Format maskFormat, 1.47 + RowFlags flags) { 1.48 + return NULL; 1.49 +}