bd64f18947
Introduce sksg::BlendModeEffect and use to wrap Skottie layers based on their "bm" property. Depending on the presence of non-trivial layer blend modes and the nature of the destination buffer (fully transparent vs. unknown/pre-filled), we may now need to render animation frames into a separate layer for correct compositing. Track the presence of non-trivial layer blend modes such that we only incur this extra layer overhead when needed. Also allow clients to pass a "drawing to fully transparent buffer" hint such that we can avoid the extra layer even when blend modes are present. Change-Id: Iaf645878666da4349d0bef8890bbecad23a0aa9b Reviewed-on: https://skia-review.googlesource.com/c/194840 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org> |
||
---|---|---|
.. | ||
SkSGClipEffect.cpp | ||
SkSGColor.cpp | ||
SkSGColorFilter.cpp | ||
SkSGDraw.cpp | ||
SkSGEffectNode.cpp | ||
SkSGGeometryNode.cpp | ||
SkSGGeometryTransform.cpp | ||
SkSGGradient.cpp | ||
SkSGGroup.cpp | ||
SkSGImage.cpp | ||
SkSGInvalidationController.cpp | ||
SkSGMaskEffect.cpp | ||
SkSGMerge.cpp | ||
SkSGNode.cpp | ||
SkSGOpacityEffect.cpp | ||
SkSGPaintNode.cpp | ||
SkSGPath.cpp | ||
SkSGPlane.cpp | ||
SkSGRect.cpp | ||
SkSGRenderEffect.cpp | ||
SkSGRenderNode.cpp | ||
SkSGRoundEffect.cpp | ||
SkSGScene.cpp | ||
SkSGText.cpp | ||
SkSGTransform.cpp | ||
SkSGTransformPriv.h | ||
SkSGTrimEffect.cpp |