197 Commits

Author SHA1 Message Date
David Worsham
debb30eddd
Fix broken symbols on Fuchsia embedder (#20459)
See: b/163653659
2020-08-12 19:06:22 -07:00
David Worsham
9f146b5f47
Add --unoptimied and --asan to Fuchsia builds (#20427) 2020-08-12 14:47:55 -07:00
David Worsham
fafbcd223b
Fix broken Fuchsia test (#20397) 2020-08-11 01:01:38 -07:00
David Reveman
0cf4809e24
Add Surface::GetContext() support on Fuchsia (#20391)
This improves raster cache control from apps and enables
GPU acceleration for some offscreen workloads that would
fallback to software.

Test: PlatformViewTests.GetGrContextTest

Co-authored-by: David Reveman <reveman@google.com>
2020-08-10 20:51:43 -07:00
Sanjay Chouksey
9632bf3921
Create scenic session with view focuser (#20288)
This change creates the scenic session with request to Focuser. The
focuser is used to request focus to a view, given it's ViewRef. The call to
requestFocus is made from PlatformView messages channel, which will
be used from Flutter side by ChildView.

Adds a PlatformView unittest for the requestFocus method.

Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
2020-08-10 13:57:46 -07:00
David Worsham
de15313b7e
Dedupe sources for fuchsia shell/tests (#20343)
Remove the gni file, as it is confusing things
2020-08-10 13:52:19 -07:00
Zachary Anderson
47c1c61a92
Revert "fuchsia: Remove dead code / break dependencies (#19396)" (#20302)
This reverts commit 12a37478de2cc9aff7f8fc72bc3a47f5f02e083c.
2020-08-06 12:06:06 -07:00
David Worsham
12a37478de
fuchsia: Remove dead code / break dependencies (#19396)
The fuchsia code around metrics and sizing was just sending this
information through a side-channel, when the engine already had the
information available. So, delete all of it to make future CLs simpler.

Additionally, the SceneUpdateContext has many unneccesary dependencies
re: metrics and PaintTasks. Break those to make future CLs simpler.

Tested: Ran all unittests and ran workstation on Fuchsia
BUG: 53062, 53063
2020-08-03 22:09:26 -07:00
Greg Spencer
98cfd1db78
Move platform specific information to PlatformConfiguration class (#19652) 2020-07-31 17:21:02 -07:00
Jason Simmons
ee4d50cd07
Revert "Enable lazy-async-stacks by-default in all modes (2) (#19270)" (#20165)
This reverts commit 06fef5e36360e61a557fed546d12048427eb2340.
2020-07-30 18:34:51 -07:00
Siva
b955e15ee9
Manual roll of Dart from 24c7666def...40fd1c456e (#20092)
* Manual roll of Dart from 24c7666def...40fd1c456e

dart-lang/sdk@40fd1c456e Revert "[dart:io] Add Abort() on HttpClientRequest"
dart-lang/sdk@17d7296a42 [vm/nnbd/bytecode] Fix reuse of type arguments in bytecode
dart-lang/sdk@58b6f40c73 Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns. (reland)
dart-lang/sdk@fc8a6d9f9b [VM/compiler] Dereference TypeRef literal when propagating constants.
dart-lang/sdk@0689ec527a Move "test.dart" (well, most of its contents) into pkg/test_runner.
dart-lang/sdk@1094b3c61d Prepare static error test updater tool to handle web tests.
dart-lang/sdk@b258585f2f [observatory] Migrate from deprecated isInstanceOf to isA.
dart-lang/sdk@dfe1d9b682 Disable OverrideContributor for Cider.
dart-lang/sdk@aea99b2f5c scope debug property assist to Diagnosticables
dart-lang/sdk@4b96f20a79 [dart:io] Add Abort() on HttpClientRequest
dart-lang/sdk@1b1a39708c [build] Use frameworks instead of libs
dart-lang/sdk@3fef522496 Revert "Reland "[vm] Replaces fuchsia.deprecatedtimezone""
dart-lang/sdk@8c664d4f3f Revert "Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns."
dart-lang/sdk@2efb5bebc7 [ dart:_http ] Fix typo in HTTP response timeline event
dart-lang/sdk@0884dae36c Revert "Fix the #include path for ICU headers"
dart-lang/sdk@5171534e81 Scope tweaks. Report REFERENCED_BEFORE_DECLARATION in more places.
dart-lang/sdk@6bba75079a Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns.
dart-lang/sdk@b4ebbb7f5c [build] Update gn to match Fuchsia
dart-lang/sdk@cb428a7a02 [dart2js] Remove old bug work around in collector.
dart-lang/sdk@08663c20ab Change flutter patch to match existing DEPS on master branch
dart-lang/sdk@146ad014d9 update js/meta for the 2.10 dev sdk
dart-lang/sdk@488c718793 [co19] Roll co19 to d79951e06e443213243e54c2c32694b79a221b65
dart-lang/sdk@ba20edd7be Add patch for flutter-engine when changing to version 2.10

* Rev buildroot to latest version.

* Update license.

* update.

* Update gn revision.

* Format BUILD.gn files as the gn revision has been updated.
2020-07-29 13:10:15 -07:00
Clement Skau
06fef5e363
Enable lazy-async-stacks by-default in all modes (2) (#19270) 2020-07-29 12:25:30 +02:00
Adlai Holler
c57aff1800
Use the GrDirectContext factories instead of deprecated GrContext ones (#19962)
This is part of a larger effort to expose the difference between GrDirectContext,
which runs on the GPU thread and can directly perform operations like uploading
textures, and GrRecordingContext, which can only queue up work to be delivered
to the GrDirectContext later.
2020-07-28 13:32:09 -07:00
Felipe Archondo
1820dbedd3
fix and re-enable SessionConnection unit tests (#19812)
[fuchsia] fix and re-enable SessionConnection unittests

This change waits until Scenic is initialized before beginning the test
logic. This should fix the issue where the test starts running before or
during Scenic startup.
2020-07-23 12:15:07 -04:00
David Reveman
f6113f6aee
[fuchsia] Fix use-after-free due to raster cache (#19740)
Co-authored-by: David Reveman <reveman@google.com>
2020-07-14 19:06:45 -04:00
David Worsham
9353692cdb
fuchsia: Enable most unittests (#19583)
Tweak the primary flutter build rule so that fuchsia is more similar to
other platforms in how tests and the shell are built.

Only embedder_unittests and GLFW tests are disabled on Fuchsia now.

TEST: Ran unittests on host/fuchsia; workstation on fuchsia
BUG: fxb/53847, fxb/54056
2020-07-13 17:36:19 -07:00
David Reveman
d024ae4009
[fuchsia] Use memory_requirements_2 extension. (#19678)
This is required by some Vulkan 1.0 drivers. For example,
MoltenVK through goldfish ICD when running in the emulator.

Co-authored-by: David Reveman <reveman@google.com>
2020-07-13 17:37:20 -04:00
renyou
cee437e8d1
Revert "Add tests & --unopt to build_fuchsia_artifacts (#18625)" (#19494)
This reverts commit fae8141f9f5f64bd9aad8d53f031f2416bf82ec8.
2020-07-03 13:26:19 -07:00
renyou
6184f62897
Revert "fuchsia: Fix profile build (#19399)" (#19493)
This reverts commit a974b78117dca341473207eb63b8d6ccb06587c3.
2020-07-03 13:26:00 -07:00
Guruji Panda
01345f5372
Fix paths in source and yaml files to minimize changes in google3 (#19414) 2020-07-01 16:13:03 -07:00
David Worsham
a974b78117
fuchsia: Fix profile build (#19399) 2020-06-29 17:35:35 -07:00
David Worsham
fae8141f9f
Add tests & --unopt to build_fuchsia_artifacts (#18625)
We can build unoptimized code for easier debugging with this flag.
2020-06-29 16:39:15 -07:00
David Worsham
4cd3ec077d
Fix broken mac/fuchsia compiles (#19339) 2020-06-26 14:53:54 -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
Sanjay Chouksey
e9edf32d40
Add PlatformView support for Fuchsia (#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
Siva
e3f3fecb18
Manual roll of Dart 021a49e88c...4b9aa2bd7e (#19079)
1. Manual roll of Dart 021a49e88c...4b9aa2bd7e
dart-lang/sdk@4b9aa2bd7e Revert "[VM/Runtime] Cleanup package config initialization code"
dart-lang/sdk@d44457f79d [Core Libraries] Eliminate the fork in the core libraries.
dart-lang/sdk@29e93bcdbd [VM/Runtime] Cleanup package config initialization code
dart-lang/sdk@07e2921287 [ddc] Cleanup false assumption from subtype check
dart-lang/sdk@62893f9b00 Reland "[vm] Check prefix.loadLibrary is called and returns before prefix members are used."
dart-lang/sdk@ed9112e862 Sort declarations in api_test.dart
dart-lang/sdk@a9bb706ce2 Migration: allow the client to specify which files to analyze/migrate.
dart-lang/sdk@651464c909 Implement the rest of the ArgumentList ASTNode logic in the context type visitor in feature_computer.dart, tests added in feature_computer_test.dart
dart-lang/sdk@c7d9fa996b Clean up some unnecessary code in completion manager
dart-lang/sdk@e11eb2cd08 [nnbd_migration] Fix #42263, tool inserting ! on toString/hashCode

2. Adjusted all flutter libraries.yaml files to account for elimination of the
fork in the Dart core librarie

3. Adjusted flutter gn file to account for elimination of the fork in the
Dart core librarie
2020-06-16 19:41:06 -07:00
Gary Qian
3a96741247
Platform resolved locale and Android localization refactor (#18645) 2020-06-16 04:29:50 -07:00
Dan Field
e84d497b9d
Fix hit testing logic in fuchsia a11y (#19029) 2020-06-12 18:24:38 -07:00
James Robinson
e3fdb23304
[fuchsia] Add ability to configure separate data and asset dirs (#18858)
This allows Fuchsia components executed by the Flutter runner to
specify a directory containing assets if they wish to store assets
separate from program data. This is specified in the program metadata
field within the component's specification with the new "assets"
attribute. If this attribute is absent, assets are loaded relative to
the path specified in the "data" attribute as before.

This is useful in the short term to use a location in the package where
we can store small files more efficiently. It is also potentially
useful longer term to enforce a stronger separatation between
executable program data and non-executable assets.

This commit adds some basic unit testing for the data parsing to the
flutter_runner_tests suite.
2020-06-12 14:41:27 -07:00
David Worsham
66d85bceb7
Move Surface and friends to flow/ (#18938) 2020-06-09 16:03:01 -07:00
Brian Osman
925943b74d
SkMatrix::MakeFoo is deprecated, use SkMatrix::Foo instead (#18934) 2020-06-09 16:55:13 -04:00
Felipe Archondo
80230d815d
[fuchsia] add robust scheduling for flutter_runner (#18233) 2020-06-09 13:50:51 -07:00
David Reveman
7f388bf814
[fuchsia] Limit unnecessary layout transition to aarch64. (#18833)
This is causing rendering artifacts on intel.

Co-authored-by: David Reveman <reveman@google.com>
2020-06-04 22:29:40 -04:00
Kaushik Iska
3d621903bc
[fuchsia] NNBD: Kernel libraries for Flutter, Dart runners (#18714)
This updates the references to `third_party/dart/sdk` to
`third_party/dart/sdk_nnbd`

Fixes: https://github.com/flutter/flutter/issues/58431
2020-06-01 15:28:10 -07:00
David Reveman
7ac06df3ee
[fuchsia] Use R8G8B8A8 format instead of B8G8R8A8. (#18475)
This format is preferred on some hardware. Also explicitly
specify color space when creating the skia surface.

Co-authored-by: David Reveman <reveman@google.com>
2020-05-29 07:05:02 -04:00
David Reveman
c19459ab7d
[fuchsia] Avoid unnecessary layout transition. (#18653)
See https://github.com/KhronosGroup/Vulkan-Samples/blob/master/samples/performance/layout_transitions/layout_transitions_tutorial.md#transaction-elimination-on-mali-gpus
for an explanation of why transitioning the layout hurts performance
on Mali drivers.

Co-authored-by: David Reveman <reveman@google.com>
2020-05-28 22:43:40 -04:00
gaaclarke
bef5ac6132
Made the Rasterizer avoid GPU calls when backgrounded (#18563) 2020-05-26 21:02:40 -07:00
David Worsham
c9f9891454
Reland "fuchsia: Implement CreateViewWithViewProvider" (#18615)
The last commit was a bad push -- this one compiles.

Tested: Manual test via workstation product
BUG: 50875
2020-05-26 19:29:11 -07:00
David Worsham
b0008b0080
Revert "fuchsia: Implement CreateViewWithViewProvider (#18280)" (#18614)
This reverts commit 40043b5faccaa97cf2ffa483c5ff03fc1117c7db.
2020-05-26 17:12:34 -07:00
David Worsham
40043b5fac
fuchsia: Implement CreateViewWithViewProvider (#18280)
Tested: Manual test via workstation product
BUG: 50875
2020-05-26 16:27:15 -07:00
George Wright
cdc5ed3ad9
Set caches directory on Fuchsia (#18321) 2020-05-20 11:05:55 -07:00
egdaniel
dba00b2395
Update flutter skia flush calls to new flush and submit api (#18421)
* Update flutter to use new skia flushing/submit api

This has no functional change, just moving to the new api calls.

* Update vulkan_swapchain.cc

* Update embedder_external_view_embedder.cc
2020-05-15 11:40:21 -04:00
gabeschine
72fe227a50
Update Fuchsia ComponentContext constructor call to renamed, but equvalent, method (#18067)
This change is part of an LSC in Fuchsia, and is a functionality no-op.

Fixes fxbug.dev/50759

Co-authored-by: Gabriel Schine <thatguy@google.com>
2020-05-01 15:04:58 -07:00
Felipe Archondo
24df4a2768
[fuchsia] set vsync_offset based on config file (#18006)
In order to better support different products on Fuchsia, we should
change performance-sensitive attributes based on config files passed in.
This change does so for `vsync_offset`.
2020-05-01 08:45:53 -07:00
George Wright
4c4e24bd77
Bundle the validation layers and enable them if --enable-vulkan-validation-layers is specified to gn (#17854) 2020-04-30 16:06:59 -07:00
Kaushik Iska
6530b57d0d
[fuchsia] Log unregistered platform channels only once (#18064)
This is to reduce log spam.

Fixes: https://github.com/flutter/flutter/issues/55966
2020-04-30 15:25:48 -07:00
Filip Filmar
fe70fc74a0
[fuchsia] Use dart::ComponentContext() (#17876)
This functionality is added in issue #41523.  Allows runners to request
the singleton instance of `sys::ComponentContext`, while it remains also
accessible to component-specific code that does not have direct access
to top-level objects.

Fixes #41523
2020-04-30 13:27:57 -07:00
George Wright
df4596d87b
Set the max Vulkan API version when creating the GrContext (#18007) 2020-04-28 14:15:56 -07:00
David Reveman
ae311ca4da
[fuchsia] Enable raster cache on Fuchsia (#17753)
The raster cache is critical for good performance. This
enables the cache and provides a GrContext to ScopedFrame
instances so the cache can be efficiently populated.

Small increase in peak GPU memory usage is expected from
this change. Otherwise, no change in behavior expected.

Fixes https://github.com/flutter/flutter/issues/54950

Co-authored-by: David Reveman <reveman@google.com>
2020-04-20 10:29:08 -07:00
David Reveman
a15eca8b4f
[fuchsia] Adjust Skia GPU resource cache size (#17798)
16 MiB -> 28 MiB

Same size as what would be used on a 1024x600 display if we
allowed the common engine code to adjust this.

Co-authored-by: David Reveman <reveman@google.com>
2020-04-20 10:07:28 -07:00