Cache dst LUTs in SkColorSpaceXform
authorMatt Sarett <msarett@google.com>
Sun, 16 Oct 2016 14:20:41 +0000 (10:20 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Sun, 16 Oct 2016 14:51:57 +0000 (14:51 +0000)
commitf489886915034093278353d06c6f1973b2e8b7d2
tree284181b7f901cd0ac47ed0e52df17cc64a86fb49
parent24a865c2c048faa615fcdde3b209a9c10a9be923
Cache dst LUTs in SkColorSpaceXform

This is only useful in the rare case that the dst does not
fall into one of our main paths.

But it's a good optimization, since this does happen,
and typically, the dst won't change.

ColorCodecBench z620 --nonstd --xform_only
Without Patch 511us
With Patch    348us

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3400

Change-Id: Ibf68d9ce7072680465662922f4aa15630545e3d6
Reviewed-on: https://skia-review.googlesource.com/3400
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
bench/ColorCodecBench.cpp
include/core/SkColorSpaceXform.h
src/core/SkColorSpace.cpp
src/core/SkColorSpaceXform.cpp
src/core/SkColorSpaceXform_Base.h
src/core/SkColorSpace_Base.h
tests/ColorSpaceXformTest.cpp