Skip to content
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] Deprecate and remove Texture::SetContents in favor of BlitPass. #147945

Open
jonahwilliams opened this issue May 7, 2024 · 1 comment
Labels
e: impeller Impeller rendering backend issues and features requests P2 Important issues not at the top of the work list team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@jonahwilliams
Copy link
Member

This API has a few problems, namely:

  • It exists at the core layer, before command buffers are defined. But encoding/uploading safely requires a cmd buffer object on Vulkan and Metal. Vulkan works around this by internally creating a cmd buffer and performing a copy to a VMA buffer, but this is extra wasteful.
  • The metal implementation uses an unsafe API.
  • It duplicates functionality that already mostly exists in the BlitPass.

Ripping out in one go is too difficult though, as its used all over the place and exposed via flutter gpu.

@jonahwilliams jonahwilliams added P2 Important issues not at the top of the work list e: impeller Impeller rendering backend issues and features requests team-engine Owned by Engine team labels May 7, 2024
@jonahwilliams
Copy link
Member Author

Work started here: flutter/engine#52510

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e: impeller Impeller rendering backend issues and features requests P2 Important issues not at the top of the work list team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
None yet
Development

No branches or pull requests

1 participant