Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

fix shadows and mask filter blurs #16963

Merged
merged 3 commits into from
Mar 6, 2020
Merged

Conversation

yjbanov
Copy link
Contributor

@yjbanov yjbanov commented Mar 5, 2020

Our original implementation of shadows was based on the AngularDart version, which doesn't match Flutter at all.

  • This new implementation is based on Flutter's physical_shape_layer.cc (not 100% as we don't get to use Skia's DrawShadow directly). Rendering should be slightly faster too as we emulate it using a single shadow rather than 3 shadows from the previous implementation.
  • Fixes bounds estimation for drawShadow.
  • Fixes bounds estimation for all drawing operations that use Paint with a mask filter blur (some users use mask filters to draw shadows instead of physica shapes or canvas.drawShadow).

Fixes flutter/flutter#32215

@auto-assign auto-assign bot requested a review from gw280 March 5, 2020 22:16
@yjbanov yjbanov added the Work in progress (WIP) Not ready (yet) for review! label Mar 5, 2020
@yjbanov yjbanov requested a review from ferhatb March 5, 2020 23:07
@yjbanov yjbanov removed the Work in progress (WIP) Not ready (yet) for review! label Mar 6, 2020
@yjbanov yjbanov merged commit 6cfa7fc into flutter:master Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 6, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
@cbracken
Copy link
Member

cbracken commented Mar 7, 2020

This appears to break golden file tests when rolling to the framework.

Roll: flutter/flutter#52165
Test failures: https://cirrus-ci.com/task/5681069831749632

@cbracken
Copy link
Member

cbracken commented Mar 7, 2020

I'm going to revert this to get the roll through but when you're ready to re-land, we can deal with the golden file updates.

cbracken added a commit to cbracken/flutter_engine that referenced this pull request Mar 7, 2020
Broke golden file tests in the framework. Reverting to unblock the
engine roll to the framework.

This reverts commit 6cfa7fc.
cbracken added a commit that referenced this pull request Mar 7, 2020
Broke golden file tests in the framework. Reverting to unblock the
engine roll to the framework.

This reverts commit 6cfa7fc.
@cbracken
Copy link
Member

cbracken commented Mar 7, 2020

Revert landed and re-opened flutter/flutter#32215 until we re-land.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 7, 2020
cbracken pushed a commit to flutter/flutter that referenced this pull request Mar 7, 2020
* 7c612de Roll fuchsia/sdk/core/linux-amd64 from cXgMr... to cTw2C... (flutter/engine#16970)

* 6cfa7fc fix shadows and mask filter blurs (flutter/engine#16963)

* bfebadf Roll src/third_party/skia 012f8497802e..93a2a6b8badb (4 commits) (flutter/engine#16974)

* 47963a5 Roll src/third_party/skia 93a2a6b8badb..74055566bd14 (2 commits) (flutter/engine#16981)

* 98f9941 [fuchsia] fix broken flows when under high load (flutter/engine#16834)

* fe051e0 Fix issue viewdidload call while init FlutterViewController (flutter/engine#16672)

* 0ad54c2 [web] Fixes IE11 crash due to missing canvas ellipse support and font polyfill failure (flutter/engine#16965)

* f6435de Roll fuchsia/sdk/core/mac-amd64 from J6ct_... to 95geB... (flutter/engine#16982)

* 43971ca Roll src/third_party/skia 74055566bd14..54de2fa48d85 (3 commits) (flutter/engine#16983)

* 45e61a6 Roll fuchsia/sdk/core/linux-amd64 from cTw2C... to K1wwe... (flutter/engine#16984)

* 1ab5c36 Roll src/third_party/skia 54de2fa48d85..beaaf4700f50 (3 commits) (flutter/engine#16987)

* e2c0454 remove 10s timeouts from tests (flutter/engine#16988)

* dfc9c12 Roll src/third_party/skia beaaf4700f50..6e58290ba639 (9 commits) (flutter/engine#16990)

* eddda80 fushia licenses fix (flutter/engine#16992)

* c15f239 documented fluttertexture.h (flutter/engine#16950)

* e1ba7a1 Roll src/third_party/skia 6e58290ba639..24a8e9e170f7 (5 commits) (flutter/engine#16996)

* fc5963d [web] Engine integration test (flutter/engine#16930)

* d323bac doxygen tooling updates and doxygen for FlutterCodecs.h (flutter/engine#16947)

* 03ddc1d Started deleting .DS_Store files so licenses can run on mac os x. (flutter/engine#16998)

* 30a8292 Roll src/third_party/skia 24a8e9e170f7..cf573d844da6 (4 commits) (flutter/engine#17004)

* d031963 Roll fuchsia/sdk/core/mac-amd64 from 95geB... to hW33F... (flutter/engine#17006)

* 41b371d Roll fuchsia/sdk/core/linux-amd64 from K1wwe... to FGMpI... (flutter/engine#17007)

* 619acd5 Revert "fix shadows and mask filter blurs (#16963)" (flutter/engine#17008)
yjbanov added a commit to yjbanov/engine that referenced this pull request Mar 9, 2020
blasten pushed a commit to blasten/engine that referenced this pull request Mar 10, 2020
* fix shadows and mask filter blurs

* update goldens

* clarify the choice to min the shadows
blasten pushed a commit to blasten/engine that referenced this pull request Mar 10, 2020
…7008)

Broke golden file tests in the framework. Reverting to unblock the
engine roll to the framework.

This reverts commit 6cfa7fc.
yjbanov added a commit that referenced this pull request Mar 10, 2020
…#17040)

This reverts 619acd5 and re-lands 6cfa7fc. The 6cfa7fc was good. The screenshot changes were expected.

Fixes flutter/flutter#32215
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[web] Shadows on flutter_web not rendering like shadows in flutter
4 participants