Add special case circle blur for Ganesh
This makes the blurcircles bench go from ~33us to ~8us on Windows desktop.
It will require layout test suppressions
Review URL: https://codereview.chromium.org/1311583005
diff --git a/src/effects/SkBlurMask.h b/src/effects/SkBlurMask.h
index 5c2a82e..b6c37fb 100644
--- a/src/effects/SkBlurMask.h
+++ b/src/effects/SkBlurMask.h
@@ -54,15 +54,14 @@
@param blurred_width The width of the final, blurred rectangle
@param sharp_width The width of the original, unblurred rectangle.
*/
- static uint8_t ProfileLookup(const uint8_t* profile, int loc, int blurred_width, int sharp_width);
+ static uint8_t ProfileLookup(const uint8_t* profile, int loc, int blurredWidth, int sharpWidth);
/** Allocate memory for and populate the profile of a 1D blurred halfplane. The caller
must free the memory. The amount of memory allocated will be exactly 6*sigma bytes.
@param sigma The standard deviation of the gaussian blur kernel
- @param profile_out The location to store the allocated profile curve
*/
- static void ComputeBlurProfile(SkScalar sigma, uint8_t** profile_out);
+ static uint8_t* ComputeBlurProfile(SkScalar sigma);
/** Compute an entire scanline of a blurred step function. This is a 1D helper that
will produce both the horizontal and vertical profiles of the blurry rectangle.