79 Commits

Author SHA1 Message Date
Yegor
9a5a17f378
remove leftover temp annotation from pre-null safe world (#20234)
Co-authored-by: David Iglesias <ditman@gmail.com>
2020-08-06 14:03:52 -07:00
Michael Goderbauer
19368efcc3
Fix dartdocs of dart:ui (#20140) 2020-07-29 23:56:02 -07:00
Siva
3bb6cc265e
Manual merge of Dart a3815b6590...24c7666def (#19967)
* Manual merge or Dart into flutter a3815b6590...24c7666def

dart-lang/sdk@24c7666def Update tests that have the current version number hardcoded
dart-lang/sdk@f88ce7aef5 Increase Dart version to 2.10

* Update language version.

* Update license.

* Hpdate language version.

* Update license.
2020-07-24 11:00:34 -07:00
zljj0818
f9eeee310c
Poor video scaling quality #53080 (#18814)
Use bilinear instead of nearest filter to draw surface texture

Related Issues:
https://github.com/flutter/flutter/issues/53080

Tests:
- TextureLayerTest
2020-06-17 11:14:05 -07:00
Yegor
194acdfaed
apply null safety syntax to mobile dart:ui (#18933)
* apply null safety syntax to mobile dart:ui
2020-06-12 12:42:12 -07:00
Yegor
b37427eaaf
null-annotate compositing.dart (#18351) 2020-05-14 19:16:28 -07:00
liyuqian
b3075b3091
Rename GPU thread to raster thread in code comments (#17329)
1. Simple "GPU thread" to "raster thread" replacement.

2. Regex replace "GPU([\n\r\s]+//+ thread)" with "raster$1".

3. Regex replace "// gpu$" with "// raster".

4. Simple test change.

5. Run ci/format.sh
2020-03-25 22:49:59 -07:00
Chris Bracken
78a1c7ebf9
Revert "Drop last usages of Dart_New from engine (#16838)" (#16915)
We believe this may be implicated in a Windows-specific crash during the
Flutter Gallery integration test.

See:
https://github.com/flutter/flutter/issues/51896

This reverts commit f9b78c5db2bc3087e1793947b11ca643c2d747cf.
2020-03-03 14:52:56 -08:00
Dan Field
f9b78c5db2
Drop last usages of Dart_New from engine (#16838)
Image
Codec
FrameInfo
Scene/Picture toImage
2020-03-02 21:30:28 -08:00
Dan Field
60b27fd545
Reland "Remove usage of Dart_AllocateWithNativeFields" (#16713) 2020-02-20 16:06:02 -08:00
vsmenon
0ef67b5e74
opt out dart:ui from nnbd (#16473)
* opt out dart:ui from nnbd

* Annotate tests as well
2020-02-20 11:04:00 -08:00
Dan Field
1970c0624d
implicit casts and add missing docs (#15698) 2020-01-16 17:03:33 -08:00
Jim Graham
929b1edff5
Engine support for ImageFiltered widget (#14491)
web_ui support coming in https://github.com/flutter/flutter/issues/47163
2019-12-19 16:47:08 -08:00
Jim Graham
22413efc48
Update formatting in web_ui scene bulder to match flutter style and dartfmt. (#14539) 2019-12-19 12:50:39 -08:00
Kaushik Iska
f2dbeb8aa7
Reland Wire up Opacity on Fuchsia (#14559)
This reverts commit 6ea69a0d4339dd153899bb6c299689f1dd43329d.

On top of the revert, it reverted a commit in the PR:
https://github.com/flutter/engine/pull/14024

This reverts commit ea67e5b0b930ebf552bc7dbd678a35ee6a129c39.
2019-12-18 16:05:38 -08:00
Kaushik Iska
6ea69a0d43
Revert "Wire up Opacity on Fuchsia, round 2 (#14024)" (#14543)
This reverts commit d117ac979c28363a0a6b02d4a54945212a88b6f9.
2019-12-18 10:29:47 -08:00
David Worsham
d117ac979c
Wire up Opacity on Fuchsia, round 2 (#14024)
* Remove erroneous ChildView opacity

* Wire frame metrics through contexts

* Maintain layer stack inside of SceneBuilder

* Remove EnsureSingleChild

* Centralize system-composite and elevation logic

* Wire up OpacityLayer to Scenic
2019-12-04 19:29:31 -08:00
Jim Graham
ffcd8564a2
Imagefilter wrapper object (#13711)
Make ImageFilter objects comparable and printable.

This will help in areas in the Widget and RenderObject trees which try to avoid marking objects for updates if a setter is called with the same value (previously all ImageFilter objects would compare as not equal and appear to be new values).
2019-11-19 13:43:06 -08:00
liyuqian
7c3dcee2e9
Revert "[fuchsia] Wire up OpacityLayer to Scenic (#11322)" (#12610)
This reverts commit fcc4ab32301396986dd5103d6d444bff35fe0f63.

Fixes https://github.com/flutter/flutter/issues/41394 and other
related correctness issues.

TBR: @arbreng @jason-simmons @mehmetf
2019-09-27 16:50:43 -07:00
David Worsham
fcc4ab3230
[fuchsia] Wire up OpacityLayer to Scenic (#11322)
On Fuchsia, add a build flag for compositing OpacityLayers using the system
compositor vs Skia, which exposes a fastpath for opacity via Scenic.
This will only work under certain circumstances, in particular nested
OpacityLayers will not render correctly!

On Fuchsia, add a build flag for compositing PhysicalShapeLayers using
the system compositor vs Skia. Set to off by default, which restores
performant shadows on Fuchsia.

Remove the opacity exposed from ChildView, as that was added mistakenly.

Finally, we centralize the logic for switching between the
system-composited and in-process-composited paths inside of
ContainerLayer. We also centralize the logic for computing elevation
there. This allows the removal of many OS_FUCHSIA-specific code-paths.

Test: Ran workstation on Fuchsia; benchmarked before and after
Bug: 23711
Bug: 24163

* Fix broken tests
2019-09-25 12:48:42 -04:00
Dan Field
d1dcd18486
Remove breaking asserts (#9797) 2019-07-11 16:46:54 -07:00
Dan Field
56885f79b8
Let pushColorFilter accept all types of ColorFilters (#9641) 2019-07-10 12:06:58 -07:00
Yegor
94bb7a7ff2
Adds API for retaining intermediate engine layers (#9461)
Add new optional named oldLayer arguments to all push* methods of the SceneBuilder class.

When not null oldLayer signals to the engine that the intent is to update a layer rendered in a previous frame. The engine may optionally use that signal to reuse the resources allocated for that layer in the previous frame. For example, on the Web we can reuse existing DOM nodes and some of their properties and move fewer nodes around the tree.

The return type of each push method has been tightened up. Instead of having all methods return the same EngineLayer type, each method has its own unique layer type, e.g. OffsetEngineLayer. oldLayer parameters match the returned type. This prevents the framework (and other developers using dart:ui directly) from accidentally supplying an engine layer of the wrong type.
2019-06-28 12:56:03 -07:00
David Worsham
0df44e9e07
[scene_host] Expose Opacity and remove ExportNode (#9297)
SCN-947 #comment
SCN-1291 #comment
2019-06-13 10:16:21 -07:00
liyuqian
3d2e9b24aa
Correct the return type of addRetained (#9025)
It should return void as SceneBuilder::addRetained is returning void.
Thanks yjbanov@ for finding this typo!
2019-05-20 15:58:35 -07:00
Dan Field
2b1f9925e4
new lints (#8849)
Dart lints added:
* Avoid optional new
* Avoid optional const
* Prefer single quotes
* Prefer default assignment `=`
2019-05-07 16:10:21 -07:00
liyuqian
50de4692a5
Check the matrix in pushTransform (#8758)
Fixes flutter/flutter#31650
2019-04-26 14:09:53 -07:00
Dan Field
3e47b4bb39
Reland const Rect/RRect (#8695) 2019-04-23 11:21:03 -07:00
Dan Field
4f2fd84cbc
Revert Rect/RRect 64 bit (#8690)
* Revert "fix toString (#8688)"

This reverts commit 9fa7336784b56ef70fd3580ac54d2939d1faa5a0.

* Revert "Make Rect and RRect use 64 bit doubles, and make them const-able (#8565)"

This reverts commit c12315273f6344175dae748ec1f23e15b4e7d59e.
2019-04-22 15:45:59 -07:00
Dan Field
c12315273f
Make Rect and RRect use 64 bit doubles, and make them const-able (#8565)
* Make Rect and RRect 64bit and const-able
2019-04-22 12:58:48 -07:00
Ben Konyi
ae4df6fd18
Revert "Change Rect internal representation from Float32List to Float64List (#8524)" (#8545)
This reverts commit 0b36d3e2f0235f25dc5b5657bd2e594fe7414aee.
2019-04-11 09:16:36 -07:00
Hans Muller
0b36d3e2f0
Change Rect internal representation from Float32List to Float64List (#8524) 2019-04-10 10:39:29 -07:00
David Worsham
ff1bcdc009
Add Views V2 support for Fuchsia (#8115) 2019-04-07 01:18:59 -07:00
David Worsham
f7a092262c [fuchsia] Remove deprecated libraries from snapshot (#8085) 2019-03-14 16:05:21 -07:00
Greg Spencer
a1d84996dd
Fix spelling errors in dartdocs (#7997)
Fix the spelling errors in the dartdocs for the engine.

There are no functionality changes here, just documentation fixes.
2019-02-28 14:42:55 -08:00
liyuqian
dea6a08499
Remove legacy and deprecated defaultClipBehavior (#7439)
The defaultClipBehavior is no longer used anywhere in the Flutter framework and Google3.
2019-01-11 02:31:15 +08:00
liyuqian
e52287a1b5
Fix typo clas -> class (#7360) 2019-01-03 10:06:17 -08:00
Amir Hardon
5bf4deb435
Update Dartdoc for SceneBuilder#addPlatformView (#6957) 2018-11-27 10:03:16 -08:00
liyuqian
289de46d3e
Return EngineLayer for all SceneBuilder pushXXX (#6814)
Most changes are trivial except pushTransform. In pushTransform, matrix4 is an Dart object and it has to be released before we can return a new Dart object (EngineLayer).
2018-11-14 10:37:17 -08:00
Michael Goderbauer
70a1106b50
Unify copyright lines (#6757) 2018-11-07 12:24:35 -08:00
sjindel-google
ff0525f594
Add missing entry-points. (#6634)
* Add missing entry-points.

* Fix lint
2018-10-25 13:12:05 +02:00
liyuqian
e79d77f6e6
Add offset to engine OpacityLayer (#6594)
See https://github.com/flutter/flutter/pull/22566#discussion_r226082171
for why we add this.
2018-10-19 11:46:12 -07:00
Amir Hardon
a1bbea77cf
Add a no-op platform view layer. (#6505)
This will be used for embedding UIViews on iOS.

Landing a no-op layer as a first incremental step to keep PRs small.
2018-10-12 19:40:21 -07:00
liyuqian
e44c10c962
Reland "Share engine layers with the framework" (#6412) (#6468)
This reverts commit 74662ab695238af0e7402f41c4bf9ad862bd37d2.

This should land after https://github.com/flutter/engine/pull/6442

* Add pragma vm:entry-point

Otherwise, an object may be both null and an instance of EnginieLayer at
the same time in Dart.
2018-10-12 07:45:42 -07:00
liyuqian
74662ab695
Revert "Share engine layers with the framework" (#6412)
Reverts flutter/engine#6406

We need to fix the SkiaGPUObject issue of the raster cache SkImage before merging this PR.
2018-10-02 16:51:47 -07:00
liyuqian
9ccc96625f
Share engine layers with the framework (#6406)
To make the PR minimal, we currently only share the engine layer when `pushPhysicalShape` (for Fuchsia) or `pushOffset` (for `RepaintBoundary` and `Opacity`) are called. They should be sufficient for our short-term perf goal. In the future, we can incrementally share more engine layers with the framework.

https://github.com/flutter/flutter/issues/21756
2018-10-02 14:02:10 -07:00
liyuqian
edf6249e07
Add pushOffset to SceneBuilder (#6349)
For https://github.com/flutter/flutter/pull/21619#discussion_r220390088
2018-09-27 11:48:27 -07:00
sjindel-google
9e315e6465
Remove entries from dart_vm_entry_points.txt and use annotations (#6226)
The `dart_vm_entry_points.txt` file is now deprecated in favor of annotations.
Support for parsing and generating the entry-points files will be removed from Dart shortly.
2018-09-18 10:56:26 +02:00
liyuqian
e26643faf8
Rename clipMode to clipBehavior in compositing.dart (#6053)
This is a follow up of https://github.com/flutter/engine/pull/5853
2018-08-20 12:56:30 -07:00
amirh
7e0bb3bbe8
Allow freezing a texture. (#5938)
This is needed to avoid jank when resizing an embedded Android view.
See
https://github.com/flutter/flutter/issues/19572#issuecomment-410400724
2018-08-07 14:43:19 -07:00