Mike's radial gradient CL with better float -> int.
authormtklein <mtklein@chromium.org>
Mon, 27 Apr 2015 18:13:53 +0000 (11:13 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 27 Apr 2015 18:13:53 +0000 (11:13 -0700)
commitabf6c5cf95e921fae59efb487480e5b5081cf0ec
treef6f319b0a0d029afccc91b83d4ec7e45327c005c
parenta3a8eb6f630c5e163ce45503b970ea993737780d
Mike's radial gradient CL with better float -> int.

patch from issue 1072303005 at patchset 40001 (http://crrev.com/1072303005#ps40001)

This looks quite launchable.  radial_gradient3, min of 100 samples:
  N5:  985µs -> 946µs
  MBP: 395µs -> 279µs

On my MBP, most of the meat looks like it's now in reading the cache and writing to dst one color at a time.  Is that something we could do in float math rather than with a lookup table?

BUG=skia:

CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Debug-Trybot,Test-Android-GCC-Nexus9-CPU-Denver-Arm64-Debug-Trybot

Review URL: https://codereview.chromium.org/1109643002
gm/gradients.cpp
src/core/SkNx.h
src/effects/gradients/SkRadialGradient.cpp
src/opts/SkNx_neon.h
src/opts/SkNx_sse.h
tests/SkNxTest.cpp