fix SkJumper radial gradient precision
authorMike Klein <mtklein@chromium.org>
Mon, 15 May 2017 19:55:54 +0000 (15:55 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Mon, 15 May 2017 20:37:16 +0000 (20:37 +0000)
commitfd35c742bff9c7e39f1b6deeb2171d04ca895f0a
treea22f0cfa941722601e2c399eaa3ae5c3b06a5315
parent0dc6dd0a3f56798887d6d1d931485c5054f8c152
fix SkJumper radial gradient precision

rcp(rsqrt(x)) doesn't have enough precision when x is a coordinate.
(It's fine when x is a color, like in the softlight blend mode.)

Adds a GM to test this.  It used to look quite ugly.

Change-Id: Icec295c2e2f50ae7a5e3e33c62270f632a58f65c
Reviewed-on: https://skia-review.googlesource.com/16914
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
gm/radial_gradient_precision.cpp [new file with mode: 0644]
gn/gm.gni
src/jumper/SkJumper_generated.S
src/jumper/SkJumper_generated_win.S
src/jumper/SkJumper_stages.cpp
src/jumper/SkJumper_vectors.h