gfx/skia/trunk/src/opts/SkMorphology_opts_arm.cpp

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/skia/trunk/src/opts/SkMorphology_opts_arm.cpp	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,34 @@
     1.4 +/*
     1.5 + * Copyright 2014 ARM Ltd.
     1.6 + *
     1.7 + * Use of this source code is governed by a BSD-style license that can be
     1.8 + * found in the LICENSE file.
     1.9 + */
    1.10 +
    1.11 +#include "SkMorphology_opts.h"
    1.12 +#include "SkMorphology_opts_neon.h"
    1.13 +#include "SkUtilsArm.h"
    1.14 +
    1.15 +SkMorphologyImageFilter::Proc SkMorphologyGetPlatformProc(SkMorphologyProcType type) {
    1.16 +#if SK_ARM_NEON_IS_NONE
    1.17 +    return NULL;
    1.18 +#else
    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 +    switch (type) {
    1.25 +        case kDilateX_SkMorphologyProcType:
    1.26 +            return SkDilateX_neon;
    1.27 +        case kDilateY_SkMorphologyProcType:
    1.28 +            return SkDilateY_neon;
    1.29 +        case kErodeX_SkMorphologyProcType:
    1.30 +            return SkErodeX_neon;
    1.31 +        case kErodeY_SkMorphologyProcType:
    1.32 +            return SkErodeY_neon;
    1.33 +        default:
    1.34 +            return NULL;
    1.35 +    }
    1.36 +#endif
    1.37 +}

mercurial