1 /* 2 * Copyright 2014 ARM Ltd. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #include "SkMorphology_opts.h" 9 #include "SkMorphology_opts_neon.h" 10 #include "SkUtilsArm.h" 11 SkMorphologyGetPlatformProc(SkMorphologyProcType type)12SkMorphologyImageFilter::Proc SkMorphologyGetPlatformProc(SkMorphologyProcType type) { 13 #if SK_ARM_NEON_IS_NONE 14 return NULL; 15 #else 16 #if SK_ARM_NEON_IS_DYNAMIC 17 if (!sk_cpu_arm_has_neon()) { 18 return NULL; 19 } 20 #endif 21 switch (type) { 22 case kDilateX_SkMorphologyProcType: 23 return SkDilateX_neon; 24 case kDilateY_SkMorphologyProcType: 25 return SkDilateY_neon; 26 case kErodeX_SkMorphologyProcType: 27 return SkErodeX_neon; 28 case kErodeY_SkMorphologyProcType: 29 return SkErodeY_neon; 30 default: 31 return NULL; 32 } 33 #endif 34 } 35