8#ifndef skgpu_BlurUtils_DEFINED
9#define skgpu_BlurUtils_DEFINED
115 std::array<SkV4, kMaxBlurSamples/4>& kernel);
143 std::array<SkV4, kMaxBlurSamples/2>& offsetsAndKernel);
#define sk_float_ceil2int(x)
constexpr bool BlurIsEffectivelyIdentity(float sigma)
SkBitmap CreateRRectBlurMask(const SkRRect &rrectToDraw, const SkISize &dimensions, float sigma)
static constexpr int kMaxBlurSamples
SkBitmap CreateIntegralTable(float sixSigma)
int ComputeIntegralTableWidth(float sixSigma)
static constexpr float kMaxLinearBlurSigma
void Compute1DBlurKernel(float sigma, int radius, SkSpan< float > kernel)
void Compute2DBlurOffsets(SkISize radius, std::array< SkV4, kMaxBlurSamples/2 > &offsets)
SkBitmap CreateCircleProfile(float sigma, float radius, int profileWidth)
const SkRuntimeEffect * GetLinearBlur1DEffect(int radius)
int BlurSigmaRadius(float sigma)
constexpr int BlurKernelWidth(int radius)
void Compute2DBlurKernel(SkSize sigma, SkISize radius, SkSpan< float > kernel)
constexpr int BlurLinearKernelWidth(int radius)
SkBitmap CreateHalfPlaneProfile(int profileWidth)
const SkRuntimeEffect * GetBlur2DEffect(const SkISize &radii)
void Compute1DBlurLinearKernel(float sigma, int radius, std::array< SkV4, kMaxBlurSamples/2 > &offsetsAndKernel)