32 Commits

Author SHA1 Message Date
mikerreed
6ae2594b97
opt into new Skia APIs (#22845) 2020-12-03 15:28:02 -08:00
gaaclarke
1c3bc02649
started providing the GPU sync switch to external view embedders (#22302) 2020-11-17 18:43:01 -08:00
Kaushik Iska
fcb64c988c
[android] Platform view creates external view embedder (#22360) 2020-11-13 05:52:41 -08:00
Kaushik Iska
1ff237fdca
Reland "remove surface dependance on external view embedder (#22468)" (#22470) 2020-11-12 15:37:12 -08:00
Kaushik Iska
021ff04336
Reverts 2 commits that remove surface dependance on external view embedder (#22468)
* Revert "Remove GetExternalViewEmbedder from surface (#22272)"

This reverts commit 5419f70f173db1c9f2d5db4c289560e68ce9b77b.

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

This reverts commit f95df42e6e3d80f17c2024e9956768be9416717f.
2020-11-12 08:41:11 -08:00
Kaushik Iska
5419f70f17
Remove GetExternalViewEmbedder from surface (#22272)
This decouples surfaces from view embedders.
2020-11-11 13:45:24 -08: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
Kaushik Iska
ab8b2073ed
Fix incldues to be flutter/shell rather than shell/ (#21889) 2020-10-15 16:51:17 -07:00
Kaushik Iska
df57e21529
[android] Refactor surface factory and wire in external view embedder (#21839) 2020-10-14 14:27:02 -07:00
Emmanuel Garcia
aab33c155a
Ensure JNI is not called from raster thread (#21665) 2020-10-07 16:37:02 -07:00
Chris Bracken
08dabe9601
Clean up C++ includes (#21127)
Cleans up header order/grouping for consistency: associated header, C/C++ system/standard library headers, library headers, platform-specific #includes.

Adds <cstring> where strlen, memcpy are being used: there are a bunch of places we use them transitively.

Applies linter-required cleanups. Disables linter on one file due to included RapidJson header. See https://github.com/flutter/flutter/issues/65676

This patch does not cover flutter/shell/platform/darwin. There's a separate, slightly more intensive cleanup for those in progress.
2020-09-11 21:18:35 -07:00
Emmanuel Garcia
85a7afa913
Add a new raster status kSkipAndRetry frame (#21059) 2020-09-11 16:29: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
ac8175fee1
Only create raster_thread_merge when explicitly requested by the embedding platform (#20487) 2020-08-16 10:31: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
Emmanuel Garcia
933c8b8441
bool SubmitFrame -> void SubmitFrame (#18984) 2020-07-23 16:16:02 -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
Emmanuel Garcia
5f8e91cc40
Resubmit frame when the surface is switched (#19555) 2020-07-06 21:55:52 -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
Chris Yang
cc9ccf98ae
Implement mutator stack on Android hybrid composition platform view (#19426) 2020-07-04 13:03:04 -07:00
Jason Simmons
2dc202d823
Basic support for resizing overlay surfaces in hybrid composition (#19402) 2020-06-30 14:08:04 -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
Emmanuel Garcia
c332675a8c
Fix hybrid composition bugs (#19325) 2020-06-26 12:33:02 -07:00
Emmanuel Garcia
24d2143b98
EndFrame should be always called by rasterizer (#19257) 2020-06-24 14:02:48 -07:00
Emmanuel Garcia
9075224c77
Move OnDisplayPlatformView JNI call (#19258) 2020-06-24 11:01:30 -07:00
Chris Yang
5b1b59a34d
Reland "Add GetBoundingRectAfterMutations to EmbeddedViewParams to calculate the final bounding rect for platform view #19170" (#19212) 2020-06-22 15:10:02 -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
Emmanuel Garcia
e5845af424
Put JNI functions under an interface (#18903) 2020-06-10 18:40:58 -07:00
Emmanuel Garcia
17aead34b7
Run the rasterizer on the platform thread (#18841) 2020-06-09 14:52:17 -07:00
Jason Simmons
5efd2e820f
Reset AndroidExternalViewEmbedder state when starting a new frame (#18831) 2020-06-04 15:08:04 -07:00
Emmanuel Garcia
243bb59c71
Pass SurfaceFrame to SubmitFrame (#18709) 2020-06-02 21:59:44 -07:00
Emmanuel Garcia
eed05dd00d
Add initial unit tests for the android embedding (#17921) 2020-04-26 20:45:28 -07:00