skia2/gyp/core.gyp
commit-bot@chromium.org cd7992ba55 ARM Skia NEON patches - 30 - Xfermode: NEON modeprocs
Xfermode: NEON implementation of SIMD procs

This patch contains a NEON implementation for a number of Xfermodes.
It provides a big speedup on Xfermode benchmarks (currently up to 3x
with gcc4.7 but up to 10x when gcc produces optimal code for it).

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11777

Committed: http://code.google.com/p/skia/source/detail?r=11813

R=djsollen@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com

Author: kevin.petit.arm@gmail.com

Review URL: https://codereview.chromium.org/26627004

git-svn-id: http://skia.googlecode.com/svn/trunk@11843 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:34 +00:00

135 lines
3.8 KiB
Python

# Core Skia library code.
{
'targets': [
{
'target_name': 'core',
'product_name': 'skia_core',
'type': 'static_library',
'standalone_static_library': 1,
'msvs_guid': 'B7760B5E-BFA8-486B-ACFD-49E3A6DE8E76',
'includes': [
'core.gypi',
],
'include_dirs': [
'../include/config',
'../include/core',
'../include/lazy',
'../include/pathops',
'../include/pipe',
'../include/ports',
'../include/utils',
'../include/xml',
'../src/core',
'../src/opts',
'../src/image',
],
'sources': [
'core.gypi', # Makes the gypi appear in IDEs (but does not modify the build).
],
'msvs_disabled_warnings': [4244, 4267,4345, 4390, 4554, 4800],
'conditions': [
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
'link_settings': {
'libraries': [
'-lpthread',
],
},
}],
[ 'skia_os == "mac"', {
'include_dirs': [
'../include/utils/mac',
],
'sources': [
'../include/utils/mac/SkCGUtils.h',
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/ApplicationServices.framework',
],
},
}],
[ 'skia_os == "ios"', {
'include_dirs': [
'../include/utils/ios',
],
'sources': [
'../include/utils/mac/SkCGUtils.h',
],
'link_settings': {
'libraries': [
'$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
'$(SDKROOT)/System/Library/Frameworks/CoreText.framework',
'$(SDKROOT)/System/Library/Frameworks/UIKit.framework',
'$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
'$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
'$(SDKROOT)/System/Library/Frameworks/OpenGLES.framework',
'$(SDKROOT)/System/Library/Frameworks/ImageIO.framework',
'$(SDKROOT)/System/Library/Frameworks/MobileCoreServices.framework',
],
},
}],
[ 'skia_os == "win"', {
'include_dirs': [
'config/win',
],
}],
[ 'skia_os == "android"', {
'dependencies': [
'android_deps.gyp:cpu_features',
],
}],
[ 'skia_arch_type == "arm"', {
# The code in SkUtilsArm.cpp can be used on an ARM-based Linux system, not only Android.
'sources': [
'../src/core/SkUtilsArm.cpp',
'../src/core/SkUtilsArm.h',
],
}],
['skia_gpu == 1', {
'include_dirs': [
'../include/gpu',
'../src/gpu',
],
}],
],
'direct_dependent_settings': {
'include_dirs': [
'config',
'../include/config',
'../include/core',
'../include/lazy',
'../include/pathops',
'../include/pipe',
'ext',
],
'conditions': [
[ 'skia_os == "mac"', {
'include_dirs': [
'../include/utils/mac',
],
}],
[ 'skia_os == "ios"', {
'include_dirs': [
'../include/utils/ios',
],
}],
[ 'skia_os == "win"', {
'include_dirs': [
'config/win',
],
}],
],
},
},
],
}
# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2: