252 Commits

Author SHA1 Message Date
Jonah Williams
5d757690d5
[null-safety] update use of dot packages to package_config.json (#19780)
Work towards flutter/flutter#60999

All usage of .packages must eventually be replace with package_config.json to support language versioning.
2020-07-15 15:26:34 -07: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
Jonah Williams
4a2bf61a30
switch kernel_compiler to package_config (#19582)
Update the kernel compiler target to be compiled with a package_config, eventually needed for null safety.

Work towards flutter/flutter#60999
2020-07-14 09:16:36 -07: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
Chase Latta
b919945af8
include list_libraries.dart as a snapshot for fuchsia (#19567) 2020-07-07 11:16:50 -07: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
Alexandre Ardhuin
218d98f4d8
Operator equals (#19303)
* use Object for operator==

* apply style guide for operator==
2020-06-30 23:16:31 +02: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
Sanjay Chouksey
d0f9ef631c
Allow access to raw zircon handle (#19052)
As part of migrating Fuchsia from legacy SceneHost/ChildView based code
to Flutter Embedder based PlatformView, we need to expose the raw zircon
handle. Since we are converting a private getter to public getter, this
does not affect any existing code.

Co-authored-by: Sanjay Chouksey <sanjayc@google.com>
2020-06-16 11:23:39 -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
Kaushik Iska
2a82a08329
[dart] Account for compiler api change (#19002) 2020-06-11 10:12:39 -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
Guruji Panda
6734ab3914
Fix include paths to help building flutter runner for Fuchsia in Google3. (#18840)
Include header file without absolute path if the header file belongs to
the same directory as source file.
2020-06-06 16:05:04 -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
Kaushik Iska
d8b6602c36
[fuchsia] Fix Mac SDK roll failure (#18509)
fixes deps for zircon/sdk_ext as well
2020-05-19 12:57:35 -07:00
Jason Simmons
778aad06f6
Roll the Fuchsia SDK and update the path to the async API header (#18494) 2020-05-19 08:10:22 -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
Alexander Aprelev
1c8ee9856b
Introduce runtime check that it is root isolate that makes UI native calls. (#18050)
* Revert "Do not register UI-related native functions in secondary isolates (#6401)"

This reverts commit 69ae5694de54d2a163743dcec727fcea1c7bc8e1 as it doesn't work when root and secondary isolates run in the same isolate group.

* Confirm it is root isolate that makes UI native calls.

* Fix format, UIDartState reference from Fuchsia source

* No UI isolate check for fuchsia calls

* Fix typo. Remove redundant runtime calls
2020-05-01 09:05:41 -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
George Wright
9f31d81dcd
Enable Vulkan validation layers for shell_test (#17684) 2020-04-17 13:00:02 -07:00
Brian Osman
fb208b486e
Convert semantics_node from SkMatrix44 to SkM44 (#17763)
* Convert semantics_node from SkMatrix44 to SkM44
2020-04-17 07:24:40 -04:00
Chris Bracken
6aa7029596
Eliminate fx_log_init call (#17622)
fx_log_init was already a no-op, and was eliminated in the latest
Fuchsia SDK.

See: https://fuchsia.googlesource.com/fuchsia/+/47e568475f535c00f53c86e19ff4d8736a7b261f
2020-04-10 09:02:52 -07:00
Dan Field
ff62dec5c9
Roll to clang11, mark 4 (#17483)
* "Reland Clang 11, roll buildroot to 1bc40a5f916adb93d87e2a2230a0ec43db876c1c, take 4 (#17467)" (#17482)"

This reverts commit 8166a91bca11b83c16fba8f8fd407e937a2ac89c.

* format code

* Roll buildroot to 3a27de1c5bb0f50be7d3efe3e00de4f6068c9f30
2020-04-02 13:04:49 -07:00