Home | History | Annotate | Download | only in opts
      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 
     12 SkMorphologyImageFilter::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