skia2/modules/sksg/src
Florin Malita ccacfa02d2 [skottie] Caching motion tile
Update MotionTileEffect to avoid rebuilding shaders redundantly,
at render time:

  1) build all shaders at revalidation time
  2) cache the layer content picture separately, and only rebuild when
     the layer content changes

To support #2, add some SG helpers for querying subtree inval state.

With this change, we avoid all render time allocations.

Notry: true
Change-Id: I55a1f95752704af6a667b266e725492de6640387
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/226512
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2019-07-10 19:13:41 +00:00
..
SkSGClipEffect.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGColorFilter.cpp stop calling legacy 255-biased colormatrix 2019-04-30 16:59:36 +00:00
SkSGDraw.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGEffectNode.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGGeometryNode.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGGeometryTransform.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGGradient.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGGroup.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGImage.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGInvalidationController.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGMaskEffect.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGMerge.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGNode.cpp [sksg] RenderNode visibility control 2019-06-19 00:49:15 +00:00
SkSGNodePriv.h [skottie] Caching motion tile 2019-07-10 19:13:41 +00:00
SkSGOpacityEffect.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGPaint.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGPath.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGPlane.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGRect.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGRenderEffect.cpp [skottie] Linear Wipe effect 2019-06-19 13:22:53 +00:00
SkSGRenderNode.cpp [skottie] Caching motion tile 2019-07-10 19:13:41 +00:00
SkSGRoundEffect.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGScene.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGText.cpp Use SkTextEncoding enum instead of macros. 2019-05-07 20:54:16 +00:00
SkSGTransform.cpp [skottie] Parented camera support 2019-04-25 17:02:49 +00:00
SkSGTransformPriv.h rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00
SkSGTrimEffect.cpp rewrite includes to not need so much -Ifoo 2019-04-24 16:27:11 +00:00