e267464b89
This also has several other bug fixes and refactorings within it that I realized were possible while updating every where that had checked sigma > 0 to be sigma > kEffectivelyZeroSigma. The big things are that SkBlurPriv.h goes away and its functions are just moved into SkGpuBlurUtils since they were only used by the GPU. The implementations of those functions are also collected into SkGpuBlurUtils.cpp. I removed the GrMatrixConvolution::MakeGaussian, in favor of SkGpuBlurUtils filling in the kernel itself and then calling the regular Make. This let me consolidate two different 1D kernel computing functions, and remove the 1D fallback code from the 2D kernel calculation because GaussianBlur() can detect that earlier. The new GM, BlurSigmaSmall, originally drew incorrectly on the GPU backend because it's small but non-zero sigma would trick the sigma > 0 checks in various places so we'd do a full 2 pass X/Y blur. However, when the sigma was too small, the kernel was just filled with 0s so the Y pass would effectively clear everything. While I could have just fixed that to be a [0, 1, 0] kernel, updating the blur pipeline to compare against integer radii seems more robust. Change-Id: I3c41e0235a27615a9056b25e627ffedd995264bd Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328797 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> |
||
---|---|---|
animations | ||
bazel | ||
bench | ||
bin | ||
build/fuchsia | ||
build_overrides | ||
client_utils/android | ||
demos.skia.org | ||
dm | ||
docker | ||
docs/examples | ||
example | ||
experimental | ||
fuzz | ||
gm | ||
gn | ||
include | ||
infra | ||
modules | ||
platform_tools | ||
resources | ||
samplecode | ||
site | ||
specs | ||
src | ||
tests | ||
third_party | ||
tools | ||
.bazelignore | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
.gn | ||
AUTHORS | ||
BUILD.bazel | ||
BUILD.gn | ||
codereview.settings | ||
CONTRIBUTING | ||
CQ_COMMITTERS | ||
DEPS | ||
go.mod | ||
go.sum | ||
LICENSE | ||
OWNERS | ||
PRESUBMIT.py | ||
public.bzl | ||
README | ||
README.chromium | ||
RELEASE_NOTES.txt | ||
whitespace.txt | ||
WORKSPACE.bazel |
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. See full details, and build instructions, at https://skia.org.