619 Commits

Author SHA1 Message Date
Filip Filmar
1551b74213
[shell] Adds a shell test for timezone fetches (#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
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
liyuqian
137320b5c7
Correct BM_ShellInitializationAndShutdown (#18829) 2020-06-16 23:38:02 -07:00
Kaushik Iska
c8b077fa1a
Revert "Remove pipeline in favor of layer tree holder (#18901)" (#19066)
Reverting for b/158816279
2020-06-16 13:15:57 -07:00
Gary Qian
3a96741247
Platform resolved locale and Android localization refactor (#18645) 2020-06-16 04:29:50 -07:00
Michael Goderbauer
486f26fbf9
Rename trace-whitelist to trace-allowlist (#19047) 2020-06-15 20:52:43 -07:00
Kaushik Iska
acf048bd0d
Remove log added for local testing (#19012) 2020-06-11 19:22:36 -07:00
Kaushik Iska
2651beba06
Exit before pushing a trace event when layer tree holder is empty (#19008) 2020-06-11 19:17:20 -07:00
freiling
e1c622b4aa
Make SKSL caching test work on Fuchsia on arm64 (#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
b1a08f2abd
Make rasterizer screenshot work with gl_context_switch (#18850) 2020-06-10 10:00:43 -07:00
David Worsham
66d85bceb7
Move Surface and friends to flow/ (#18938) 2020-06-09 16:03:01 -07:00
Kaushik Iska
28e7b7999f
Remove pipeline in favor of layer tree holder (#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
1482d9b05e
Rework GLContextSwitch, get rid of RendererContextManager (#18601) 2020-06-04 11:37:51 -07:00
Dan Field
25054fb470
Implement GetAllocationSize for Vertices (#18756)
* Implement GetAllocationSize for Vertices

* Reflect vertex buffer size in pictures
2020-06-03 10:35:14 -07:00
Emmanuel Garcia
243bb59c71
Pass SurfaceFrame to SubmitFrame (#18709) 2020-06-02 21:59:44 -07:00
chenjianguang
42b40b436a
Fix BM_ShellShutdown regression (#18676) 2020-06-01 16:13:02 -07:00
chenjianguang
89cf074d37
Setup default font manager after engine created, to improve startup performance (#18225) 2020-05-28 17:53:04 -07:00
gaaclarke
bef5ac6132
Made the Rasterizer avoid GPU calls when backgrounded (#18563) 2020-05-26 21:02:40 -07:00
David Worsham
1429534707
fuchsia: Fix runtime_tests and shell_tests (#18492) 2020-05-20 18:47:02 -07:00
Kaushik Iska
0d2768772f
[fuchsia] Remove SceneDisplayLag event on Fuchsia (#18515)
See: https://github.com/flutter/flutter/issues/56598
2020-05-20 10:56:35 -07:00
Chris Yang
9ce1e5c5c7
Introduce TaskRunnerAffineWeakPtrFactory to generate TaskRunnerAffineWeakPtrs (#18346) 2020-05-19 16:36:17 -07:00
Kaushik Iska
e67ed1b207
[fuchsia] Update the error message to reference the right asset (#18485) 2020-05-18 16:27:04 -07:00
liyuqian
a4fb3de207
Automatically remove old persistent cache dir (#18244)
Fixes https://github.com/flutter/flutter/issues/53445
2020-05-15 14:15:59 -07:00
Kaushik Iska
2494d1ca70
Revert "Remove pipeline in favor of layer tree holder (#18285)" (#18427)
This reverts commit 2cdbc7f92793125d9312138877c05af6ad708683.
2020-05-15 12:27:32 -07:00
Kaushik Iska
2cdbc7f927
Remove pipeline in favor of layer tree holder (#18285)
go/flutter-pipeline-improvements for more details.
2020-05-14 10:46:14 -07:00
Kaushik Iska
8d76518011
Fix latest_frame_target_time race (#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
4418ce8825
Revert "Remove pipeline in favor of layer tree holder (#17688)" (#18242) 2020-05-08 16:09:02 -07:00
Kaushik Iska
983de2c402
Remove pipeline in favor of layer tree holder (#17688)
go/flutter-pipeline-improvements for more details.
2020-05-08 10:51:10 -07:00
Jason Simmons
88b9d42400
Remove the global engine entry timestamp (#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
ede658e2d1
[profiling] CPU Profiling support for iOS (#18087)
See flutter.dev/go/engine-cpu-profiling for details
2020-05-07 08:11:07 -07:00
Chris Yang
2622cb9c33
Introduce TaskRunnerChecker, TaskRunnerAffineWeakPtr (#17649) 2020-05-01 11:28:20 -07:00
Chris Yang
4fa6bc77aa
RendererContextManager (#17941) 2020-04-30 09:39:33 -07:00
liyuqian
50ae2b997d
Set SkSL asset manager in RunConfiguration ctor (#17948) 2020-04-27 17:49:04 -07:00
liyuqian
5f5f50d4c6
Revert "[tracing] SceneDisplayLag is a synchronous event (#17878)" (#17916)
This reverts commit a544b45f26cce15fe4ad70f99a52f4e21aff7726.

Reverts flutter/engine#17878

This breaks our devicelab tests.

TBR: @flar
2020-04-23 18:04:39 -07:00
Kaushik Iska
a544b45f26
[tracing] SceneDisplayLag is a synchronous event (#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
31ecf878aa
Read SkSL from json asset (#17861)
Fixes https://github.com/flutter/flutter/issues/55219
2020-04-22 14:10:17 -07:00
Gary Qian
8dc91229b4
PlatformResolvedLocale localization message channel (#17755) 2020-04-21 15:34:44 -07:00
Brian Osman
68800a2700
Remove legacy version of SkCanvas::didConcat44 (#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
9f31d81dcd
Enable Vulkan validation layers for shell_test (#17684) 2020-04-17 13:00:02 -07:00
Chris Yang
efd8adfbb3
Pipeline: complete method returns a bool to indicate if complete is successful (#17687) 2020-04-17 10:39:16 -07:00
Brian Osman
1cf1a5882d
Guard canvas virtuals so we can remove legacy didConcat44 (#17756)
* Guard canvas virtuals so we can remove legacy didConcat44

SkMatrix44 is also deprecated, so start transitioning to SkM44.

* Fix formatting
2020-04-16 13:40:22 -04:00
George Wright
b241ec1d46 Enable required extension 2020-04-13 12:14:06 -07:00
Mehmet Fidanboylu
47a88e8ea3
Add support for setting allow http flag in Dart VM (#17653) 2020-04-11 11:55:05 -07:00
Chris Yang
68fd833488
Reland "Improve iOS PlatformViews to better handle thread merging. #16935" (#17609) 2020-04-10 13:25:02 -07:00
liyuqian
a8af96da66
Read SkSLs from asset (#17601)
Fixes https://github.com/flutter/flutter/issues/53117

Test added:
- ShellTest.CanLoadSkSLsFromAsset
2020-04-10 00:16:33 -07:00
Chris Yang
caebc93e0c
Revert "Improve iOS PlatformViews to better handle thread merging. (#16935)" (#17600)
This reverts commit f6b8eda714680e308a801d15829a5f71abee75d1.
2020-04-08 21:15:38 -07:00
Chris Yang
f6b8eda714
Improve iOS PlatformViews to better handle thread merging. (#16935) 2020-04-08 17:33:33 -07:00
Kaushik Iska
f6ca48943d
[perf] Add a SceneDisplayLag event when we miss vsyncs (#17575)
This event goes from now -> current vsync target time
to avoid the limitations as seen in https://github.com/flutter/flutter/issues/54095#issuecomment-610636237

This event also tags additional metadata to capture
`vsync_transitions_missed` considering the refresh rate of the display.
2020-04-08 09:14:11 -07:00
Kaushik Iska
1b6b609d9d
Remove SceneDisplayLag trace event temporarily (#17571)
Working theory is that adding async events with begin times
in the past causes the timeline to skip some events.

See: https://github.com/flutter/flutter/issues/54095
2020-04-07 16:33:52 -07:00
Jason Simmons
983d1e1703
Fix include paths of fml/time headers in the shell and rasterizer (#17502) 2020-04-03 12:33:54 -07:00