Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1631)

Unified Diff: src/effects/SkBlurMask.cpp

Issue 17035007: Fix quickReject computation for blurs (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: cleaned up more Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/effects/SkBlurMask.cpp
===================================================================
--- src/effects/SkBlurMask.cpp (revision 9604)
+++ src/effects/SkBlurMask.cpp (working copy)
@@ -11,15 +11,8 @@
#include "SkMath.h"
#include "SkTemplates.h"
#include "SkEndian.h"
+#include "SkBlurMaskFilter.h"
-// scale factor for the blur radius to match the behavior of the all existing blur
-// code (both on the CPU and the GPU). This magic constant is 1/sqrt(3).
-
-// TODO: get rid of this fudge factor and move any required fudging up into
-// the calling library
-
-#define kBlurRadiusFudgeFactor SkFloatToScalar( .57735f )
-
#define UNROLL_SEPARABLE_LOOPS
/**
@@ -495,7 +488,7 @@
// to approximate a Gaussian blur
int passCount = (kHigh_Quality == quality) ? 3 : 1;
SkScalar passRadius = (kHigh_Quality == quality) ?
- SkScalarMul( radius, kBlurRadiusFudgeFactor):
+ SkScalarMul( radius, SkBlurMaskFilter::kBlurRadiusFudgeFactor):
radius;
int rx = SkScalarCeil(passRadius);
@@ -715,7 +708,7 @@
SkIPoint *margin, SkMask::CreateMode createMode) {
int profile_size;
- float radius = SkScalarToFloat(SkScalarMul(provided_radius, kBlurRadiusFudgeFactor));
+ float radius = SkScalarToFloat(SkScalarMul(provided_radius, SkBlurMaskFilter::kBlurRadiusFudgeFactor));
// adjust blur radius to match interpretation from boxfilter code
radius = (radius + .5f) * 2.f;
@@ -851,7 +844,7 @@
return false;
}
- float radius = SkScalarToFloat(SkScalarMul(provided_radius, kBlurRadiusFudgeFactor));
+ float radius = SkScalarToFloat(SkScalarMul(provided_radius, SkBlurMaskFilter::kBlurRadiusFudgeFactor));
float stddev = SkScalarToFloat(radius) /2.0f;
float variance = stddev * stddev;

Powered by Google App Engine
This is Rietveld 408576698