-
Notifications
You must be signed in to change notification settings - Fork 6k
Update CanvasKit to 0.7.0 and flesh out painting #13240
Update CanvasKit to 0.7.0 and flesh out painting #13240
Conversation
This allows us to fix some bugs in the CanvasKit backend. - Implement RRect where the radii are different - Implement drawDRRect - Implement ColorFilter - Implement the correct `arcTo` for `arcToPoint`
final js.JsArray colorMatrix = js.JsArray(); | ||
colorMatrix.length = 20; | ||
for (int i = 0; i < 20; i++) { | ||
colorMatrix[i] = filter._matrix[i]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's leave a todo to remove this double-conversion. This should, at least, convert straight to a Float64List
, but ideally we should write to WASM memory directly.
/cc @kjlubick - here's an example for excessive conversion that we talked about at the last sync.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@@ -6,10 +6,10 @@ part of engine; | |||
|
|||
/// EXPERIMENTAL: Enable the Skia-based rendering backend. | |||
const bool experimentalUseSkia = | |||
bool.fromEnvironment('FLUTTER_WEB_USE_SKIA', defaultValue: false); | |||
bool.fromEnvironment('FLUTTER_WEB_USE_SKIA', defaultValue: true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We probably want to keep this as false
.
BTW, have you checked the code size difference with and without this backend? If the size difference is small (say <50KB gzipped), I'd say let's make it a dynamic option. I imagine most of the size cost is from the WASM blob, not from Dart code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll investigate after landing this PR
- Add TODO to avoid unnecessary conversions - Don't set CanvasKit to default - Fix licenses file
git@github.com:flutter/engine.git/compare/8882bf3c73f5...39e6901 git log 8882bf3..39e6901 --no-merges --oneline 2019-10-21 iska.kaushik@gmail.com Add recipe changelog (flutter/engine#13270) 2019-10-21 jonahwilliams@google.com fix NPE in accessibility bridge (flutter/engine#13255) 2019-10-21 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9889d509ed9f..56f569d9bec2 (21 commits) (flutter/engine#13266) 2019-10-21 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from hc4p_... to hALu4... (flutter/engine#13252) 2019-10-21 mouad.debbar@gmail.com [web] Support input action (flutter/engine#13268) 2019-10-21 mouad.debbar@gmail.com [web] Support -j to use goma in felt build (flutter/engine#13259) 2019-10-21 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 30Ua7... to _e7Up... (flutter/engine#13254) 2019-10-21 jason-simmons@users.noreply.github.com Hold a reference to the Skia unref queue in UIDartState (flutter/engine#13239) 2019-10-21 jason-simmons@users.noreply.github.com Do not attempt to drain the SkiaUnrefQueue in the destructor (flutter/engine#13237) 2019-10-21 bkonyi@google.com Updated license script to ignore testdata directories, which often contain object files and other compilation results (flutter/engine#13261) 2019-10-21 iska.kaushik@gmail.com Add templates to generate fuchsia host bundles (flutter/engine#13158) 2019-10-21 garyq@google.com Update ui.instantiateImageCodec docs to reflect what it does. (flutter/engine#13233) 2019-10-21 hterkelsen@users.noreply.github.com Update CanvasKit to 0.7.0 and flesh out painting (flutter/engine#13240) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from CYDvx... to 30Ua7... (flutter/engine#13251) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from 0JpMS... to hc4p_... (flutter/engine#13250) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from bdTv5... to CYDvx... (flutter/engine#13249) 2019-10-19 skia-flutter-autoroll@skia.org Roll src/third_party/skia c65eb34d2f37..9889d509ed9f (1 commits) (flutter/engine#13248) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from SevlL... to 0JpMS... (flutter/engine#13244) 2019-10-19 skia-flutter-autoroll@skia.org Roll src/third_party/skia 7605c89c00f7..c65eb34d2f37 (3 commits) (flutter/engine#13243) 2019-10-19 bkonyi@google.com Ignore *.obj files when gathering licenses (flutter/engine#13241) 2019-10-18 garyq@google.com Roll buildroot to 994c6 (flutter/engine#13236) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC franciscojma@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
git@github.com:flutter/engine.git/compare/8882bf3c73f5...39e6901 git log 8882bf3..39e6901 --no-merges --oneline 2019-10-21 iska.kaushik@gmail.com Add recipe changelog (flutter/engine#13270) 2019-10-21 jonahwilliams@google.com fix NPE in accessibility bridge (flutter/engine#13255) 2019-10-21 skia-flutter-autoroll@skia.org Roll src/third_party/skia 9889d509ed9f..56f569d9bec2 (21 commits) (flutter/engine#13266) 2019-10-21 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from hc4p_... to hALu4... (flutter/engine#13252) 2019-10-21 mouad.debbar@gmail.com [web] Support input action (flutter/engine#13268) 2019-10-21 mouad.debbar@gmail.com [web] Support -j to use goma in felt build (flutter/engine#13259) 2019-10-21 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from 30Ua7... to _e7Up... (flutter/engine#13254) 2019-10-21 jason-simmons@users.noreply.github.com Hold a reference to the Skia unref queue in UIDartState (flutter/engine#13239) 2019-10-21 jason-simmons@users.noreply.github.com Do not attempt to drain the SkiaUnrefQueue in the destructor (flutter/engine#13237) 2019-10-21 bkonyi@google.com Updated license script to ignore testdata directories, which often contain object files and other compilation results (flutter/engine#13261) 2019-10-21 iska.kaushik@gmail.com Add templates to generate fuchsia host bundles (flutter/engine#13158) 2019-10-21 garyq@google.com Update ui.instantiateImageCodec docs to reflect what it does. (flutter/engine#13233) 2019-10-21 hterkelsen@users.noreply.github.com Update CanvasKit to 0.7.0 and flesh out painting (flutter/engine#13240) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from CYDvx... to 30Ua7... (flutter/engine#13251) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from 0JpMS... to hc4p_... (flutter/engine#13250) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/linux-amd64 from bdTv5... to CYDvx... (flutter/engine#13249) 2019-10-19 skia-flutter-autoroll@skia.org Roll src/third_party/skia c65eb34d2f37..9889d509ed9f (1 commits) (flutter/engine#13248) 2019-10-19 skia-flutter-autoroll@skia.org Roll fuchsia/sdk/core/mac-amd64 from SevlL... to 0JpMS... (flutter/engine#13244) 2019-10-19 skia-flutter-autoroll@skia.org Roll src/third_party/skia 7605c89c00f7..c65eb34d2f37 (3 commits) (flutter/engine#13243) 2019-10-19 bkonyi@google.com Ignore *.obj files when gathering licenses (flutter/engine#13241) 2019-10-18 garyq@google.com Roll buildroot to 994c6 (flutter/engine#13236) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC franciscojma@google.com on the revert to ensure that a human is aware of the problem. To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
This allows us to fix some bugs in the CanvasKit backend.
arcTo
forarcToPoint
Screenshots
Using
drawDRRect
for checkboxesShowing
ColorFilter
in the "Animation" demoUsing correct
arcTo
to get the correct notch under the FAB