Gradient shaders: make fPtsToUnit const, pre-cache getType().
authormtklein <mtklein@chromium.org>
Wed, 10 Dec 2014 18:29:19 +0000 (10:29 -0800)
committerCommit bot <commit-bot@chromium.org>
Wed, 10 Dec 2014 18:29:19 +0000 (10:29 -0800)
commitcc695fee81613dc92746c1c6bb27f45cfc6ce73e
tree965f9657a0abd991f114f25369c527bddd98b8f1
parent6cfce1b7b4ad546b02823a1a0bbbda2c17b688f5
Gradient shaders: make fPtsToUnit const, pre-cache getType().

This prevents races when calling fPtsToUnit.getType() from multiple threads.

This introduces a small amount of redundant code in SkTwoPointRadialGradient,
but it's probably optimized together into no extra run-time work.

BUG=437511

Review URL: https://codereview.chromium.org/793763003
src/effects/gradients/SkGradientShader.cpp
src/effects/gradients/SkGradientShaderPriv.h
src/effects/gradients/SkLinearGradient.cpp
src/effects/gradients/SkRadialGradient.cpp
src/effects/gradients/SkSweepGradient.cpp
src/effects/gradients/SkTwoPointConicalGradient.cpp
src/effects/gradients/SkTwoPointConicalGradient.h
src/effects/gradients/SkTwoPointRadialGradient.cpp
src/effects/gradients/SkTwoPointRadialGradient.h