142 Commits

Author SHA1 Message Date
stuartmorgan
06b0910e2d
Fix possible use of std::moved value in Rasterizer (#22125) 2020-10-28 18:12:03 -07:00
Chris Bracken
c449c8ee50
Eliminate FLUTTER_NOLINT where possible (#21904)
This removes most of the remaining FLUTTER_NOLINT comments and opts
these files back into linter enforcement.

I've filed https://github.com/flutter/flutter/issues/68273 to require
that all FLUTTER_NOLINT comments be followed by a GitHub issue URL
describing the problem to be fixed.
2020-10-16 12:44:49 -07:00
Matej Knopp
5c9dddc376
Discard wrong size layer tree instead of rendering it (#21179) 2020-09-18 12:37:02 -07:00
Emmanuel Garcia
85a7afa913
Add a new raster status kSkipAndRetry frame (#21059) 2020-09-11 16:29:11 -07:00
David Worsham
a52397e05f
fuchsia: Compile disabled RasterThreadMerger code (#20984) 2020-09-09 18:40:01 -07:00
Jim Graham
841401db8c
restore FML_DCHECK removed due to a code reviewing error (#20953) 2020-09-03 14:46:28 -07:00
Emmanuel Garcia
3f05b521b9
Always set the callback during Rasterizer setup (#20976) 2020-09-03 10:48:46 -07:00
Emmanuel Garcia
efb339f300
Only clear GL context after changing the thread configuration (#20965) 2020-09-02 22:10:02 -07:00
Emmanuel Garcia
61e057aa59
Clear GL context before Gr context (#20957) 2020-09-02 15:08:16 -07:00
Emmanuel Garcia
615e668014
Clear the GL context only after submitting the frame (#20931)
* Clear the GL context only after submitting the frame
* Fix Screenshot test
2020-09-02 08:46:11 -07:00
Emmanuel Garcia
5e54c707e8
Reland: Enable hybrid composition by default on Android (#20722) (#20864)
This reverts commit 4de62c7c2659607acdc75ab8c1ccd305a3c6f9d1.
2020-08-31 12:17:11 -07:00
Emmanuel Garcia
1b0c684326
Add ability to disable the raster thread merger (#20800) 2020-08-28 17:25:00 -07:00
Chris Yang
2d3e1c58c5
|MessageLoopImpl::FlushTasks| runs one task at a time (#20771) 2020-08-27 14:18:02 -07:00
David Worsham
c866edcbc3
fuchsia: Call out legacy rasterizer code (#20761) 2020-08-26 19:36:14 -07:00
Dan Field
4a88d5e109
Revert hint_freed (#20746)
This caused over-aggressive GCs, which vastly increased CPU usage benchmarks.

* Revert "fix build (#20644)"

This reverts commit b59793ee20be29463fac7a79635bf20253f04107.

* Revert "Hint freed (#19842)"

This reverts commit 3930ac1b25820baee3c67d921a0b009606cb3dae.
2020-08-25 11:55:40 -07:00
Emmanuel Garcia
4de62c7c26
Revert "Enable hybrid composition by default on Android (#20722)" (#20745)
This reverts commit d16ba48e1d79cf0197e96c51c38300ee921baeb0.
2020-08-25 09:54:13 -07:00
Emmanuel Garcia
d16ba48e1d
Enable hybrid composition by default on Android (#20722) 2020-08-24 13:10:23 -07:00
Dan Field
3930ac1b25
Hint freed (#19842)
* Hint the VM when a layer or picture goes out of scope
2020-08-19 14:04:31 -07:00
Chris Yang
e7136c3f59
Ensure threads are merged when tearing down the Rasterizer (#19919) 2020-08-19 08:31:01 -07:00
Chris Yang
ac8175fee1
Only create raster_thread_merge when explicitly requested by the embedding platform (#20487) 2020-08-16 10:31:01 -07:00
Dan Field
6d44559b7d
Remove the dummy rasterizer delegate now that flutter_runner is in tree, and cleanup ctor params (#20486) 2020-08-13 14:46:01 -07:00
Dan Field
dbc97c5c01
Use performDeferredCleanup instead of freeGpuResources (#20413) 2020-08-11 14:01:01 -07:00
Ming Lyu (CareF)
409a5e5963
FrameTiming build start timestamp fix and add vsync start timestamp (#20229) 2020-08-07 19:41:01 -07:00
Adlai Holler
c57aff1800
Use the GrDirectContext factories instead of deprecated GrContext ones (#19962)
This is part of a larger effort to expose the difference between GrDirectContext,
which runs on the GPU thread and can directly perform operations like uploading
textures, and GrRecordingContext, which can only queue up work to be delivered
to the GrDirectContext later.
2020-07-28 13:32:09 -07:00
gaaclarke
21efd7325e
Made the linter print out more information in its output and fixed bugs (#19895) 2020-07-22 15:38:09 -07:00
freiling
15d19a4949
Test Framework for SKP based shader warmup (#19260)
* [fuchsia] fix Rasterizer::ScreenshotLayerTreeAsPicture on Fuchsia

* [fuchsia] Add shell test for skp based shader warmup

* [fuchsia] use custom image serialization when writing out SKP's

This change adds custom image serialization functions for skp serialization
which write out onlythe image metadata and not the contents of the
images themselves. This allows SKP's to be used for shader warmup with
a significantly reduced disk space footprint.
2020-07-20 17:03:45 -07:00
Emmanuel Garcia
d1f3037c4c
Switch to FlutterSurfaceView if no Android view is in the frame (#19487) 2020-07-06 14:51:46 -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
Emmanuel Garcia
24d2143b98
EndFrame should be always called by rasterizer (#19257) 2020-06-24 14:02:48 -07:00
Emmanuel Garcia
b990ad11bd
Implement external view embedder on Android (#19033)
The external view embedder allows to embed Android views in a Flutter app.
2020-06-20 12:51:55 -07:00
Kaushik Iska
c8b077fa1a
Revert "Remove pipeline in favor of layer tree holder (#18901)" (#19066)
Reverting for b/158816279
2020-06-16 13:15:57 -07:00
Kaushik Iska
acf048bd0d
Remove log added for local testing (#19012) 2020-06-11 19:22:36 -07:00
Kaushik Iska
2651beba06
Exit before pushing a trace event when layer tree holder is empty (#19008) 2020-06-11 19:17:20 -07:00
Chris Yang
b1a08f2abd
Make rasterizer screenshot work with gl_context_switch (#18850) 2020-06-10 10:00:43 -07:00
Kaushik Iska
28e7b7999f
Remove pipeline in favor of layer tree holder (#18901)
Relanding of a change that was reverted in:
https://github.com/flutter/engine/pull/18427
2020-06-09 12:19:34 -07:00
Chris Yang
1482d9b05e
Rework GLContextSwitch, get rid of RendererContextManager (#18601) 2020-06-04 11:37:51 -07:00
Emmanuel Garcia
243bb59c71
Pass SurfaceFrame to SubmitFrame (#18709) 2020-06-02 21:59:44 -07:00
gaaclarke
bef5ac6132
Made the Rasterizer avoid GPU calls when backgrounded (#18563) 2020-05-26 21:02:40 -07:00
Kaushik Iska
0d2768772f
[fuchsia] Remove SceneDisplayLag event on Fuchsia (#18515)
See: https://github.com/flutter/flutter/issues/56598
2020-05-20 10:56:35 -07:00
Chris Yang
9ce1e5c5c7
Introduce TaskRunnerAffineWeakPtrFactory to generate TaskRunnerAffineWeakPtrs (#18346) 2020-05-19 16:36:17 -07:00
Kaushik Iska
2494d1ca70
Revert "Remove pipeline in favor of layer tree holder (#18285)" (#18427)
This reverts commit 2cdbc7f92793125d9312138877c05af6ad708683.
2020-05-15 12:27:32 -07:00
Kaushik Iska
2cdbc7f927
Remove pipeline in favor of layer tree holder (#18285)
go/flutter-pipeline-improvements for more details.
2020-05-14 10:46:14 -07:00
Kaushik Iska
4418ce8825
Revert "Remove pipeline in favor of layer tree holder (#17688)" (#18242) 2020-05-08 16:09:02 -07:00
Kaushik Iska
983de2c402
Remove pipeline in favor of layer tree holder (#17688)
go/flutter-pipeline-improvements for more details.
2020-05-08 10:51:10 -07:00
Chris Yang
2622cb9c33
Introduce TaskRunnerChecker, TaskRunnerAffineWeakPtr (#17649) 2020-05-01 11:28:20 -07:00
liyuqian
5f5f50d4c6
Revert "[tracing] SceneDisplayLag is a synchronous event (#17878)" (#17916)
This reverts commit a544b45f26cce15fe4ad70f99a52f4e21aff7726.

Reverts flutter/engine#17878

This breaks our devicelab tests.

TBR: @flar
2020-04-23 18:04:39 -07:00
Kaushik Iska
a544b45f26
[tracing] SceneDisplayLag is a synchronous event (#17878)
This change converts it from an events that spans a time interval
to an event that occurs at an instant.

We also emit this trace event when there is no lag as opposed to
only when there was a lag to make it monotonous.

Co-authored-by: Kaushik Iska <kaushikiska@google.com>
2020-04-23 10:53:45 -07:00
Chris Yang
efd8adfbb3
Pipeline: complete method returns a bool to indicate if complete is successful (#17687) 2020-04-17 10:39:16 -07:00
Chris Yang
68fd833488
Reland "Improve iOS PlatformViews to better handle thread merging. #16935" (#17609) 2020-04-10 13:25:02 -07:00