aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-11-05 15:03:26 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-11-05 15:03:26 +0000
commitfedf13d73a6d6f1921ce5f449bb6e34e9d8e14e4 (patch)
tree6bc1f4830ddef4e58edfb28f6bbb0f03dbc4dd59 /src/effects
parentecdb6b326f416d945044d1f4be0f2b7ee7335f3a (diff)
Add SK_PREFETCH and use in SkBlurImageFilter.
Relative speed is 1.2-1.6x on desktop, 1.0-1.2x on Nexus 4. (Division remains the bottleneck, now more so.) BUG= R=senorblanco@google.com, reed@google.com, senorblanco@chromium.org Author: mtklein@google.com Review URL: https://codereview.chromium.org/57823003 git-svn-id: http://skia.googlecode.com/svn/trunk@12129 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/effects')
-rw-r--r--src/effects/SkBlurImageFilter.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/effects/SkBlurImageFilter.cpp b/src/effects/SkBlurImageFilter.cpp
index 2b823bc98b..0fa54b555c 100644
--- a/src/effects/SkBlurImageFilter.cpp
+++ b/src/effects/SkBlurImageFilter.cpp
@@ -144,6 +144,8 @@ static void boxBlurY(const SkBitmap& src, SkBitmap* dst, int kernelSize,
sumB += SkGetPackedB32(r);
}
sptr += srcStride;
+ // The next leading pixel seems to be too hard to predict. Hint the fetch.
+ SK_PREFETCH(sptr + (bottomOffset + 1) * srcStride);
dptr += dstStride;
}
}