-
Notifications
You must be signed in to change notification settings - Fork 6k
Switch the renderer to impeller based on the presence of a command line flag. #31959
Conversation
|
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 |
dnfield
left a comment
There was a problem hiding this 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
d00ef7f to
0fb86bc
Compare
|
Looks like licenses are still off and clang doesn't like using std::abs in a constexpr |
8eaa99c to
561be79
Compare
fa7da14 to
6095e7e
Compare
6095e7e to
307859e
Compare
|
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. |
307859e to
bc09ae9
Compare
…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.
bc09ae9 to
b32e71d
Compare
* 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)
Specifying the
--enable-impellerflag will switch the renderer to usingImpeller instead of Skia. On platforms where Impeller is not supported, this
flag is ignored.
The notion of the
flutter::SurfaceFramehas been augmented. Now, in theabsence 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/gpuandshell/platform. The variants prepare surface frames thatdon’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.