954 Commits

Author SHA1 Message Date
Chinmay Garde
3088a62e29 Allow surface implementations to control when the raster cache may be enabled. (flutter/engine#32213) 2022-03-23 10:23:14 -07:00
ColdPaleLight
9af8b0bf05 Fix crash about 'SkiaUnrefQueue::Drain' is called after 'IOManager' reset (flutter/engine#32106) 2022-03-21 14:45:10 -07:00
Dan Field
f396ea98b7 Enable MSAA behind a flag for Android GL, add TODOs for other platforms (flutter/engine#32128) 2022-03-21 11:10:05 -07:00
Chris Yang
840af99590 Make Get GetVsyncWaiter return weak_ptr to prevent dangling pointer crash (flutter/engine#32121) 2022-03-21 11:05:05 -07:00
ColdPaleLight
05bb17d606 Always update the latest frame target time when the 'Animator::Render' method is called (flutter/engine#31973) 2022-03-21 09:35:02 -07:00
gaaclarke
eb45cf1c9d Fixed image generator registry usage with spawn. (flutter/engine#31622) 2022-03-17 13:10:11 -07:00
ColdPaleLight
4ea096162f Disable several tests due to flakiness (flutter/engine#32059) 2022-03-17 03:55:09 -07:00
Dan Field
3a0d0b6e36 Support stencil buffers on OpenGL for Windows and Android (flutter/engine#31967) 2022-03-15 16:50:07 -07:00
Chinmay Garde
34f3581a3c Switch the renderer to impeller based on the presence of a command line flag. (flutter/engine#31959)
Specifying the `--enable-impeller` flag will switch the renderer to using
Impeller instead of Skia. On platforms where Impeller is not supported, this
flag is ignored.

The notion of the `flutter::SurfaceFrame` has been augmented. Now, in the
absence of a Skia surface to render to, the surface frame will render into a
display list instead.

Impeller variants of the context and surface variants have been added to
`shell/gpu` and `shell/platform`. The variants prepare surface frames that
don’t/can’t specify a Skia surface thus forcing the surface frame to render to a
display list instead. Then, in the submit callback, they forward the display
list ops to the Impeller display list dispatcher.

This scheme has been chosen as it requires the fewest updates to engine
internals which all depend on Skia data structures. Instead of updating all
call-sites to be Skia neutral, the display list interface itself is being made
graphics package agnostic.
2022-03-15 14:12:53 -07:00
ColdPaleLight
aa63b8f801 Migrate the API of GrDirectContext about resource memory limit (flutter/engine#31977) 2022-03-14 16:50:10 -07:00
ColdPaleLight
94ecaf782b Animator stopped notifying delegate to render when pipeline is not empty (flutter/engine#31727) 2022-03-10 23:00:07 -08:00
ColdPaleLight
fc5766639a Make sure the secondary vsync callback is called after the vsync callback (flutter/engine#31513) 2022-03-10 17:45:05 -08:00
Jonah Williams
257234a32a Allow providing max_cache_entry flag to Dart (flutter/engine#31881) 2022-03-07 14:21:02 -08:00
Jesús S Guerrero
a9dc88faa7 Support route on ios engine (flutter/engine#31555) 2022-03-02 13:26:02 -08:00
JsouLiang
f88b49b778 Add ThreadConfigSetter for Embedder api that can set thread priority (flutter/engine#31626) 2022-03-01 16:23:24 -08:00
ColdPaleLight
c715418c4b Don't call 'ExternalViewEmbedder::EndFrame' when pipeline is empty (flutter/engine#31546) 2022-02-23 15:56:34 -08:00
ColdPaleLight
043d9d2e39 Add an embedder.h API for scheduling frame (flutter/engine#31304) 2022-02-17 13:24:10 -08:00
m-bialek
266fc0e6d4 Initialize members and check for nullptr (flutter/engine#30941) 2022-02-17 13:04:02 -08:00
Emmanuel Garcia
d1d733c608 Conditionally call FlutterViewDestroyOverlaySurfaces (flutter/engine#31464) 2022-02-17 12:19:02 -08:00
Jason Simmons
94ce103fb5 Fix initialization of ThreadHost name prefix (flutter/engine#31420) 2022-02-11 18:35:09 -08:00
Jason Simmons
957f52c55c Guard the Flutter Skia event tracer category flags with a lock (flutter/engine#31416) 2022-02-11 16:45:11 -08:00
JsouLiang
493cfd9601 Define thread priority enum and set thread priority for all threads in Engine (flutter/engine#30605)
* Define thread priority enum and set thread priority for all threads in Engine

* Split out the thread data and the thread data set operator
2022-02-10 21:14:54 -08:00
Zachary Anderson
eca60c0b90 Add clang-analyzer-* and clang-diagnostic-* to .clang-tidy (flutter/engine#31291) 2022-02-09 12:26:34 -08:00
Brandon DeRosier
1949da6462 De-flake CanCreateShellsWithMetalBackend (flutter/engine#31343) 2022-02-08 22:50:13 -08:00
Emmanuel Garcia
9315ec14d1 Reland: Teardown external view embedder prior to unmerging threads (flutter/engine#31122) 2022-02-03 11:55:04 -08:00
ColdPaleLight
764fe4790b Remove obsolete member variables in 'flutter::Engine' and tweak the unittest (flutter/engine#31148) 2022-01-31 21:30:11 -08:00
Brandon DeRosier
2d4f908b9d Add FML_ prefix to fml/build_config.h macros (flutter/engine#31141) 2022-01-31 11:53:51 -08:00
Chris Yang
bfc9fb052b Remove Thread merging logic in DiscardLayerTreeOnResize test (flutter/engine#30803) 2022-01-28 21:05:11 -08:00
ColdPaleLight
58e15e00e3 Don't pause Animator when lifecycle state paused (flutter/engine#30969) 2022-01-27 15:55:07 -08:00
eggfly
1d4b9857fc [Android] Get the right frame_budget when device frame_rate is not 60 (flutter/engine#30924) 2022-01-27 13:35:10 -08:00
Siva
f31c8eb26c Add option to enable serial GC (flutter/engine#30975)
* Roll Dart SDK from e256855d07ba to a3b62f366529 (4 revisions) (#21809)

* Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21920)

* Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (#22005)

* Roll Dart SDK from fe12b0536f42 to a188781c9fc8 (1 revision) (#22379)

* Roll Skia from 95b5fb9213d7 to 68ac3b9ec3ca (17 revisions) (#22713)

* Roll Dart SDK from 2c74e62a050c to f9760fc12871 (5 revisions) (#22881)

* Roll Dart SDK from 68d1c7504f7d to f166571c7bc4 (1 revision) (#23056)

* Roll Dart SDK from 970d74c42472 to fd72dbb5b82b (1 revision) (#23820)

* Trigger an engine build to re-open the tree (#26056)

This commit is empty and simply triggers a new build to open the tree.

Commit e9ca785106ddc672d945062758800bdf1dd0aa68 was re-built after a
succesful build; upload to the cloud storage bin failed.

* Roll Skia from d9a7c5953df3 to 827bb729a84d (2 revisions) (#26096)

* Roll Dart SDK from d616108772bd to a527411e5100 (0 revision) (#26156)

* Roll Dart SDK from bb9d96ffbafa to 7250fd6379b2 (0 revision) (#26374)

* Roll Dart SDK from 202c42e3395c to 2e9c4305a6aa (1 revision) (#26578)

* Roll buildroot to 275038b8be7196927b0f71770701f3c2c3744860 (#26945)

* [test] empty commit (#27599)

https://flutter-review.googlesource.com/c/infra/+/15660

* Roll Dart SDK from e1414001c93b to 686070850ee3 (1 revision) (#27620)

* Empty commit to apply latest LUCI config (#27767)

* Roll Dart SDK from 3b11f88c96a5 to 976f160b547f (3 revisions) (#29436)

* Empty commit to fix main tree status (#29760)

* Add option to enable serial GC
This option can be used to avoid thread contention issues for the UI thread when running on low power devices with limited number of cores.

* Fix format.

* Added test.

* Add build rule.

* Address review comments.

Co-authored-by: skia-flutter-autoroll <skia-flutter-autoroll@skia.org>
Co-authored-by: Chris Bracken <chris@bracken.jp>
Co-authored-by: Casey Hillers <chillers@google.com>
2022-01-25 17:06:18 -08:00
Jason Simmons
999d29954c Use the SkParagraph text renderer by default (flutter/engine#28912) 2022-01-24 08:55:11 -08:00
eggfly
85fe32c0d3 Add a custom switch to clean up the leaked Dart VM (flutter/engine#30541) 2022-01-20 23:20:10 -08:00
Matej Knopp
549e82fec6 Enable partial repaint for Android/OpenGL (flutter/engine#29591) 2022-01-20 18:22:18 +01:00
ColdPaleLight
b64598bef6 Refactor type of deadline in the method NotifyIdle to fml::TimePoint (flutter/engine#30737) 2022-01-19 17:25:09 -08:00
ColdPaleLight
ca35fae4bd Remove obsolete 'PlatformView::size_' member variable (flutter/engine#30812) 2022-01-12 16:35:09 -08:00
ColdPaleLight
fdcc6befe9 Use the correct Settings in Engine::Spawn (flutter/engine#30741)
* Use the correct Settings in Engine::Spawn

* Add unit tests
2022-01-12 10:31:28 -08:00
gaaclarke
1724b4f192 Reland: iOS Background Platform Channels (#29665) (flutter/engine#30697)
* iOS Background Platform Channels (#29665)

* added test that passes before this change, and fails after it

* started supporting backwards compatible usage of setting handlers
2022-01-12 09:57:29 -08:00
Matej Knopp
59414a9cd2 Only provide frame damage to rasterizer if partial repaint is enabled (flutter/engine#30704) 2022-01-12 15:19:01 +01:00
Chris Yang
a50ebf3955 Variable Refresh Rate Display (flutter/engine#30223) 2022-01-11 10:55:10 -08:00
ColdPaleLight
99ae1b775f Remove AOT specific gates for isolate groups (flutter/engine#30743) 2022-01-07 10:05:10 -08:00
Kaushik Iska
41819f25e7 Revert "Only provide frame damage to rasterizer if partial repaint is enabled (#30461)" (flutter/engine#30696) 2022-01-05 14:14:31 -08:00
Matej Knopp
6e84bb64f5 Only provide frame damage to rasterizer if partial repaint is enabled (flutter/engine#30461)
* Only provide frame damage to rasterizer if partial repaint is enabled
2022-01-04 23:18:49 +01:00
Alexander Biggs
da7796c917 Remove unused SpawnIsolate function. (flutter/engine#30364)
This function is only used by a single unit test and makes it more difficult to read how isolates get created on different platforms.
2021-12-21 14:53:47 -05:00
Jim Graham
46a8def326 Opacity peephole optimization (flutter/engine#29775) 2021-12-14 16:19:09 -08:00
Dan Field
b38b90c039 Revert "Fix eglPresentationTimeANDROID is no effective" (flutter/engine#30310)
* Revert "Fix eglPresentationTimeANDROID is no effective (#30182)"

This reverts commit 0d7ba05d3456807e7e24353fe911738952a02888.

* Revert "Use eglPresentationTimeANDROID to avoid bogging down the GPU (#29727)"

This reverts commit edb87942de0404a2802351c050a4f1b6de239bd7.
2021-12-13 20:02:20 -08:00
Dan Field
87dcc5293f Optmize path volatility tracker (flutter/engine#30299) 2021-12-13 16:59:04 -08:00
Chris Bracken
4fd686f454 Document rationale for Dart VM flag prefix match (flutter/engine#30195)
Dart VM flags are passed to Flutter via an fml::CommandLine::Option that
looks something like:

   {"dart-flags, "--max_profile_depth 1,--trace_service"}

We perform a prefix match to handle cases where Dart VM options take
arguments.

Adding the comment since in a recent review I found myself wondering why
we're using a prefix match to begin with. While the original author had
forgotten, the good news is, he wrote a test that covers this exact
case. This comment just removes one level of indirection for future
readers.
2021-12-07 14:36:33 -08:00
Brandon DeRosier
68fde39542 Add length guard to fix Windows build with VS2019 16.11.7 headers (flutter/engine#30189)
The shell tests are failing on Windows against the latest VS2019 headers due to a new safety assert.
2021-12-07 13:28:39 -08:00
eggfly
fdfdd6dccb Fix embedder_->EndFrame() not called in case of DrawLastLayerTree() (flutter/engine#29979) 2021-12-05 06:59:01 -08:00