diff options
Diffstat (limited to 'gyp')
-rw-r--r-- | gyp/common_conditions.gypi | 6 | ||||
-rw-r--r-- | gyp/common_variables.gypi | 2 | ||||
-rw-r--r-- | gyp/opts.gyp | 17 |
3 files changed, 24 insertions, 1 deletions
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi index 82f63f375b..777473b9cf 100644 --- a/gyp/common_conditions.gypi +++ b/gyp/common_conditions.gypi @@ -8,6 +8,12 @@ 'SK_FORCE_DISTANCEFIELD_FONTS=<(skia_force_distancefield_fonts)', ], 'conditions' : [ + [ 'skia_arch_type == "arm64"', { + 'cflags': [ + '-ffp-contract=off', + ], + }], + [ 'skia_os == "win"', { 'defines': [ diff --git a/gyp/common_variables.gypi b/gyp/common_variables.gypi index 6145d47e01..0d749f4004 100644 --- a/gyp/common_variables.gypi +++ b/gyp/common_variables.gypi @@ -72,7 +72,7 @@ }, { 'skia_poppler_enabled%': 0, }], - [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "mac"]', { + [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "mac"] or skia_arch_type == "arm64"', { 'skia_arch_width%': 64, }, { 'skia_arch_width%': 32, diff --git a/gyp/opts.gyp b/gyp/opts.gyp index 2fd0e95809..783ea4eb7a 100644 --- a/gyp/opts.gyp +++ b/gyp/opts.gyp @@ -122,6 +122,23 @@ '-mno-apcs-frame', ] }], + [ 'skia_arch_type == "arm64"', { + 'sources': [ + '../src/opts/SkBitmapProcState_arm_neon.cpp', + '../src/opts/SkBitmapProcState_matrixProcs_neon.cpp', + '../src/opts/SkBitmapProcState_opts_arm.cpp', + '../src/opts/SkBlitMask_opts_arm.cpp', + '../src/opts/SkBlitMask_opts_arm_neon.cpp', + '../src/opts/SkBlitRow_opts_none.cpp', + '../src/opts/SkBlurImage_opts_arm.cpp', + '../src/opts/SkBlurImage_opts_neon.cpp', + '../src/opts/SkMorphology_opts_arm.cpp', + '../src/opts/SkMorphology_opts_neon.cpp', + '../src/opts/SkUtils_opts_none.cpp', + '../src/opts/SkXfermode_opts_arm.cpp', + '../src/opts/SkXfermode_opts_arm_neon.cpp', + ], + }], ], }, # For the same lame reasons as what is done for skia_opts, we have to |