commit | 5b181bfb2d27b699006315e55c83ed5e1fb64a6e | [log] [tgz] |
---|---|---|
author | Florin Malita <fmalita@chromium.org> | Sat Jul 13 09:03:37 2019 -0400 |
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | Mon Jul 15 21:41:28 2019 +0000 |
tree | f7bff55bef9a98a8e61e78f06e09235315245d45 | |
parent | 1dd97e268c04e6010149d554680f3fa1a6b5dc89 [diff] |
[skottie] Use kF16ColorType layers for motion blur This fixes the result quantization issue. TBR= Change-Id: I7b1f6e40792a4032f93aabc96beddaacf6d837c4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227259 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/modules/skottie/src/effects/MotionBlurEffect.cpp b/modules/skottie/src/effects/MotionBlurEffect.cpp index 9ab934b..ec1d963 100644 --- a/modules/skottie/src/effects/MotionBlurEffect.cpp +++ b/modules/skottie/src/effects/MotionBlurEffect.cpp
@@ -78,7 +78,8 @@ SkAutoCanvasRestore acr(canvas, false); - canvas->saveLayer(this->bounds(), nullptr); + // Accumulate in F16 for more precision. + canvas->saveLayer(SkCanvas::SaveLayerRec(&this->bounds(), nullptr, SkCanvas::kF16ColorType)); const auto frame_alpha = 1.0f / fSampleCount;