772 Commits

Author SHA1 Message Date
gaaclarke
5026c62732 lightweight flutter engines: sharing skia contexts for the io thread (flutter/engine#23508) 2021-01-13 13:04:16 -08:00
gaaclarke
8af69442c0 share font collections between spawn engines (flutter/engine#23603) 2021-01-13 11:38:48 -08:00
gaaclarke
dbc486213c Plumbing refactor to allow the usage of Dart_CreateIsolateInGroup (flutter/engine#23549)
Did the plumbing refactor that allows us to call Dart_CreateIsolateInGroup when applicable.
2021-01-12 16:43:12 -08:00
Michael Reed
9de62b433a Update virtual to take sampling (flutter/engine#23476) 2021-01-07 15:49:03 -08:00
Jason Simmons
095b5d15fb Provide a runtime switch for selecting SkParagraph text layout (flutter/engine#23474) 2021-01-07 12:59:03 -08:00
Michael Reed
3870a12e48 Remove dead code for 3x3 matrices (flutter/engine#23363)
Co-authored-by: Mike Reed <reed@google.com>
2021-01-05 08:54:20 -05:00
mikerreed
299466f287 Switch to new virtuals on SkCanvas (flutter/engine#23350)
* Switch to new virtuals on SkCanvas

Co-authored-by: Mike Reed <reed@google.com>
2020-12-30 16:45:33 -05:00
David Worsham
61b749c7fd fuchsia: Shutdown Dart VM properly (flutter/engine#23243) 2020-12-28 18:16:27 -08:00
Gary Qian
2bfbb4197c AssetResolver updating in AssetManager for Dynamic features (flutter/engine#23130) 2020-12-23 17:39:55 -08:00
Dan Field
dedf9bd1af Reland path volatility tracker, disabling it if deterministic rendering is requested (flutter/engine#23226)
* Reland path volatility tracker (#23063)" (#23220)

This reverts commit b56fc25561417f96e17dacab375e66f474a54c94.

* allow disabling based on whether deterministic rendering is needed
2020-12-22 08:25:20 -08:00
Dan Field
b56fc25561 Revert "Reland path volatility tracker (#23063)" (flutter/engine#23220)
This reverts commit 77c7096efb0b1392acc9793c386561a3c36012ba.
2020-12-21 13:53:18 -08:00
Zachary Anderson
609ec347ce Add --strict_null_safety_checks to the Dart flag allowlist (flutter/engine#23144) 2020-12-17 09:44:00 -08:00
gaaclarke
7afc6304de Started shutting down the sampler when it gets deleted (flutter/engine#23012) 2020-12-14 17:59:13 -08:00
Dan Field
77c7096efb Reland path volatility tracker (flutter/engine#23063)
* Revert "Revert "Set SkPath::setIsVolatile based on whether the path survives at least two frames (#22620)" (#23044)"

This reverts commit feda80cb42f99e2588a9a6b9ab3dd1f812d0f45b.

* Fix tracing
2020-12-14 17:21:55 -08:00
gaaclarke
3d4aa5548a Implemented FlutterEngineGroup and Spawn API. (flutter/engine#22975) 2020-12-14 17:07:44 -08:00
Dan Field
feda80cb42 Revert "Set SkPath::setIsVolatile based on whether the path survives at least two frames (#22620)" (flutter/engine#23044)
This reverts commit 2d52a3c87c97660a050e4bf5559091d0cec262f3.
2020-12-11 15:39:24 -08:00
Dan Field
2d52a3c87c Set SkPath::setIsVolatile based on whether the path survives at least two frames (flutter/engine#22620)
This patch defaults the volatility bit on SkPaths to false, and then flips it to true if the path survives at least two frames.
2020-12-10 13:57:23 -08:00
Gary Qian
19afd06afc Add split AOT loading unit failure/error code path (flutter/engine#22857) 2020-12-08 22:58:01 -08:00
mikerreed
37b2722631 opt into new Skia APIs (flutter/engine#22845) 2020-12-03 15:28:02 -08:00
zljj0818
0ef14f3ca3 More rename from GPU thread to raster thread (flutter/engine#22819) 2020-12-03 15:03:02 -08:00
Gary Qian
9352ed557e Split AOT Engine Runtime (flutter/engine#22624) 2020-12-02 13:28:01 -08:00
Kaushik Iska
b6daee84ec Reland "Introduce a delegate class for gpu metal rendering (#22611)" (flutter/engine#22777)
This reverts commit 0d71d27aa7d9058841bbba104021927c7f17b7ce.
2020-12-02 13:04:10 -06:00
Jonah Williams
bc13e87a05 add trace kernel flag to allowlist (flutter/engine#22812) 2020-12-02 09:49:04 -08:00
Kaushik Iska
7d69fda39b Revert "Introduce a delegate class for gpu metal rendering (#22611)" (flutter/engine#22775)
This reverts commit 98f761acf90de8b60127ab0e7236d60866cb13e4.
2020-11-30 14:47:01 -06:00
Kaushik Iska
98f761acf9 Introduce a delegate class for gpu metal rendering (flutter/engine#22611) 2020-11-25 15:46:38 -06:00
Brian Osman
2260bb3fd7 Fix use of uninitialized memory in animator (flutter/engine#22714)
* Fix use of uninitialized memory in animator

Discovered via MSAN build of embedder_unittests
2020-11-24 14:51:31 -05:00
Chris Yang
4f25c151f3 Fix shell_unittests flakes related to external_view_embedder (flutter/engine#22683) 2020-11-23 15:48:03 -08:00
Gary Qian
3676366194 Split AOT Android Embedder and shell (flutter/engine#22179) 2020-11-19 17:22:26 -08:00
gaaclarke
0901a93e5b started providing the GPU sync switch to external view embedders (flutter/engine#22302) 2020-11-17 18:43:01 -08:00
Chris Yang
f12c38bd68 re-enable skipandsubmitframe (flutter/engine#22546) 2020-11-17 09:53:01 -08:00
Dan Field
714fb9e81b Opt in fixutres (flutter/engine#22502) 2020-11-13 12:02:07 -08:00
Kaushik Iska
356e31aef5 Reland "remove surface dependance on external view embedder (#22468)" (flutter/engine#22470) 2020-11-12 15:37:12 -08:00
Dan Field
b388181b25 Limit heap growth on Android (flutter/engine#20473)
Limit heap growth to half of totalMem by default, with the option to set it higher or lower in the AndroidManifest
2020-11-12 14:53:54 -08:00
Kaushik Iska
ae4dbc51b8 Reverts 2 commits that remove surface dependance on external view embedder (flutter/engine#22468)
* Revert "Remove GetExternalViewEmbedder from surface (#22272)"

This reverts commit 9dffddd08d0ad6fa7434c5a5bdff87e09da92e57.

* Revert "Rasterizer is initialized with an external view embedder (#22405)"

This reverts commit 417c869d6bcd70ba82fdd6efc8db1efa19fb997c.
2020-11-12 08:41:11 -08:00
Kaushik Iska
9dffddd08d Remove GetExternalViewEmbedder from surface (flutter/engine#22272)
This decouples surfaces from view embedders.
2020-11-11 13:45:24 -08:00
Kaushik Iska
417c869d6b Rasterizer is initialized with an external view embedder (flutter/engine#22405)
This allows us to not rely on surface methods for getting
the external view embedder.

Conflicts:
	shell/common/rasterizer.cc
	shell/common/rasterizer_unittests.cc
2020-11-11 12:49:03 -08:00
Kaushik Iska
8b9acb11b8 Move common graphics utils to //flutter/common/graphics (flutter/engine#22320) 2020-11-10 12:34:02 -08:00
Chris Yang
e7f73e509c Reland "Do not involve external_view_embedder in submit frame process if threads are not merged. #22275" (flutter/engine#22372) 2020-11-06 21:04:02 -08:00
Gary Qian
6fc7f7b41f Remove extra method in ComputePlatformResolvedLocale (flutter/engine#22362) 2020-11-06 16:34:45 -08:00
Chris Bracken
ca1db50228 Revert "Rasterizer is initialized with an external view embedder (#22348)" (flutter/engine#22367)
This reverts commit cccecc46e10341d655b6bd388222f189215da506.

Due to merge conflicts, this also reverts #22275:

Revert "Do not involve external_view_embedder in submit frame process if threads are not merged. (#22275)"

This reverts commit d3902fc979fac68d498e4fe33584647c375c06ac.
2020-11-06 15:26:47 -08:00
Chris Yang
d3902fc979 Do not involve external_view_embedder in submit frame process if threads are not merged. (flutter/engine#22275) 2020-11-06 11:04:01 -08:00
Kaushik Iska
cccecc46e1 Rasterizer is initialized with an external view embedder (flutter/engine#22348)
This allows us to not rely on surface methods for getting
the external view embedder.
2020-11-06 09:01:28 -08:00
Kaushik Iska
ea42f7eaa0 Platform views have CreateExternalViewEmbedder (flutter/engine#22214) 2020-11-06 05:30:48 -08:00
freiling
4903a92b2b SKP based shader warmup (flutter/engine#20643) 2020-11-04 23:19:02 -08:00
gaaclarke
68eedd5ba3 added unit tests to the rasterizer (flutter/engine#22282) 2020-11-04 13:56:29 -08:00
gaaclarke
a92f113402 Refactored the FlutterEngine to make it easier to implement spawn functionality (flutter/engine#21890) 2020-10-30 15:29:10 -07:00
stuartmorgan
d5a259fcba Fix possible use of std::moved value in Rasterizer (flutter/engine#22125) 2020-10-28 18:12:03 -07:00
Filip Filmar
cb5828068f [fuchsia] Adds a test for timezone change (flutter/engine#21934) 2020-10-23 18:52:02 -07:00
Greg Spencer
06b6f8af89 Reland: Migration to PlatformDispatcher and multi-window (flutter/engine#21932)
This re-lands #20496 and #21780 after fixing the semantics-enabling code that was causing the post-submit web_smoke_test to fail.

Below is the description from the original PR:

This is a PR for converting the dart:ui code in the engine to use a multi-window API. The goal here is to convert from the window singleton to an API that has the concept of multiple windows. Also, I'm matching up the new PlatformDispatcher class to talk directly to the PlatformConfiguration class in the engine. I'm not attempting to actually enable creating multiple windows here, just migrate to an API that has a concept of multiple windows. The multi-window API in this PR currently only ever creates one window.

The design doc for this change is here.

The major changes in this PR:

Move the platfom-specific attributes out of Window, and into the new PlatformDispatcher class that holds all of the platform state, so that the platform code need only update the configuration on this class.
Create FlutterView, FlutterWindow, and SingletonFlutterWindow classes to separate out the concepts of a view (of which there may be multiple in a window), a window (of which there may be multiple on a screen, and they host views), and a window where there is only ever expected to be one (this hosts the entire API of the former Window class, and will eventually be the type of the window singleton).
Next step after this PR lands:

Remove the Window class entirely (it is replaced by SingletonFlutterWindow). Some minor changes in the Framework are needed to switch to using SingletonFlutterWindow directly first.

The Window class still exists in this PR, but will be removed as soon as the framework is converted to point to the SingletonFlutterWindow class instead. They share the same API, just have different names (Window is currently a subclass of SingletonFlutterWindow). The intention is that the Window name will be freed up to use as a widget class name in the framework for managing windows. The singleton called window will remain, and keep the same API it has now.
2020-10-22 14:54:25 -07:00
Chinmay Garde
c721e67cb7 Isolates launched by the engine instance use the settings of that instance. (flutter/engine#22052)
This regression was introduced in https://github.com/flutter/engine/pull/21820
for sound-null safety. The settings used to launch the VM were incorrectly used
to determine the isolate lifecycle callbacks. Since the first shell/engine in
the process also starts the VM, these objects are usually identical. However,
for subsequent engine shell/engine launches, the callbacks attached to the new
settings object would be ignored. The unit-test harness is also structured in
such a way that each test case tears down the VM before the next. So all
existing tests created a bespoke VM for the test run, and, the tests that did
create multiple isolates did not also test attaching callbacks to the settings
object.

Fixes https://github.com/flutter/engine/pull/22041
2020-10-22 02:20:50 -07:00