Evenly space gradient stage.
authorherb <herb@google.com>
Thu, 11 May 2017 20:54:23 +0000 (16:54 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Thu, 11 May 2017 21:24:28 +0000 (21:24 +0000)
commit892501d09bc8608704362235c73a59bb23a386b3
tree379a98c316db1c2129824d3de6c6a1e21907b89a
parentd95236dab0ae47a510530c340e6eaa72d3c616b6
Evenly space gradient stage.

This seems like an experiment at this point because I don't know how to do
this kind of thing on arm.

Numbers from Skylake...
Before:
./out/Release/nanobench --config srgb \
--match gradient_linear_clamp_3color gradient_linear_clamp_hicolor -q                                                                        19:48:13
Timer overhead: 36.7ns
! -> high variance, ? -> moderate variance
    micros      bench
    439.92 ?    gradient_linear_clamp_3color    srgb
   2697.60      gradient_linear_clamp_hicolor   srgb
    437.28      gradient_linear_clamp_3color_4f srgb
   2700.50      gradient_linear_clamp_hicolor_4f        srgb

After:
   micros      bench
    382.35      gradient_linear_clamp_3color    srgb
    593.49      gradient_linear_clamp_hicolor   srgb
    382.36      gradient_linear_clamp_3color_4f srgb
    565.60      gradient_linear_clamp_hicolor_4f        srgb

Numbers on my Mac Trashcan are about even; there is no
speedup or slowdown between master and this change.

Change-Id: I04402452e23c0888512362fd1d6d5436cea61719
Reviewed-on: https://skia-review.googlesource.com/15960
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
src/core/SkRasterPipeline.h
src/effects/gradients/SkGradientShader.cpp
src/jumper/SkJumper_generated.S
src/jumper/SkJumper_generated_win.S
src/jumper/SkJumper_stages.cpp