skia2/modules/sksg
Florin Malita e359aa35d1 [sksg] Fix mask/context overrides interaction
We're currently letting render context overrides (opacity, color
filters, blend mode, etc) spill down the descendent/mask content
tree.

This is not ideal, as mask content isolation breaks atomicity
assumptions for deferred overrides.  Case in point: motion blur uses
SkBlendMode::kPlus to accumulate content "layers" - but since mask
content gets rendered into a separate layer, it fails to produce the
expected result.

The fix is to realize all context overrides on the top-level mask layer
(we already allocate this layer, so there's no reason to defer
downstream anyway).

Change-Id: Icbb7e403f90feecfae5846697f559a03d8aa4097
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239036
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-09-04 14:09:44 +00:00
..
include [skottie] Harden motion blur 2019-08-27 00:21:12 +00:00
samples [skottie] Expose SG inval controller on seek() 2019-07-22 16:33:15 +00:00
src [sksg] Fix mask/context overrides interaction 2019-09-04 14:09:44 +00:00
tests [sksg] Fix setVisible() invalidation 2019-07-23 14:16:39 +00:00
BUILD.gn GN: split out skia_*_public from skia_*_sources 2019-03-15 18:29:19 +00:00
sksg.gni [skottie] Caching motion tile 2019-07-10 19:13:41 +00:00