3bb195ef0d
Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD instruction set. Special case for when alpha is zero or opaque. Performance increase of 10%-400% compared to the existing SSE2 optimization (measured on Silvermont architecture). Noticeable in ~25 different skia bench subtests, especially in bitmap_8888_*, repeatTile_*, and morph_*. bitmap_8888_A - 100% faster bitmap_8888_A_source_transparent - 250% faster bitmap_8888_A_source_opaque - 25% faster bitmap_8888_A_scale_bicubic - 75% faster Signed-off-by: Henrik Smiding <henrik.smiding@intel.com> Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e Committed: https://skia.googlesource.com/skia/+/b5c281e1e06af3be804309877de1dac6145686b9 R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com Author: henrik.smiding@intel.com Review URL: https://codereview.chromium.org/289473009
62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
# The minimal set of static libraries for basic Skia functionality.
|
|
|
|
{
|
|
'variables': {
|
|
'component_libs': [
|
|
'core.gyp:core',
|
|
'effects.gyp:effects',
|
|
'images.gyp:images',
|
|
'opts.gyp:opts',
|
|
'ports.gyp:ports',
|
|
'sfnt.gyp:sfnt',
|
|
'utils.gyp:utils',
|
|
],
|
|
'conditions': [
|
|
[ 'skia_arch_type == "x86" and skia_os != "android"', {
|
|
'component_libs': [
|
|
'opts.gyp:opts_ssse3',
|
|
'opts.gyp:opts_sse4',
|
|
],
|
|
}],
|
|
[ 'arm_neon == 1', {
|
|
'component_libs': [
|
|
'opts.gyp:opts_neon',
|
|
],
|
|
}],
|
|
[ 'skia_gpu', {
|
|
'component_libs': [
|
|
'gpu.gyp:skgpu',
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
'targets': [
|
|
{
|
|
'target_name': 'skia_lib',
|
|
'conditions': [
|
|
[ 'skia_shared_lib', {
|
|
'conditions': [
|
|
[ 'skia_os == "android"', {
|
|
# The name skia will confuse the linker on android into using the system's libskia.so
|
|
# instead of the one packaged with the apk. We simply choose a different name to fix
|
|
# this.
|
|
'product_name': 'skia_android',
|
|
}, {
|
|
'product_name': 'skia',
|
|
}],
|
|
],
|
|
'type': 'shared_library',
|
|
}, {
|
|
'type': 'none',
|
|
}],
|
|
],
|
|
'dependencies': [
|
|
'<@(component_libs)',
|
|
],
|
|
'export_dependent_settings': [
|
|
'<@(component_libs)',
|
|
],
|
|
},
|
|
],
|
|
}
|