215 Commits

Author SHA1 Message Date
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
Nathan Rogers
7fc22d118e
[fuchsia] Remove "CreateTraceProvider" trace event (#17423)
Since the trace provider hasn't been created yet, it is not possible to
trace the creation of a trace provider using a TRACE_DURATION event (the
trace enabled and category check will always fail).  While this isn't
causing any urgent problems, remove it to set a good example for other
clients of tracing that might happen to reference this code.
2020-03-31 15:09:38 -07:00
liyuqian
807ca8543c
More rename from GPU thread to raster thread (#17408)
This PR touches variable names, class names, and file names so it's significantly more risky than its predecessor https://github.com/flutter/engine/pull/17329

Due to file name changes, this PR is expected to change the license files.

We haven't rename `shell/gpu` to `shell/raster` yet. It should be optional but I think it's better to have `raster_surface_software.cc` than `gpu_surface_software.cc`.
2020-03-31 14:05:28 -07:00
liyuqian
b3075b3091
Rename GPU thread to raster thread in code comments (#17329)
1. Simple "GPU thread" to "raster thread" replacement.

2. Regex replace "GPU([\n\r\s]+//+ thread)" with "raster$1".

3. Regex replace "// gpu$" with "// raster".

4. Simple test change.

5. Run ci/format.sh
2020-03-25 22:49:59 -07:00
Filip Filmar
23dff31a38
[runner] Corrects logging of close() status (#16698)
close() returns a nonzero in case of an error.  Old code had it log
only when *no* error happens on close, which is exactly the opposite
of what we want.
2020-03-25 16:31:46 -07:00
Drew Fisher
fb841071c2
fuchsia: remove use of replace_as_executable (second try) (#17313)
On Fuchsia, we can now get executable VMOs from trusted backing
filesystems.  This allows us to remove the use of replace_as_executable
in favor of opening files with `fdio_open_fd_at` with the
`OPEN_RIGHT_EXECUTABLE` flag and getting VMOs by calling
`fdio_get_vmo_exec`.

By moving the responsibility for executability into the filesystem, we
are able to remove `deprecated-ambient-replace-as-executable` from
component manifests for non-JIT runners (the JIT runners still call
replace_as_executable in Dart's allocator).  It wasn't abundantly clear
whether .cmx files for tests were used purely in AOT runtime
environments or also saw JIT usage, so I left those as-is.

For context: this is a second attempt at #16690, which was reverted
because it broke the Dart JIT runner.  The primary difference is that
this time around, we correctly handle absolute vs relative paths,
depending on whether library loading bottoms out in `fdio_open_fd` or
`fdio_open_fd_at`.  I've added additional assertions to help ensure any
new usages use the correct shape of path.

Testing: I verified locally that the flutter product runner works on
Astro, and also successfully ran the Dart JIT example test (which was
the thing blocking the google3 roll with the previous attempt at this
patchset).

Co-authored-by: Drew Fisher <zarvox@google.com>
2020-03-25 13:17:28 -07:00
Chinmay Garde
518c9e09cc
Remove checks for the always true using_fuchsia_sdk flag in all GN files. (#17261) 2020-03-23 18:31:02 -07:00
mikejurka
ad8ccf47b1
[Fuchsia] Move physical shape layer compositing to Flutter (#17005)
* [fuchsia] Add labels to Scenic nodes.

* [fuchsia] Skip creating Scenic nodes for identity Transforms.

* [fuchsia] Assign elevation to Scenic nodes based on paint order.

* [fuchsia] Create Scenic OpacityNodes at leaf nodes.

* [fuchsia] Composite PhysicalShapeLayers using Skia, except when they need to float above child views.

In that case, they will still need to be pulled
into separate Scenic nodes to be composited on top
of the child view[s].

* [fuchsia] Add tests for Fuchsia-specific layer behavior.

Inspect commands going to Scenic and make sure
they match what is expected.

Also, restructure code to need less member variables,
and other cleanups based on review feedback.
2020-03-23 16:38:07 -07:00
George Wright
498dc77361
Truncate error messages for the crash reporter to the maximum length permitted by the FIDL call (#17189) 2020-03-18 13:08:54 -07:00
Felipe Archondo
98f9941843
[fuchsia] fix broken flows when under high load (#16834) 2020-03-06 11:33:31 -05:00
Kaushik Iska
a16d97e507
Revert "fuchsia: remove use of replace_as_executable (#16690)" (#16829)
This reverts commit ff921cd608efaf3aecd3e3e0feb14bb540cc22ed.
2020-02-27 10:13:26 -08:00
Kaushik Iska
060a7733a6
Roll fuchsia/sdk/core/linux-amd64 from QU3ft... to 94el1... (#16821) 2020-02-26 15:44:59 -08:00
Drew Fisher
ff921cd608
fuchsia: remove use of replace_as_executable (#16690)
On Fuchsia, we can now get executable VMOs from trusted backing
filesystems.  This allows us to remove the use of replace_as_executable
in favor of opening files with `fdio_open_fd_at` with the
`OPEN_RIGHT_EXECUTABLE` flag and getting VMOs by calling
`fdio_get_vmo_exec`.

By moving the responsibility for executability into the filesystem, we
should be able to remove deprecated-ambient-replace-as-executable from
component manifests for non-JIT runners (the JIT runners still call
replace_as_executable in Dart's allocator).

Test: verified locally that this works on Astro on a _user build with
the runtime allowlist tightened.
2020-02-25 13:24:07 -08:00
Dan Field
888a62cf22
Revert "Enable lazy-async-stacks by-default in all modes (#16556)" (#16781)
This reverts commit fdabcaddf45deaf93a5238c99c2acbeb25a3a027.
2020-02-24 20:04:40 -08:00
Filip Filmar
38dc2ea67c
[i18n] Deprecates fuchsia.timezone.Timezone (#16700)
The FIDL interface `fuchsia.timezone.Timezone` does not exist for quite
a while now.  Instead, a transitional `fuchsia.timezone.Timezone` should
be used.

Fixes flutter/flutter#51087
2020-02-24 11:44:30 -08:00
Martin Kustermann
fdabcaddf4
Enable lazy-async-stacks by-default in all modes (#16556)
This was already enabled by-default in AOT mode in [0] - which made the
gen_snapshot invocations use "--lazy-async-stacks --no-causal-async-stacks".

See go/dart-10x-faster-async for more information.

[0] https://github.com/flutter/flutter/commit/347823234fd
2020-02-20 18:31:26 +01:00
Kaushik Iska
539f64f56a
[fuchsia] Disable retained layers (#16548)
Retained surfaces are being prematurely recycled.
Temporarily disabling them until they are reworked.
2020-02-11 14:15:31 -08:00
Alexander Brusher
537eb77379
Update node fields fix (#16428)
* Modifies accessibility bridge to populate new node fields in semantics API.

* Adds additional UTs and fixes logic for breaking up updates for nodes with large values.

* Chaged tests to set node flags using bitwise-or instead of addition.

* Address bug in update size arithmetic.

* Fixes issue in TruncatesLargeValue unit test causing unexpected deletes.

* Fixes expected number of updates in BatchesLargeMessages unit test to reflect expected values now that node states are populated.
2020-02-07 13:24:36 -08:00
George Wright
d2aab27b4f
Enable shell_unittests on Fuchsia with Vulkan dependencies. (#16376)
This also adds a dependency on SwiftShader's Vulkan frontend.
2020-02-06 15:07:01 -08:00
Felipe Archondo
f25d325b1e
[fuchsia] change kMaxFramesInFlight to 3 (#16425)
To give more flexibility in scheduling, we change the number of frames
in flight we can have at one time to 3. We also introduce an offset from
VSync that Flutter can use to begin its work at. It is currently set at
0ms, matching previous behavior.
2020-02-05 23:58:05 -05:00
Felipe Archondo
11b770489f
[fuchsia] Migrate flutter runner to use Present2 (#14162)
No change in behavior expected. We have 2 frames in flight as before. By switching to Present2 and specifying a kMaxFramesInFlight however, we allow us greater flexibility to change how Flutter schedules its frames.

This change also adds tests for SessionConnection and VsyncRecorder.
2020-02-05 13:51:04 -08:00
Dan Field
e24ec598e0
Fuchsia a11y actions (#16321) 2020-02-04 19:01:19 -08:00
Dan Field
f2ade05de2
Revert "Modifies accessibility bridge to populate new node fields in semantic… (#15116)" (#16323)
This reverts commit 4a55b4fd2500bf96de93c4feb4172d88b93d52c3.
2020-01-31 23:31:27 -08:00
Chinmay Garde
f7b78e001d
Remove all uses of the redundant flutter_root variable. (#16311)
This was only necessary when the Engine had to build in multiple buildroots
where the sources where checked out at different paths relative to the
buildroot. This is no longer the case and there are already cases GN rules
have been written that mix and match variable usage with the direct
specification of the path to the Flutter sources relative to the sole buildroot.
2020-01-31 21:49:48 -08:00
George Wright
f5de1acf94
Revert "Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118)" (#16277)
This reverts commit 41e8ed071454cfd9ae02e34198250dea0edab9c4.
2020-01-30 17:19:13 -08:00
Alexander Brusher
4a55b4fd25
Modifies accessibility bridge to populate new node fields in semantic… (#15116) 2020-01-29 10:38:21 -08:00
Chinmay Garde
276481c4d3
Move tonic into //flutter/third_party. (#15895)
Tonic used to be used by multiple consumers outside of Flutter Engine. Due to
this, it has an unnecessary abstraction layer as well as utilities duplicated in
FML and other engine subsystems. The sole user of Tonic is now the Flutter
Engine. It is intended that the Flutter Engine team now owns this subsystem,
remove unnecessary utilities and document the headers. This is the first step in
the transition. No history is being imported as the initial history was already
lost in the transition of this component to fuchsia.googlesource. As this
component was unmaintained there, I could see no additional value in importing
the history of the patches there.

No functional change. Just moved the repo from //third_party to
//flutter/third_party and updates GN refs.
2020-01-25 17:01:56 -08:00
Kaushik Iska
bd8c955502
[fuchsia] Expose view_ref as part of dart:fuchsia initialization (#15958)
fixes https://github.com/flutter/flutter/issues/47178
2020-01-24 13:42:19 -08:00
George Wright
41e8ed0714 Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118) 2020-01-23 18:54:49 -08:00
Miguel
e08ff745d2 [fuchsia] Add LogSink to flutter_[jit & aot]_product_runner (#15697) 2020-01-23 15:15:33 -08:00
Kaushik Iska
5c9c6276c1
[fuchsia] Timeline events in profile mode to observatory (#15900)
This is to address fxb/44063

In all the other modes they will be sent to the systrace
2020-01-23 11:53:03 -08:00
George Wright
69bc783016
Revert "Migrate flutter_runner from flutter_runner::{Thread,Loop} to fml::{Thread,MessageLoop} (#15118)" (#15903)
This reverts commit a50f1ef56a05999bfa97a777cca14fd7a00e8454.
2020-01-22 20:35:41 -08:00
Dan Field
3bd9044e25 errant log (#15891) 2020-01-22 11:18:03 -08:00
Dan Field
c3e2c0f32b
[fuchsia] HitTesting for fuchsia a11y (#15570) 2020-01-22 01:12:37 -08:00
Nathan Rogers
26d82402db Add size parameters to Vulkan surface functions (#15748)
Add "width" and "height" trace parameters to
|VulkanSurfacePool::GetCachedOrCreateSurface| and
|VulkanSurfacePool::CreateSurface|.  Also add an "allocationSize"
parameter to the "vkAllocateMemory" event.
2020-01-21 11:46:10 -08:00
Ben Konyi
82a851cf21
Roll src/third_party/dart 83fba7bd54..fe666ce592 (3 commits) (#15619)
fe666ce Report unused public static members of private classes by Sam Rawlins · 14 hours ago
43ceb5c Revert "De-dup js_util between ddc and dart2js" by Vijay Menon · 15 hours ago
04e2c97 NNBD preview: Fix the position of the navigation by Sam Rawlins · 17 hours ago
83fba7b [ VM ] Move vmservice_io code from runtime/bin to dart:_internal/vm/bin by Ben Konyi · 18 hours ago
c0b1a0a Switch analyzer perf to using analyzer Packages. by Konstantin Shcheglov · 18 hours ago
5b391ba [tests] Break the monolithic async* tests into multiple files by Nicholas Shahan · 19 hours ago
980a200 [vm/vmservice] Make sure writing service info file is awaited by Alexander Markov · 19 hours ago
7997162 Fix getHover test on Windows. by Konstantin Shcheglov · 19 hours ago
301a3a2 Fix incorrect .packages files in DAS tests. by Konstantin Shcheglov · 19 hours ago
c41812b Incremental work in the completion_metrics.dart file. by Jaime Wren · 19 hours ago
5169a52 Use @patch for List.of factory constructor by Stephen Adams · 20 hours ago
2a7789d De-dup js_util between ddc and dart2js by Vijay Menon · 20 hours ago
aaaaa47 [dartjs] Remove unsound `contains` method from AbstractValueDomain. by Mayank Patke · 20 hours ago
fd9d3f9 relevance test re-structure by pq · 20 hours ago
5d96b23 [dartdevc] Fix analysis error in runtime library by Nicholas Shahan · 20 hours ago
2c121e4 Migration: modify pass through edit plans to integrate up the tree stepwise. by Paul Berry · 21 hours ago
6669849 Initial commit with some work starting the metrics collection around code completion metrics gathering. by Jaime Wren · 21 hours ago
c6d6eed Include type arguments when converting to a stateful widget (issue 40095) by Brian Wilkerson · 22 hours ago
b9c5798 Support latest analyzer in analyzer_plugin by Simon Binder · 22 hours ago
16f07ea Revert "Use nullable context type for operand of null-check operator." by Konstantin Shcheglov · 23 hours ago
c8f2683 Add a reason to the MakeNullable change and plumb it through to the AtomicEdit by Brian Wilkerson · 23 hours ago
5357052 [vm/compiler] Fix handling of function types in type tests for type parameters by Alexander Markov · 23 hours ago
8a1a4e7 Add flag to specify which null-safety semantics to use for codegen by Sigmund Cherem · 23 hours ago
b3c6af3 [vm/compiler] Introduce base class for instance calls in IL by Alexander Markov · 24 hours ago
67f3cf3 Revert "[vm, gc] Sweep non-executable large pages concurrently." by Ryan Macnak · 24 hours ago
00a6b52 Test that invocation of a method on a nullable interface type prefers nullable extension. by Konstantin Shcheglov · 24 hours ago
b5f4351 Move ABSTRACT_SUPER_MEMBER_REFERENCE tests. by Konstantin Shcheglov · 25 hours ago
ca31f1d Refactor FunctionExpressionInvocationResolver to support Never. by Konstantin Shcheglov · 25 hours ago
4495c2b [vm, gc] Run weak processing in parallel for old-space GCs. by Ryan Macnak · 26 hours ago
2dd37b6 Add findPackagesFrom(). by Konstantin Shcheglov · 27 hours ago
abe7c1a When NNBD, use nullable iterable type for null-aware spreads. by Konstantin Shcheglov · 27 hours ago
6f1bcee Extract ifNull resolution in BinaryExpressionResolver. by Konstantin Shcheglov · 27 hours ago
9c9c283 [vm, gc] Remove dead allocation stats code. by Ryan Macnak · 27 hours ago
a4207fd [vm/aot] Avoid loading the code register (in bare-AOT) and zeroing IC data reg (in AOT) for closure calls by Martin Kustermann · 33 hours ago base
4cb8816 [gardening] Also ignore OSError in verify_http_timeline_test. by Teagan Strickland · 34 hours ago
d1e11f0 Enable prefer_final_fields in three packages by Brian Wilkerson · 2 days ago
856a270 Use nullable context type for operand of null-check operator. by Konstantin Shcheglov · 2 days ago
da6696b Use analyzer Packages. by Konstantin Shcheglov · 2 days ago
5b1065a Enable avoid_init_to_null in analysis_server by Brian Wilkerson · 2 days ago
99cdbee Use getDisplayString() for hover. by Konstantin Shcheglov · 2 days ago
04b5bd9 Extract null check in PostfixExpressionResolver. by Konstantin Shcheglov · 2 days ago
ac8a2a6 Enable avoid_init_to_null in analyzer_plugin by Brian Wilkerson · 2 days ago
f1c81da Add a fix for unnecessary_null_in_of_null_operators by Brian Wilkerson · 2 days ago
9254683 Remove packageMap and hasFlutterDependency from Workspace interface. by Konstantin Shcheglov · 2 days ago
ecebc29 Do negation resolution in one method. by Konstantin Shcheglov · 2 days ago
489c0be Extract PostfixExpressionResolver. by Konstantin Shcheglov · 2 days ago
113f034 completion manager test harness by pq · 2 days ago
7ed7bff Fix some hints caused by previous CL and add some failing tests by Brian Wilkerson · 3 days ago
2020-01-14 12:06:56 -08:00
Gary Qian
9ffccaa311
Trivial typo fix to kick tests. (#15557) 2020-01-13 13:37:49 -08:00
sjindel-google
343d9f2a03
Re-land "Use ELF for Dart AOT snapshots on Fuchsia. #13896" (#15360)
The bug in the original CL was that we were not running replace_as_executable in OpenVmo if the namespace was not provided.

This was a divergence in behavior for MappedResource::LoadFromNamespace compared to the current implementation.
2020-01-10 14:34:59 +01:00