47 Commits

Author SHA1 Message Date
Chris Bracken
16b900b63e
Prefer C++ standard headers to their C counterpart (#21091)
We currently use a mix of C standard includes (e.g. limits.h) and their
C++ variants (e.g. climits). This migrates to a consistent style for all
cases where the C++ variants are acceptable, but leaves the C
equivalents in place where they are required, such as in the embedder
API and other headers that may be used from C.
2020-09-11 17:10:00 -07:00
David Worsham
220a831028
Move fuchsia/scenic integration behind #define (#19003)
Additionally create "_next" permutations for all of the test binaries
on Fuchsia, in order to test both code-paths.

Using the #define follow-up CLs can also create a flutter_runner_next
binary that does not contain any legacy integration code.

BUG: 53847
2020-06-26 14:03:18 -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
Dan Field
60b27fd545
Reland "Remove usage of Dart_AllocateWithNativeFields" (#16713) 2020-02-20 16:06:02 -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
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
Dan Field
56885f79b8
Let pushColorFilter accept all types of ColorFilters (#9641) 2019-07-10 12:06:58 -07:00
Matthew Dempsky
66087301cd Roll tonic and update #includes (#8950) 2019-05-14 11:57:09 -07:00
liyuqian
8ff631f3df
Rename flow namespace to flutter (#8615)
This follows our namespace change from shell to flutter: https://github.com/flutter/engine/pull/8520.
2019-04-17 14:38:45 -07:00
Chinmay Garde
eec74e5c92
Rename the blink namespace to flutter. (#8517)
Some components in the Flutter engine were derived from the forked blink codebase. While the forked components have either been removed or rewritten, the use of the blink namespace has mostly (and inconsistently) remained. This renames the blink namesapce to flutter for consistency. There are no functional changes in this patch.
2019-04-09 12:44:42 -07:00
David Worsham
ff1bcdc009
Add Views V2 support for Fuchsia (#8115) 2019-04-07 01:18:59 -07: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
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
5550fdbc22
Remove cull_rects_ from SceneBuilder (#6352)
Skia should already have such optimizations based on a much more
accurate clip stack. As we move to the retained rendering, SceneBuilder
would be much harder to maintain such cull_rects_ stack so let's just
remove them.

No significant performance change is measured locally on Moto G4 with
flutter_gallery transition perf test and complex_layout scroll perf
test.
2018-09-27 17:09:26 -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
liyuqian
b43b3e8702
Remove LayerBuilder and DefaultLayerBuilder (#6256)
This essentially reverts https://github.com/flutter/engine/pull/4197/
as no one is (or soon will be) implementing an alternative LayerBuilder.
Let's just put everything in SceneBuilder to reduce the YAGNI
(you aren't gonna need it) smell. This will also make retained rendering
API changes much easier.
2018-09-14 15:13:00 -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
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
liyuqian
f50e218d99
Rename clip mode to clip behavior (#5853)
* Rename clip mode to clip behavior

So we're consistent across flutter/flutter and flutter/engine

* Clang format
2018-07-25 09:57:10 -07:00
Jason Simmons
0bad812c72
Migrate to a standalone Tonic repository separated from Topaz (#5817) 2018-07-23 11:49:35 -07:00
liyuqian
e1cf837a20
Add ClipMode to ClipPath/ClipRRect and PhysicalShape layers (#5647)
For flutter/flutter#18057
2018-07-13 12:38:16 -07:00
Jonah Williams
bb2d177d5e
Allow shadows to be colored when physical layer is drawn by engine (#4812)
* pass shadow_color from dart:ui to physical layer

* default shadow color to SK_ColorBLACK

* add doc comments to pushPhysicalShape
2018-03-19 14:16:17 -07:00
amirh
05fe72d068
Revive always using SkPath for physical models (#4537) 2018-01-11 15:11:00 -08:00
amirh
b7d99da3e2
Revert "Delete the SkPath/SkRRect code duplication in for physical model layers. (#4519)" (#4527)
This reverts commit d8740c70a58ada74aff5b773e2bec9d622c42a97.
2018-01-08 19:25:56 -08:00
amirh
d8740c70a5
Delete the SkPath/SkRRect code duplication in for physical model layers. (#4519) 2018-01-08 16:13:15 -08:00
amirh
0b158a6bc4
Engine support for arbitrary shape physical layers (#4488)
* Adjust PhysicalModelLayer to use an abstract shape, and provide concrete RRect and Path shape implementations

* add a pushPhysicalShape to scene_builder and compositing.dart
2017-12-21 15:57:10 -08:00
Chinmay Garde
9a960f82f5 Add texture support (eg video, camera) (#4159) 2017-11-02 10:57:29 +01:00
Chinmay Garde
1793f494a3 Move layer tree construction into flow::LayerBuilder so alternate builders can be plugged in. (#4197) 2017-10-11 12:25:55 -07:00
George Kulakowski
3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -07:00
Jeff Brown
8ee1910ca9 Use metrics provided by scene events. (#3922)
Compute the necessary texture resolution using more accurate scaling
information provided by Mozart scene node metrics events instead of the
device pixel ratio provided by the Mozart view properties (which we
might remove in the future).

This allows us to allocate smaller textures when a Flutter view is
being scaled down.
2017-07-24 19:17:55 -07:00
Chinmay Garde
925298d947 Update the content handler to use the Mozart session API. (#3887) 2017-07-18 15:40:18 -07:00
Jason Simmons
df5f62f236 Add a flag that checkerboards offscreen render targets created by SkCanvas.saveLayer (#3685)
Fixes https://github.com/flutter/flutter/issues/9473
2017-05-11 15:00:16 -07:00
Jason Simmons
c0f1e3b47b Change the shadow elevation parameter to floating point (#3637) 2017-04-27 10:52:13 -07:00
Jason Simmons
a44647afac Physical model layer that can draw shadows for a Material widget (#3424) 2017-02-16 17:30:57 -08:00
Adam Barth
f13518d7e7 Rename TransferMode to BlendMode (#3323)
Fixes https://github.com/flutter/flutter/issues/7200
2017-01-05 23:44:47 -08:00
Adam Barth
33af5a5644 Rename hittable to hitTestable (#3275)
Apparently hittable is not politically correct.
2016-11-28 16:09:56 -08:00
Adam Barth
f6547c1df5 Add prune to child scene layers (#3272)
Also, change the hit testing geometry so that we get our hits at the root.
2016-11-28 12:28:18 -08:00
Chinmay Garde
3164a97645 Allow checkerboarding raster cache entries for debugging purposes (can be toggled from Dart). (#3200) 2016-11-03 13:59:57 -07:00
Hans Muller
1493032690 Added SceneBuilder culling (#2911) 2016-08-11 10:24:05 -07:00
Adam Barth
9c09565712 Update paths to account for buildroot 2016-08-09 13:52:15 -07:00