diff options
author | Mike Klein <mtklein@chromium.org> | 2016-11-07 16:56:53 -0500 |
---|---|---|
committer | Mike Klein <mtklein@chromium.org> | 2016-11-07 22:36:42 +0000 |
commit | d23341bb5e7c231680d0c6ce1a3539a3992ddf5e (patch) | |
tree | 3037a9774ed90b0f56f3de0febf94166dab7f2d1 | |
parent | 7d7d7d19462b75f5470492dc4820a02c1eba4af2 (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.gn | 9 |
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", + ] + } } } |