b43a3e0160
Before this, fNext always pointed at the next (prev) saveLayer in the stack. Typically each layer is isolated, as it is defined to "consume" the current clip. Android has an option to not affect/consume the clip, hence the support for looping through this link-list in updateMC(). The current code always executes this loop, subtracting the current layer's clip from the global clip, so typically the 2nd iteration will see an empty remaining clip and draw nothing ... but we still pay for the subtract and the draw-overhead. This change makes fNext point to the next layer ONLY if the current layer was marked as non-consuming. As a side-effect, this change also now detects the "last" restore by looking for fMCRec == null, rather than fNext == nullptr. fMCRec was always null on the last layer, so this change is safe, and could have landed independently. BUG=skia:6214 Change-Id: I787574fa35c4869d3b884054aece925f457ad5bd Reviewed-on: https://skia-review.googlesource.com/8348 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com> |
||
---|---|---|
animations | ||
bench | ||
bin | ||
debugger | ||
dm | ||
example | ||
experimental | ||
fuzz | ||
gm | ||
gn | ||
include | ||
infra | ||
platform_tools | ||
resources | ||
samplecode | ||
site | ||
src | ||
tests | ||
third_party | ||
tools | ||
.clang-format | ||
.gitignore | ||
.gn | ||
AUTHORS | ||
BUILD.gn | ||
codereview.settings | ||
CONTRIBUTING | ||
CQ_COMMITTERS | ||
DEPS | ||
Doxyfile | ||
LICENSE | ||
OWNERS | ||
PRESUBMIT.py | ||
public.bzl | ||
README | ||
README.chromium | ||
whitespace.txt |
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. See full details, and build instructions, at https://skia.org.