Chromium Code Reviews| Index: src/opts/SkBlitMask_opts_arm.cpp |
| diff --git a/src/opts/SkBlitMask_opts_arm.cpp b/src/opts/SkBlitMask_opts_arm.cpp |
| index 0ad091938712e18b58a6b6917f1abb30536e4a5d..10092936294188a0928feeff3b96ee874c70eec8 100644 |
| --- a/src/opts/SkBlitMask_opts_arm.cpp |
| +++ b/src/opts/SkBlitMask_opts_arm.cpp |
| @@ -1,14 +1,40 @@ |
| +#include "SkColor.h" |
| +#include "SkColorPriv.h" |
| #include "SkBlitMask.h" |
| +#include "SkUtilsArm.h" |
| +#include "SkBlitMask_opts_arm_neon.h" |
|
mtklein
2013/11/26 14:44:01
Looks like this file is missing?
kevin.petit.not.used.account
2013/11/26 16:23:32
Done.
|
| SkBlitMask::ColorProc SkBlitMask::PlatformColorProcs(SkBitmap::Config dstConfig, |
| SkMask::Format maskFormat, |
| SkColor color) { |
| +#if SK_ARM_NEON_IS_NONE |
| + return NULL; |
| +#else |
| +#if SK_ARM_NEON_IS_DYNAMIC |
| + if (!sk_cpu_arm_has_neon()) { |
| + return NULL; |
| + } |
| +#endif |
| + if ((SkBitmap::kARGB_8888_Config == dstConfig) && |
| + (SkMask::kA8_Format == maskFormat)) { |
| + |
|
mtklein
2013/11/26 14:44:01
stray newline here
kevin.petit.not.used.account
2013/11/26 16:23:32
Done.
|
| + return D32_A8_Factory_neon(color); |
| + } |
| +#endif |
| + |
| + // We don't need to handle the SkMask::kLCD16_Format case as the default |
| + // LCD16 will call us through SkBlitMask::PlatformBlitRowProcs16() |
| + |
| return NULL; |
| } |
| SkBlitMask::BlitLCD16RowProc SkBlitMask::PlatformBlitRowProcs16(bool isOpaque) { |
| - return NULL; |
| + if (isOpaque) { |
| + return SK_ARM_NEON_WRAP(SkBlitLCD16OpaqueRow); |
| + } else { |
| + return SK_ARM_NEON_WRAP(SkBlitLCD16Row); |
| + } |
| } |
| SkBlitMask::RowProc SkBlitMask::PlatformRowProcs(SkBitmap::Config dstConfig, |