New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Impeller] Allow image rasterization/decoding before/without surface acquisition #41168
Conversation
Makes the impeller::Context available to the rasterizer ASAP, so that even if it has not received a surface yet calls to `toImage` and `toImageSync` can still produce a texture.
Co-authored-by: Loïc Sharma <737941+loic-sharma@users.noreply.github.com>
auto label is removed for flutter/engine, pr: 41168, due to - The status or check suite Mac Host Engine has failed. Please fix the issues identified (or deflake) before re-applying this label. |
Failures appear unrelated to this patch, updating branch... |
auto label is removed for flutter/engine, pr: 41168, due to - The status or check suite Mac mac_host_engine has failed. Please fix the issues identified (or deflake) before re-applying this label. |
Failures on the mac_host_engine are unrelated to this pr, see #41179 |
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. |
…acquisition (flutter#41168) [Impeller] Allow image rasterization/decoding before/without surface acquisition
…acquisition (flutter#41168) [Impeller] Allow image rasterization/decoding before/without surface acquisition
…t surface acquisition (flutter/engine#41168)
This is the same as #41059 with the Android stuff reverted.
This change provides an
impeller::Context
to the rasterizer so that it can help with snapshotting even if the surface has not been setup yet. It also makes the image decoding logic use that context directly instead of trying to acquire it through a surface, which the rasterizer may or may not have when the image decode is requested.I originally (incorrectly) believed I'd have to implement the Android side for any of it to work. I think we should still land the Android changes, but this will make for a smaller cherry pick and just leave Android broken (the other patch didn't fix Android with GLES anyway).
Fixes flutter/flutter#124181