222 Commits

Author SHA1 Message Date
Chris Yang
b7b95e9372 Reland "PlatformView partial blur #36015" (flutter/engine#37086) 2022-10-28 16:43:14 +00:00
Jim Graham
8ed073eb54 Revert layer state stack (flutter/engine#37090)
* Revert "Fix a clang-tidy warning in display_list_canvas_unittests.cc (#37062)"

This reverts commit 709c6735fc7ed34df36cee23805bdaa7f6969774.

* Revert "Create a mechanism to manage layer state (#36458)"

This reverts commit 501916deb19a8303ca2a3a9bb37692a873d4679e.
2022-10-27 15:29:58 -07:00
Chris Yang
1806c34015 Revert "PlatformView partial blur" (flutter/engine#37085) 2022-10-27 18:15:14 +00:00
Chris Yang
d30087802c PlatformView partial blur (flutter/engine#36015) 2022-10-27 18:02:09 +00:00
Jim Graham
501916deb1 Create a mechanism to manage layer state (flutter/engine#36458) 2022-10-26 21:43:10 +00:00
Kevin Lubick
11bb611e7d Add necessary #includes for SkCodecAnimation.h (flutter/engine#37040) 2022-10-26 09:40:48 -07:00
ColdPaleLight
388cb71ea2 [Impeller] Support external textures on iOS (flutter/engine#36498) 2022-10-19 21:49:17 +00:00
gaaclarke
e41c775200 Removed instances of unnecessary values (flutter/engine#36221) 2022-09-26 21:28:04 +00:00
Alexander Biggs
6751734343 [fuchsia] Add run_unit_tests.sh script. (flutter/engine#36308)
This is a convenience script for running unit tests locally.

To make this script work, I had to move several test exclusions
from test_suites.yaml (which controls running tests on CQ)
to the tests themselves. I think this is for the best because
it makes running the tests locally with behavior that matches
CQ easier.

Also added fuchsia_tests to build_and_copy_to_fuchsia.sh
so it builds the unit tests .far packages by default.

Tested: Ran `run_unit_tests.sh`, all tests pass. Ran
`build_and_copy_to_fuchsia.sh`, it still builds.
2022-09-21 10:40:20 -07:00
Alexander Biggs
bef70aabc1 [fuchsia] Disable flaking shell test on Fuchsia. (flutter/engine#36320) 2022-09-21 17:28:50 +00:00
gaaclarke
6b2a14d348 Isolate platform channels for desktop (flutter/engine#35893) 2022-09-20 23:56:04 +00:00
Jason Simmons
89369a1402 Fix flakiness in ShellTest.PushBackdropFilterToVisitedPlatformViews (flutter/engine#36212) 2022-09-16 19:39:54 +00:00
Callum Moffat
0a5737e441 Properly throw Dart error from PluginUtilities.getCallbackHandle FFI (flutter/engine#36032) 2022-09-16 17:11:08 +00:00
Dan Field
08312a825e Lint and fix bugprone-use-after-move violations (flutter/engine#35978) 2022-09-09 02:41:03 +00:00
emilyabest
2fd7dde9c8 PlatformView Blur for Backdrop Filter (flutter/engine#34596) 2022-09-06 17:30:57 +00:00
ColdPaleLight
e9ad8e2454 [Impeller] Implement ui.Picture.toImage() (flutter/engine#35633) 2022-09-01 22:59:41 +00:00
Zachary Anderson
407fb9e192 Revert "Pushing BackdropFilter Mutator (#34355)" (flutter/engine#35543)
This reverts commit ab6376ac20f0ab557b5d4737a8b61f20716b8e85.
2022-08-19 10:01:01 -07:00
xiaomiao
d490b4edae Move task running to UI thread for loadDartDefferredLibrary. (flutter/engine#35460) 2022-08-18 16:43:24 +00:00
Javon Thomas
ab6376ac20 Pushing BackdropFilter Mutator (flutter/engine#34355) 2022-08-10 21:36:39 +00:00
Dan Field
132ab1a321 Reland toImageSync (flutter/engine#35283) 2022-08-09 22:32:04 +00:00
Dan Field
abbca7b5e4 Revert "Collect textures from toImageSync safely (#35073)" (flutter/engine#35281)
This reverts commit 1f9bb2c26554f53995e7d02afc54a5566ad3310c.
2022-08-09 14:32:32 -07:00
Dan Field
1f9bb2c265 Collect textures from toImageSync safely (flutter/engine#35073) 2022-08-09 13:21:59 -07:00
ColdPaleLight
e1fe7327b1 Use the correct 'SnapshotDelegate' in 'RuntimeController::Spawn' (flutter/engine#34523) 2022-07-13 01:09:04 +00:00
Dan Field
e162fed336 Rename toGpuImage to toImageSync (flutter/engine#34504) 2022-07-08 19:41:05 +00:00
JsouLiang
ba5bf62d28 Defer decisions about RasterCache actions until after Preroll is complete (flutter/engine#31892) 2022-06-29 20:59:06 -07:00
Dan Field
3724bc6427 Implement toGpuImage, a synchronous, GPU-resident version of (flutter/engine#33736)
* Implement toGpuImage, a synchronous, GPU-resident version of
Picture.toImage.

This method kicks off asynchronous work on the raster task runner.
If it fails to rasterize, it will synchronously throw later when
the user attempts to draw to a canvas.

This supports several use cases:

- Quickly snapping off an expensive-to-rasterize image for reuse
  across multiple frames.
- Applying multi-pass filters to a render target.

This patch amends flutter_tester so that it can produce an image
object, but that image will always be a grey and white four square checkerboard.

Adds support for CanvasKit on Web, which basically already used
this method for its Picture.toImage implementation.

Throws an UnsupportedError for HTML on Web, since any implementation
there would almost certainly be slower than drawPicture.
2022-06-24 16:14:42 -07:00
Dan Field
0586f7b588 Drop --enable-display-list flag, remove associated branched code (flutter/engine#34233) 2022-06-23 00:07:04 +00:00
Alexander Markov
8292927857 Remove uses of --lazy-async-stack Dart VM flag (flutter/engine#33964) 2022-06-10 10:12:56 -07:00
Chris Yang
bf761b4c12 Fix test: make sure end_frame_latch is signaled after accessing the used_this_frame flag (flutter/engine#33649) 2022-05-26 20:02:20 -07:00
Chris Yang
190118f789 Set UsedThisFrame before EndFrame (flutter/engine#33627) 2022-05-26 14:10:04 -07:00
Chris Bracken
09285aac02 Use empty in place of size checks vs 0 (flutter/engine#33151) 2022-05-06 13:09:04 -07:00
Chris Bracken
0a84242538 WinUWP: Remove WinUWP sources, targets (flutter/engine#33019)
This removes:
* The Windows UWP emebedder sources and targets
* UWP-specific build targets
* UWP-specific code behind WINUWP #ifdefs
* UWP-specific TODOs.
* uwptool.exe sources and targets used for installing, uninstalling, and
  launching UWP apps.

This is a straight removal patch, and does not land any refactorings
made possible by removal of UWP support. Those patches will land in
followup refactorings.

Tool support was removed in:
https://github.com/flutter/flutter/pull/102174

The CI target was removed in:
https://github.com/flutter/engine/pull/33012

The Recipe was removed in:
https://flutter-review.googlesource.com/c/recipes/+/29500

GN build support was removed in:
https://github.com/flutter/engine/pull/33016

Issue: https://github.com/flutter/flutter/issues/102172
2022-04-29 18:39:36 -07:00
Zachary Anderson
29c36d406e Delete ShellTest::ResubmitFrame (flutter/engine#32972) 2022-04-27 16:39:03 -07:00
Kaushik Iska
d8e73006e0 Add service protocol method to facilitate getting snapshots (flutter/engine#32628) 2022-04-13 13:39:05 -07:00
Jim Graham
bd89e4452a Designated field initialization of Paint/PrerollContexts (flutter/engine#32634) 2022-04-12 20:59:05 -07:00
Dan Field
4101b52aca Unify unhandled error reporting, add PlatformDispatcher.onError (flutter/engine#32078) 2022-04-09 14:44:04 -07:00
ColdPaleLight
31e332ee32 Tuning resource cache max bytes in lightweight engine scenarios (flutter/engine#32156) 2022-03-31 21:11:05 -07:00
ColdPaleLight
5850d41dd0 Make sure that 'BeginFrame' and 'EndFrame' of the 'ExternalViewEmbedder' are paired (flutter/engine#32058) 2022-03-24 14:25:03 -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
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
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
ColdPaleLight
043d9d2e39 Add an embedder.h API for scheduling frame (flutter/engine#31304) 2022-02-17 13:24:10 -08:00
Jason Simmons
94ce103fb5 Fix initialization of ThreadHost name prefix (flutter/engine#31420) 2022-02-11 18:35:09 -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
Chris Yang
bfc9fb052b Remove Thread merging logic in DiscardLayerTreeOnResize test (flutter/engine#30803) 2022-01-28 21:05:11 -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