Skip to content

[DisplayList] Create a DisplayListBuilder-style interface that can either record a DisplayList or dispatch to an SkCanvas #109578

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

Closed
flar opened this issue Aug 15, 2022 · 4 comments · Fixed by flutter/engine#39762
Labels
c: new feature Nothing broken; request for a new capability engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project

Comments

@flar
Copy link
Contributor

flar commented Aug 15, 2022

As per #109576, we need a way to be able to communicate to multiple graphics objects behind the scenes as we migrate to a DisplayList-focused API for our engine layers and support code.

One solution to this issue is to have an abstract API similar to DisplayListBuilder that the engine layers and support code talk to that can either be talking to an object that is recording DisplayList records, or it could alternately be talking to an SkCanvas object as an adapter (kind of like the reverse of the current DisplayListCanvasRecorder).

This would let us convert the layers and support code to only talk DL APIs and we'd still be able to use Skia as a back end with very little overhead.

@flar flar added the engine flutter/engine repository. See also e: labels. label Aug 15, 2022
@flar flar moved this to 🤔 Needs Triage in Display List Aug 15, 2022
@flar flar moved this from 🤔 Needs Triage to Engine in Display List Aug 15, 2022
@chinmaygarde chinmaygarde added P3 Issues that are less important to the Flutter project c: new feature Nothing broken; request for a new capability labels Aug 22, 2022
@zanderso
Copy link
Member

zanderso commented Nov 10, 2022

@flar Is this done or obsolete?

@flar
Copy link
Contributor Author

flar commented Nov 11, 2022

Neither. There is even a PR for this that is waiting for LayerStateStack to go in before we switch to it: flutter/engine#35774

@flar
Copy link
Contributor Author

flar commented Mar 1, 2023

Fixed by flutter/engine#39762

@flar flar closed this as completed Mar 1, 2023
@github-project-automation github-project-automation bot moved this from Engine to ✅ Done in Display List Mar 1, 2023
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: new feature Nothing broken; request for a new capability engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project
Projects
Status: Done
3 participants