diff options
author | brianosman <brianosman@google.com> | 2016-06-23 11:33:21 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-06-23 11:33:21 -0700 |
commit | ff723af8b6bc7179132052fbab7d77ec2a20eba2 (patch) | |
tree | fa3b3de51e3a2ebc2459c3229ae4a17537d6f82c | |
parent | 9834696ed8bda2c1a5009b07e9092428cc1cd7bc (diff) |
Fix bug in filterSpan4f - read the source, rather than the dest
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2091793003
Review-Url: https://codereview.chromium.org/2091793003
-rw-r--r-- | src/core/SkColorFilter.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/SkColorFilter.cpp b/src/core/SkColorFilter.cpp index 9470766732..8a37e1b56c 100644 --- a/src/core/SkColorFilter.cpp +++ b/src/core/SkColorFilter.cpp @@ -37,19 +37,20 @@ sk_sp<GrFragmentProcessor> SkColorFilter::asFragmentProcessor(GrContext*) const } #endif -void SkColorFilter::filterSpan4f(const SkPM4f[], int count, SkPM4f span[]) const { +void SkColorFilter::filterSpan4f(const SkPM4f src[], int count, SkPM4f result[]) const { const int N = 128; SkPMColor tmp[N]; while (count > 0) { int n = SkTMin(count, N); for (int i = 0; i < n; ++i) { - SkNx_cast<uint8_t>(Sk4f::Load(span[i].fVec) * Sk4f(255) + Sk4f(0.5f)).store(&tmp[i]); + SkNx_cast<uint8_t>(Sk4f::Load(src[i].fVec) * Sk4f(255) + Sk4f(0.5f)).store(&tmp[i]); } this->filterSpan(tmp, n, tmp); for (int i = 0; i < n; ++i) { - span[i] = SkPM4f::FromPMColor(tmp[i]); + result[i] = SkPM4f::FromPMColor(tmp[i]); } - span += n; + src += n; + result += n; count -= n; } } |