6529990763
There were two issues leading to the corruption seen in the linked chromium issue. 1. The draw's bounds were calculated based on the quad being clipped to w>= epsilon, which is what happens when the AA inset/outset is done. But for non-aa quads, the fillrect and texture ops did no clipping, assuming that the GPU would be sufficient. However, this can produce non-aa draws that exceed the calculated bounds, misleading the clip stack into incorrectly removing the scissor, etc. 2. Precision issues within CropToRect meant some perspective quads' barycentric coordinates would become degenerate and compute to (0,0,1), making it appear as if the render target/scissor were contained within it. This meant we'd turn it into a rectangular clear. These changes appear to address the corruption on Linux and Windows, but there are still rendering artifacts from poor aa inset/outset calculations. These artifacts are at least limited to the clip properly. A better rendering method that does not rely on line intersections will address these artifacts, but this CL is a reasonable temporary mitigation. Bug: chromium:1204347 Change-Id: I3c67d4efe70313ae7c98abc0a57b5b047c83890d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/407821 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Michael Ludwig <michaelludwig@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 | ||
DIR_METADATA | ||
go.mod | ||
go.sum | ||
LICENSE | ||
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.