Fix kernel width calculation in GPU-based Gaussian blur. When converting the
sigma value to a kernel width, it should be rounded up. Otherwise, for small
sigmas, the edge pixels of the kernel may be missing.
git-svn-id: http://skia.googlecode.com/svn/trunk@1891 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 513b5bb..90ab4bb 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -865,7 +865,7 @@
sigma *= 0.5f;
}
scaleRect(&srcRect, 1.0f / scaleFactor);
- int halfWidth = static_cast<int>(sigma * 3.0f);
+ int halfWidth = static_cast<int>(ceilf(sigma * 3.0f));
int kernelWidth = halfWidth * 2 + 1;
SkIRect srcIRect;