Add support for NEON intrinsics to speed up texture compression. We can
now convert the time that we would have spent uploading the texture to
compressing it giving a net 50% memory savings for these things.
Committed: https://skia.googlesource.com/skia/+/bc9205be0a1094e312da098348601398c210dc5a
R=robertphillips@google.com, mtklein@google.com, kevin.petit@arm.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/390453002
diff --git a/gyp/opts.gyp b/gyp/opts.gyp
index e64264f..0c1bc0a 100644
--- a/gyp/opts.gyp
+++ b/gyp/opts.gyp
@@ -31,6 +31,7 @@
'include_dirs': [
'../src/core',
'../src/opts',
+ '../src/utils',
],
'conditions': [
[ 'skia_arch_type == "x86" and skia_os != "ios"', {
@@ -56,6 +57,7 @@
'../src/opts/SkBlitRect_opts_SSE2.cpp',
'../src/opts/SkBlurImage_opts_SSE2.cpp',
'../src/opts/SkMorphology_opts_SSE2.cpp',
+ '../src/opts/SkTextureCompression_opts_none.cpp',
'../src/opts/SkUtils_opts_SSE2.cpp',
'../src/opts/SkXfermode_opts_SSE2.cpp',
],
@@ -82,6 +84,7 @@
'../src/opts/SkBlitRow_opts_arm.cpp',
'../src/opts/SkBlurImage_opts_arm.cpp',
'../src/opts/SkMorphology_opts_arm.cpp',
+ '../src/opts/SkTextureCompression_opts_arm.cpp',
'../src/opts/SkUtils_opts_arm.cpp',
'../src/opts/SkXfermode_opts_arm.cpp',
],
@@ -107,6 +110,7 @@
'../src/opts/SkBlurImage_opts_none.cpp',
'../src/opts/SkMorphology_opts_none.cpp',
'../src/opts/SkUtils_opts_none.cpp',
+ '../src/opts/SkTextureCompression_opts_none.cpp',
'../src/opts/SkXfermode_opts_none.cpp',
],
'conditions': [
@@ -134,6 +138,7 @@
'../src/opts/SkBlurImage_opts_none.cpp',
'../src/opts/SkMorphology_opts_none.cpp',
'../src/opts/SkUtils_opts_none.cpp',
+ '../src/opts/SkTextureCompression_opts_none.cpp',
'../src/opts/SkXfermode_opts_none.cpp',
],
}],
@@ -158,6 +163,7 @@
'../src/opts/SkBlurImage_opts_neon.cpp',
'../src/opts/SkMorphology_opts_arm.cpp',
'../src/opts/SkMorphology_opts_neon.cpp',
+ '../src/opts/SkTextureCompression_opts_none.cpp',
'../src/opts/SkUtils_opts_none.cpp',
'../src/opts/SkXfermode_opts_arm.cpp',
'../src/opts/SkXfermode_opts_arm_neon.cpp',
@@ -180,6 +186,7 @@
],
'include_dirs': [
'../src/core',
+ '../src/utils',
],
'conditions': [
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos", "android"] \
@@ -211,6 +218,7 @@
],
'include_dirs': [
'../src/core',
+ '../src/utils',
],
'conditions': [
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "nacl", "chromeos", "android"] \
@@ -264,6 +272,7 @@
'include_dirs': [
'../src/core',
'../src/opts',
+ '../src/utils',
],
'cflags!': [
'-fno-omit-frame-pointer',
@@ -293,6 +302,7 @@
'../src/opts/SkBlitRow_opts_arm_neon.cpp',
'../src/opts/SkBlurImage_opts_neon.cpp',
'../src/opts/SkMorphology_opts_neon.cpp',
+ '../src/opts/SkTextureCompression_opts_neon.cpp',
'../src/opts/SkXfermode_opts_arm_neon.cpp',
],
},