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
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