SkNx: use SK_ALWAYS_INLINE thoroughly.
authorMike Klein <mtklein@chromium.org>
Wed, 19 Oct 2016 13:21:11 +0000 (09:21 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 19 Oct 2016 15:56:30 +0000 (15:56 +0000)
commit7c78f3a863c620d722f02d00b88de5b3cde298a4
tree64e2122bed852086d7811d101efd697d57e93568
parent520ced63cf0750e207223169a31edb2a16e5ca96
SkNx: use SK_ALWAYS_INLINE thoroughly.

MSVC's not so good at inlining.  So tell it where to.  It won't hurt the others.

This has nothing directly to do with ODR safety.  The anonymous namespaces and 'static' on freestanding functions provide the correctness we need there.  But this change can help to mechanically prevent the sort of problems ODR violations can lead to.

I may follow up by extending this strategy further to Sk4px, which is used to implement a lot of the legacy xfermodes.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3608
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I927334c40910ce43da1fbabdf243c9cd5438bea6
Reviewed-on: https://skia-review.googlesource.com/3608
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
src/core/SkNx.h
src/opts/SkNx_neon.h
src/opts/SkNx_sse.h