| Index: src/core/SkCpu.h
|
| diff --git a/src/core/SkCpu.h b/src/core/SkCpu.h
|
| deleted file mode 100644
|
| index b212da482c977667795fd2e80a8858208258588e..0000000000000000000000000000000000000000
|
| --- a/src/core/SkCpu.h
|
| +++ /dev/null
|
| @@ -1,90 +0,0 @@
|
| -/*
|
| - * Copyright 2016 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#ifndef SkCpu_DEFINED
|
| -#define SkCpu_DEFINED
|
| -
|
| -#include "SkTypes.h"
|
| -
|
| -struct SkCpu {
|
| - enum {
|
| - SSE1 = 1 << 0,
|
| - SSE2 = 1 << 1,
|
| - SSE3 = 1 << 2,
|
| - SSSE3 = 1 << 3,
|
| - SSE41 = 1 << 4,
|
| - SSE42 = 1 << 5,
|
| - AVX = 1 << 6,
|
| - F16C = 1 << 7,
|
| - FMA = 1 << 8,
|
| - AVX2 = 1 << 9,
|
| - };
|
| - enum {
|
| - NEON = 1 << 0,
|
| - NEON_FMA = 1 << 1,
|
| - VFP_FP16 = 1 << 2,
|
| - };
|
| -
|
| - static void CacheRuntimeFeatures();
|
| - static bool Supports(uint32_t);
|
| -private:
|
| -#if defined(_MSC_VER) || !defined(SkCpu_IMPL)
|
| - static const uint32_t gCachedFeatures;
|
| -#else
|
| - static uint32_t gCachedFeatures;
|
| -#endif
|
| -};
|
| -
|
| -inline bool SkCpu::Supports(uint32_t mask) {
|
| - uint32_t features = gCachedFeatures;
|
| -
|
| - // If we mask in compile-time known lower limits, the compiler can
|
| - // often compile away this entire function.
|
| -#if SK_CPU_X86
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
|
| - features |= SSE1;
|
| - #endif
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
|
| - features |= SSE2;
|
| - #endif
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE3
|
| - features |= SSE3;
|
| - #endif
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
|
| - features |= SSSE3;
|
| - #endif
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
|
| - features |= SSE41;
|
| - #endif
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE42
|
| - features |= SSE42;
|
| - #endif
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX
|
| - features |= AVX;
|
| - #endif
|
| - // F16C goes here if we add SK_CPU_SSE_LEVEL_F16C
|
| - #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2
|
| - features |= AVX2;
|
| - #endif
|
| - // FMA doesn't fit neatly into this total ordering.
|
| - // It's available on Haswell+ just like AVX2, but it's technically a different bit.
|
| - // TODO: circle back on this if we find ourselves limited by lack of compile-time FMA
|
| -
|
| -#else
|
| - #if defined(SK_ARM_HAS_NEON)
|
| - features |= NEON;
|
| - #endif
|
| -
|
| - #if defined(SK_CPU_ARM64)
|
| - features |= NEON|NEON_FMA|VFP_FP16;
|
| - #endif
|
| -
|
| -#endif
|
| - return (features & mask) == mask;
|
| -}
|
| -
|
| -#endif//SkCpu_DEFINED
|
|
|