aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2016-11-07 16:56:53 -0500
committerGravatar Mike Klein <mtklein@chromium.org>2016-11-07 22:36:42 +0000
commitd23341bb5e7c231680d0c6ce1a3539a3992ddf5e (patch)
tree3037a9774ed90b0f56f3de0febf94166dab7f2d1
parent7d7d7d19462b75f5470492dc4820a02c1eba4af2 (diff)
GN: turn on libpng SSE2 filters
I was profiling and remembered GN hasn't turned on much CPU-specific code. I looked at zlib, then libpng, then libjpeg-turbo: - zlib was easy but not useful. No routine we use in decoding changes significantly. - libpng was easy and useful, and we were already using NEON filters on ARM. - libjpeg-turbo requires yasm and is annoying. BUG=skia:5875 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4531 Change-Id: Ie072a457da41ee6538eebacb5eb5dbe5a6eb585e Reviewed-on: https://skia-review.googlesource.com/4531 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com>
-rw-r--r--third_party/libpng/BUILD.gn9
1 files changed, 9 insertions, 0 deletions
diff --git a/third_party/libpng/BUILD.gn b/third_party/libpng/BUILD.gn
index 2e3c01c399..3e97f5569a 100644
--- a/third_party/libpng/BUILD.gn
+++ b/third_party/libpng/BUILD.gn
@@ -17,6 +17,7 @@ if (skia_use_system_libpng) {
third_party("libpng") {
public_include_dirs = [ "." ]
+ defines = []
deps = [
"//third_party/zlib",
]
@@ -44,5 +45,13 @@ if (skia_use_system_libpng) {
"arm/filter_neon_intrinsics.c",
]
}
+
+ if (current_cpu == "x86" || current_cpu == "x64") {
+ defines += [ "PNG_INTEL_SSE" ]
+ sources += [
+ "contrib/intel/filter_sse2_intrinsics.c",
+ "contrib/intel/intel_init.c",
+ ]
+ }
}
}