This repository was archived by the owner on Feb 25, 2025. It is now read-only.
[macOS] Refactor rendering infrastructure#37789
Merged
knopp merged 34 commits intoflutter:mainfrom Dec 14, 2022
Merged
Conversation
296fc00 to
3bc00c7
Compare
8 tasks
d368c3d to
d949242
Compare
e4afa28 to
1881f57
Compare
This comment was marked as outdated.
This comment was marked as outdated.
c7a3ad9 to
1c7d550
Compare
dkwingsmt
reviewed
Nov 21, 2022
shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm
Outdated
Show resolved
Hide resolved
dkwingsmt
reviewed
Nov 21, 2022
shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm
Outdated
Show resolved
Hide resolved
Member
Author
|
I updated @iskakaushik's platform view example if anyone wants to test platform views: https://github.com/knopp/flutter_macos_platform_view_example platform.view.example.mov |
dkwingsmt
reviewed
Nov 21, 2022
Contributor
dkwingsmt
left a comment
There was a problem hiding this comment.
The change looks OK to me, but I don't have enough knowledge to make the final approval.
6accd38 to
50a9413
Compare
cbracken
reviewed
Nov 30, 2022
cb2b42f to
3d68042
Compare
cbracken
reviewed
Dec 1, 2022
Member
cbracken
left a comment
There was a problem hiding this comment.
Overall, this is a really nice cleanup. Almost all of my comments are nitpicks.
Sending first round of comments. Still looking at FlutterSurfaceManager and FlutterThreadManager.
shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm
Outdated
Show resolved
Hide resolved
shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm
Outdated
Show resolved
Hide resolved
|
Gold has detected about 2 new digest(s) on patchset 8. |
Co-authored-by: Chris Bracken <chris@bracken.jp>
…agerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp>
…ager.h Co-authored-by: Chris Bracken <chris@bracken.jp>
…agerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp>
…ager.h Co-authored-by: Chris Bracken <chris@bracken.jp>
…ager.h Co-authored-by: Chris Bracken <chris@bracken.jp>
…ager.h Co-authored-by: Chris Bracken <chris@bracken.jp>
beb61ac to
768aca8
Compare
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Dec 14, 2022
auto-submit bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Dec 15, 2022
* 1a1b1fe Roll Skia from 537e1e8c1ca6 to 729ccbfb87bc (7 revisions) (flutter/engine#38277) * 3b18821 Roll Fuchsia Linux SDK from A0jnUUORf2LQu1z2V... to e2lfUFBW5ddtTZBbw... (flutter/engine#38280) * beb94ea Roll Skia from 729ccbfb87bc to 3171deabd88a (4 revisions) (flutter/engine#38279) * 8f9071a Roll Fuchsia Mac SDK from FQQdl8AGAsALFniHl... to u-tC0QEGUT4xQ4KOo... (flutter/engine#38282) * aa78cd8 add link to website (flutter/engine#38273) * 955447b pylint all Python scripts under testing/ (flutter/engine#38268) * 3f22e19 [web] correct float count in runtime effect (flutter/engine#38288) * 479bb73 Fix issues related to keyboard inset (flutter/engine#37719) * 6cd8561 [macOS] Refactor rendering infrastructure (flutter/engine#37789) * d1533d1 [web] Make Canvaskit's malloc more useful (flutter/engine#38130) * db5605e Fix new `unnecessary_parenthesis` diagnostics. (flutter/engine#38291)
CaseyHillers
added a commit
that referenced
this pull request
Dec 15, 2022
This reverts commit 6cd8561.
loic-sharma
pushed a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Dec 16, 2022
* [macos] Refactor rendering process * Put includes and imports together * Update shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Remove cast * Do not manually add platform view layer to FlutterView * Remove unnecesary _Internal header files * Make surfaceManager a readonly property * Add comment * Style nit: Rewrite as a noun phrase. * Naming nit for consistency with removeSurfaceForSize: * Write as ternary conditional. * Fix plural in comment. * Offset and index are already set to 0. * Remove FlutterSurfaceManager lookupSurface And the associate bookkeeping of borrowed (lent) surfaces. * Update shell/platform/darwin/macos/framework/Source/FlutterThreadSynchronizer.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Fix build error * Address nits * Replace EVent with fml::AutoResetWaitableEvent * Remove unecessary CATransaction * Add GetRequiredFrameSize Co-authored-by: Chris Bracken <chris@bracken.jp>
8 tasks
loic-sharma
pushed a commit
to loic-sharma/flutter-engine
that referenced
this pull request
Jan 3, 2023
* [macos] Refactor rendering process * Put includes and imports together * Update shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Remove cast * Do not manually add platform view layer to FlutterView * Remove unnecesary _Internal header files * Make surfaceManager a readonly property * Add comment * Style nit: Rewrite as a noun phrase. * Naming nit for consistency with removeSurfaceForSize: * Write as ternary conditional. * Fix plural in comment. * Offset and index are already set to 0. * Remove FlutterSurfaceManager lookupSurface And the associate bookkeeping of borrowed (lent) surfaces. * Update shell/platform/darwin/macos/framework/Source/FlutterThreadSynchronizer.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Update shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h Co-authored-by: Chris Bracken <chris@bracken.jp> * Fix build error * Address nits * Replace EVent with fml::AutoResetWaitableEvent * Remove unecessary CATransaction * Add GetRequiredFrameSize Co-authored-by: Chris Bracken <chris@bracken.jp>
gspencergoog
pushed a commit
to gspencergoog/flutter
that referenced
this pull request
Jan 19, 2023
…17109) * 1a1b1fe Roll Skia from 537e1e8c1ca6 to 729ccbfb87bc (7 revisions) (flutter/engine#38277) * 3b18821 Roll Fuchsia Linux SDK from A0jnUUORf2LQu1z2V... to e2lfUFBW5ddtTZBbw... (flutter/engine#38280) * beb94ea Roll Skia from 729ccbfb87bc to 3171deabd88a (4 revisions) (flutter/engine#38279) * 8f9071a Roll Fuchsia Mac SDK from FQQdl8AGAsALFniHl... to u-tC0QEGUT4xQ4KOo... (flutter/engine#38282) * aa78cd8 add link to website (flutter/engine#38273) * 955447b pylint all Python scripts under testing/ (flutter/engine#38268) * 3f22e19 [web] correct float count in runtime effect (flutter/engine#38288) * 479bb73 Fix issues related to keyboard inset (flutter/engine#37719) * 6cd8561 [macOS] Refactor rendering infrastructure (flutter/engine#37789) * d1533d1 [web] Make Canvaskit's malloc more useful (flutter/engine#38130) * db5605e Fix new `unnecessary_parenthesis` diagnostics. (flutter/engine#38291)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Notable changes:
FlutterIOSurfaceHolder,FlutterResizableBackingStoreFlutterResizeSynchronizerwithFlutterThreadSynchronizerFlutterSurfaceManagerHigh level overview
FlutterViewownsFlutterSurfaceManagerFlutterCompositorandFlutterRendererinteract withFlutterSurfaceManagerin order toFlutterSurfaceManagersets as contents of CALayers that it manages.FlutterSurfaceManagercaches surfaces so that during normal (no resizing) repaint IOSurfaces do not need to be recreated.FlutterThreadSynchronizeris in charge of synchronising raster and platform thread:Fixes
FlutterEngine.Compositortest now works)List which issues are fixed by this PR. You must list at least one issue.
Fixes flutter/flutter#96668
Fixes flutter/flutter#113785
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.