Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@chinmaygarde
Copy link
Member

@chinmaygarde chinmaygarde commented Mar 10, 2022

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.

@zanderso
Copy link
Member

Looks like two differently configured Dart VMs are included in the link somehow.

@chinmaygarde
Copy link
Member Author

Looks like two differently configured Dart VMs are included in the link somehow.

I'm submitting an Impeller patch to fix those. Think those were caused by flutter/impeller@3310f85

Copy link
Contributor

@dnfield dnfield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as long as CI is happy

@dnfield
Copy link
Contributor

dnfield commented Mar 11, 2022

Looks like licenses are still off and clang doesn't like using std::abs in a constexpr

@chinmaygarde
Copy link
Member Author

I've removed any dependencies on Impeller from //flow and it ought to be sufficient for the internal build rules to avoid pulling in Impeller and compiling the Impeller specific TUs in shell/platform and shell/gpu. I've also fixed all remaining issues and filed bugs as necessary and this round of presubs is expected to pass. Landing now.

@chinmaygarde chinmaygarde added the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label Mar 15, 2022
…ne flag.

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.
@chinmaygarde chinmaygarde merged commit a60e8c3 into flutter:main Mar 15, 2022
@chinmaygarde chinmaygarde deleted the impeller_switch branch March 15, 2022 21:12
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 15, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 16, 2022
zanderso pushed a commit to flutter/flutter that referenced this pull request Mar 16, 2022
* 0199e90 [macOS] fix text selection when there's composing text  (flutter/engine#31936)

* 0ca0ce1 Roll Skia from 9565f4bd902b to a48a3c9417c0 (3 revisions) (flutter/engine#32044)

* a60e8c3 Switch the renderer to impeller based on the presence of a command line flag. (flutter/engine#31959)

* 24051b6 Roll Fuchsia Mac SDK from EOVjR8JSN... to jvlI1s78T... (flutter/engine#32047)

* fef6232 Roll Skia from a48a3c9417c0 to ffb49630eb1a (3 revisions) (flutter/engine#32048)

* 5a80834 [ci.yaml] Migrate remaining targets to cocoon scheduler (flutter/engine#32018)

* cd7a1e2 Support stencil buffers on OpenGL for Windows and Android (flutter/engine#31967)

* dc22c4c Add DlColorSource objects to hold information for SkShaders (flutter/engine#31981)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

embedder Related to the embedder API platform-android platform-fuchsia platform-ios waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants