aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-01-25 08:37:30 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2016-01-25 08:37:30 -0800
commit5d2117015eb271e09faf4a7ddd89093c9d618a36 (patch)
tree9df94f2c78bf7b6cb79e570baf5db7d1ee3b50b9 /gyp
parent916de9ff18cf3caa29c0821b55244060b6f84f9d (diff)
AVX 2 SrcOver blits: color32, blitmask.
As a follow up to the SSE 4.1 CL, this should look pretty familiar. I've made some organizational changes around how we load, store, pack, and unpack data that I think makes things clearer and more orthogonal, and it'll make it easier to try out a pmaddubsw lerp. I have backported these changes to the SSE 4.1 code, and I hope that I can actually get a lot of this code templated for sharing between the two later. Perf changes (relative to SSE 4.1): Xfermode_SrcOver: 1650 -> 1180 (0.71x) // large opaque blit Xfermode_SrcOver_aa: 1794 -> 1653 (0.92x) // large opaque + small transparent text_16_AA_{FF,BK,WT}: 1.72 -> 1.59 (0.92x) // small opaque blit text_16_AA_88: 1.83 -> 1.77 (0.97x) // small transparent blit This should be a big throughout win, and a small latency win. This should all be pixel-exact to the previous SSE 4.1 code. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1532613002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1532613002
Diffstat (limited to 'gyp')
-rw-r--r--gyp/opts.gyp4
-rw-r--r--gyp/opts.gypi2
2 files changed, 3 insertions, 3 deletions
diff --git a/gyp/opts.gyp b/gyp/opts.gyp
index 396a37e3ef..ae4b294fdb 100644
--- a/gyp/opts.gyp
+++ b/gyp/opts.gyp
@@ -149,7 +149,7 @@
],
'sources': [ '<@(avx_sources)' ],
'msvs_settings': { 'VCCLCompilerTool': { 'EnableEnhancedInstructionSet': '3' } },
- 'xcode_settings': { 'OTHER_CFLAGS': [ '-mavx' ] },
+ 'xcode_settings': { 'OTHER_CPLUSPLUSFLAGS': [ '-mavx' ] },
'conditions': [
[ 'not skia_android_framework', { 'cflags': [ '-mavx' ] }],
],
@@ -167,7 +167,7 @@
],
'sources': [ '<@(avx2_sources)' ],
'msvs_settings': { 'VCCLCompilerTool': { 'EnableEnhancedInstructionSet': '5' } },
- 'xcode_settings': { 'OTHER_CFLAGS': [ '-mavx2' ] },
+ 'xcode_settings': { 'OTHER_CPLUSPLUSFLAGS': [ '-mavx2' ] },
'conditions': [
[ 'not skia_android_framework', { 'cflags': [ '-mavx2' ] }],
],
diff --git a/gyp/opts.gypi b/gyp/opts.gypi
index f2d36b9dfc..1a0d0300a4 100644
--- a/gyp/opts.gypi
+++ b/gyp/opts.gypi
@@ -60,6 +60,6 @@
'<(skia_src_path)/opts/SkOpts_avx.cpp',
],
'avx2_sources': [
- '<(skia_src_path)/core/SkForceCPlusPlusLinking.cpp',
+ '<(skia_src_path)/opts/SkOpts_avx2.cpp',
],
}