629 Commits

Author SHA1 Message Date
Emmanuel Garcia
ecc2f07d06 Switch to FlutterSurfaceView if no Android view is in the frame (flutter/engine#19487) 2020-07-06 14:51:46 -07:00
liyuqian
02f828632c Use FixtureTest to remove duplicate code (flutter/engine#19219)
Fixes https://github.com/flutter/flutter/issues/59109
2020-06-30 10:55:38 -07:00
David Worsham
919f8e6a42 Move fuchsia/scenic integration behind #define (flutter/engine#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
Sanjay Chouksey
f1286c6356 Add PlatformView support for Fuchsia (flutter/engine#19132)
* Add PlatformView support for Fuchsia

This change allows embedding views provided by fuchsia components into
a flutter app running on Fuchsia. This conforms to Flutters idiomatic
approach to composite PlatformView alongside other rendered layers.

This uses the `view embedder` infrastructure to allow
`PlatformViewLayer`
to hold fuchsia views. This is meant to eventually supplant the legacy
`SceneHost` and `ChildViewLayer` mechanism to embed fuchsia `ChildView`.

To see how this will get used check out:
https://fuchsia-review.googlesource.com/c/experiences/+/398536/6/examples/hello_experiences/lib/fuchsia_view.dart

Includes unittests for platform_view.cc.

Note: This change has no impact on the legacy code to embed fuchsia
views.

* Rename OnCreateViewMethodCall to OnCreateView

Same for OnDestroyViewMethodCall to OnDestroyView

Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
2020-06-25 16:27:39 -07:00
Dan Field
822de89f54 Make Shell::NotifyLowMemoryWarning trace (flutter/engine#19283) 2020-06-24 15:58:02 -07:00
Chris Yang
27e0962427 Android platform view static thread merging (flutter/engine#19242) 2020-06-24 15:13:02 -07:00
Emmanuel Garcia
910b7ed0df EndFrame should be always called by rasterizer (flutter/engine#19257) 2020-06-24 14:02:48 -07:00
Emmanuel Garcia
202c1af268 Implement external view embedder on Android (flutter/engine#19033)
The external view embedder allows to embed Android views in a Flutter app.
2020-06-20 12:51:55 -07:00
Gary Qian
855fa8fde8 Revert method channel platform resolved locale (flutter/engine#19136) 2020-06-19 17:40:22 -07:00
Michael Goderbauer
0b0c2c68d0 Word substitutions (flutter/engine#19111) 2020-06-18 11:05:24 -07:00
Filip Filmar
df31819baa [shell] Adds a shell test for timezone fetches (flutter/engine#19108)
Adds a test that verifies that the view of the local time is the same in
the Dart isolate and the process that is running the test.

Specifically, this test is useful to verify that the code paths for
timezone retrieval do not break while the underlying FIDL protocols are
being refactored.

However, since the check is generally useful, the test is written as a
general flutter test.

Running this on Fuchsia required adding `fuchsia.intl.ProfileProvider`
to the CMX file that is used for all build Fuchsia packages.

Testing is a bit involved on Fuchsia.  You must build the Fuchsia
package `fluter/shell/common:shell_tests` and publish it to the dev
repository for your Fuchsia device.  It seems that a way to do so is to
modify the script `flutter/tools/fuchsia/build_fuchsia_artifacts.py` and
modify its function `GetTargetsToBuild` like so:

```
def GetTargetsToBuild(product=False):
  targets_to_build = [
    'flutter/shell/platform/fuchsia:fuchsia',
    'flutter/shell/common:shell_tests',
  ]
  return targets_to_build
```

Next, the Fuchsia packages need to be compiled and published.

Once done, the following `fx` invocation will run the test, assuming
that you have your Fuchsia setup:

```
fx shell run \
    fuchsia-pkg://fuchsia.com/shell_tests#meta/shell_tests.cmx \
    -- --gtest_filter=ShellTest.LocaltimesMatch
```
2020-06-18 09:56:18 -07:00
zljj0818
1fd49da298 Poor video scaling quality #53080 (flutter/engine#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
liyuqian
146f8c7c0b Correct BM_ShellInitializationAndShutdown (flutter/engine#18829) 2020-06-16 23:38:02 -07:00
Kaushik Iska
ce2baf1ce0 Revert "Remove pipeline in favor of layer tree holder (#18901)" (flutter/engine#19066)
Reverting for b/158816279
2020-06-16 13:15:57 -07:00
Gary Qian
c9fa545cf3 Platform resolved locale and Android localization refactor (flutter/engine#18645) 2020-06-16 04:29:50 -07:00
Michael Goderbauer
e6d2948d07 Rename trace-whitelist to trace-allowlist (flutter/engine#19047) 2020-06-15 20:52:43 -07:00
Kaushik Iska
da146dedd4 Remove log added for local testing (flutter/engine#19012) 2020-06-11 19:22:36 -07:00
Kaushik Iska
a33e6515ed Exit before pushing a trace event when layer tree holder is empty (flutter/engine#19008) 2020-06-11 19:17:20 -07:00
freiling
58f1c6d181 Make SKSL caching test work on Fuchsia on arm64 (flutter/engine#18572)
* Hook up PersistentCache to ShellTestPlatformViewVulkan

* [vulkan][fuchsia] enable vulkan without swiftshader in fuchsia tests on arm64

* [vulkan][fuchsia] Disable second half of ShellTest.CacheSkSLWorks on
vulkan backend

GrContext::precompileShader() is not implemented for vulkan contexts, so
dont run the portion of this test that depends on that behavior on
Vulkan.

Co-authored-by: George Wright <gw280@google.com>
2020-06-11 18:45:23 -07:00
Chris Yang
c80477385d Make rasterizer screenshot work with gl_context_switch (flutter/engine#18850) 2020-06-10 10:00:43 -07:00
David Worsham
d2b7646e68 Move Surface and friends to flow/ (flutter/engine#18938) 2020-06-09 16:03:01 -07:00
Kaushik Iska
1430d4e26b Remove pipeline in favor of layer tree holder (flutter/engine#18901)
Relanding of a change that was reverted in:
https://github.com/flutter/engine/pull/18427
2020-06-09 12:19:34 -07:00
Chris Yang
b842ba72a6 Rework GLContextSwitch, get rid of RendererContextManager (flutter/engine#18601) 2020-06-04 11:37:51 -07:00
Dan Field
0539f91b1e Implement GetAllocationSize for Vertices (flutter/engine#18756)
* Implement GetAllocationSize for Vertices

* Reflect vertex buffer size in pictures
2020-06-03 10:35:14 -07:00
Emmanuel Garcia
61bc45b233 Pass SurfaceFrame to SubmitFrame (flutter/engine#18709) 2020-06-02 21:59:44 -07:00
chenjianguang
5a78bd2f4d Fix BM_ShellShutdown regression (flutter/engine#18676) 2020-06-01 16:13:02 -07:00
chenjianguang
db630fbd93 Setup default font manager after engine created, to improve startup performance (flutter/engine#18225) 2020-05-28 17:53:04 -07:00
gaaclarke
851f2e76b0 Made the Rasterizer avoid GPU calls when backgrounded (flutter/engine#18563) 2020-05-26 21:02:40 -07:00
David Worsham
9ed56044d4 fuchsia: Fix runtime_tests and shell_tests (flutter/engine#18492) 2020-05-20 18:47:02 -07:00
Kaushik Iska
4696f624fd [fuchsia] Remove SceneDisplayLag event on Fuchsia (flutter/engine#18515)
See: https://github.com/flutter/flutter/issues/56598
2020-05-20 10:56:35 -07:00
Chris Yang
80c707a642 Introduce TaskRunnerAffineWeakPtrFactory to generate TaskRunnerAffineWeakPtrs (flutter/engine#18346) 2020-05-19 16:36:17 -07:00
Kaushik Iska
76c24a0b26 [fuchsia] Update the error message to reference the right asset (flutter/engine#18485) 2020-05-18 16:27:04 -07:00
liyuqian
256ab19662 Automatically remove old persistent cache dir (flutter/engine#18244)
Fixes https://github.com/flutter/flutter/issues/53445
2020-05-15 14:15:59 -07:00
Kaushik Iska
5519277f4a Revert "Remove pipeline in favor of layer tree holder (#18285)" (flutter/engine#18427)
This reverts commit 0219ee95d8ffdef4d839f0419ce5e1f22b27d8d1.
2020-05-15 12:27:32 -07:00
Kaushik Iska
0219ee95d8 Remove pipeline in favor of layer tree holder (flutter/engine#18285)
go/flutter-pipeline-improvements for more details.
2020-05-14 10:46:14 -07:00
Kaushik Iska
1acb5d4817 Fix latest_frame_target_time race (flutter/engine#18279)
There are some cases where onAnimatorDraw gets called before
onAnimatorBeginFrame, in these cases we need to update the
latest_frame_target_time to be the target time for the current frame.

This manifested as an issue in release mode Android builds:
https://firebase.corp.google.com/project/flutter-infra/testlab/histories/bh.27c33c672e9b01f2/matrices/4903344583855476919/executions/bs.ee4f6f7ad8671a34
2020-05-11 14:52:22 -07:00
Kaushik Iska
1785bb19b0 Revert "Remove pipeline in favor of layer tree holder (#17688)" (flutter/engine#18242) 2020-05-08 16:09:02 -07:00
Kaushik Iska
dee9634111 Remove pipeline in favor of layer tree holder (flutter/engine#17688)
go/flutter-pipeline-improvements for more details.
2020-05-08 10:51:10 -07:00
Jason Simmons
66a59e3138 Remove the global engine entry timestamp (flutter/engine#18182)
The engine was using a global to store a timestamp representing the
launch of the engine.  This timestamp is initialized with a JNI call
on Android and during shell setup on other platforms.  Later the
timestamp is added to a FlutterEngineMainEnter timeline event used to
measure engine startup time in benchmarks.

This PR removes the global and the JNI call and moves the timestamp
into the settings object.
2020-05-07 11:29:28 -07:00
Kaushik Iska
b1b1cea351 [profiling] CPU Profiling support for iOS (flutter/engine#18087)
See flutter.dev/go/engine-cpu-profiling for details
2020-05-07 08:11:07 -07:00
Chris Yang
d1d6103681 Introduce TaskRunnerChecker, TaskRunnerAffineWeakPtr (flutter/engine#17649) 2020-05-01 11:28:20 -07:00
Chris Yang
532f988f67 RendererContextManager (flutter/engine#17941) 2020-04-30 09:39:33 -07:00
liyuqian
0b7c37b9ba Set SkSL asset manager in RunConfiguration ctor (flutter/engine#17948) 2020-04-27 17:49:04 -07:00
liyuqian
09d418b080 Revert "[tracing] SceneDisplayLag is a synchronous event (#17878)" (flutter/engine#17916)
This reverts commit ca5cc907a90ee4e0dffd712f7fa1f2142813220e.

Reverts flutter/engine#17878

This breaks our devicelab tests.

TBR: @flar
2020-04-23 18:04:39 -07:00
Kaushik Iska
ca5cc907a9 [tracing] SceneDisplayLag is a synchronous event (flutter/engine#17878)
This change converts it from an events that spans a time interval
to an event that occurs at an instant.

We also emit this trace event when there is no lag as opposed to
only when there was a lag to make it monotonous.

Co-authored-by: Kaushik Iska <kaushikiska@google.com>
2020-04-23 10:53:45 -07:00
liyuqian
d5e3357c3f Read SkSL from json asset (flutter/engine#17861)
Fixes https://github.com/flutter/flutter/issues/55219
2020-04-22 14:10:17 -07:00
Gary Qian
887c1a875e PlatformResolvedLocale localization message channel (flutter/engine#17755) 2020-04-21 15:34:44 -07:00
Brian Osman
1a6e99b23d Remove legacy version of SkCanvas::didConcat44 (flutter/engine#17828)
Builds flags have been switched, so the old versions aren't needed any
longer.
2020-04-21 08:46:57 -04:00
George Wright
56bdcec5ae Enable Vulkan validation layers for shell_test (flutter/engine#17684) 2020-04-17 13:00:02 -07:00
Chris Yang
6bb1dd885a Pipeline: complete method returns a bool to indicate if complete is successful (flutter/engine#17687) 2020-04-17 10:39:16 -07:00