Skip to content

[Impeller] Vulkan external texture composition can only handle shaders with a single sampler. #143719

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

Open
chinmaygarde opened this issue Feb 19, 2024 · 1 comment
Labels
e: impeller Impeller rendering backend issues and features requests P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@chinmaygarde
Copy link
Member

This is a TODO introduced in flutter/engine#50730.

Today, when sampling from an external image in a shader in the Vulkan backend, only one sampler may be specified. This is because sampling from an external texture requires the sampler to be immutable and the pipeline to be rebuilt. This pipeline rebuilding mechanism only handles the case of single sampler today.

We have no cases where external texture sampling shaders use more than one sampler. But, if/when we do, we should expect to see errors when sampling from a combined image sampler that expects to be bound in the renderpass.

@chinmaygarde chinmaygarde added e: impeller Impeller rendering backend issues and features requests team-engine Owned by Engine team labels Feb 19, 2024
@jonahwilliams jonahwilliams added P3 Issues that are less important to the Flutter project triaged-engine Triaged by Engine team labels Feb 20, 2024
@chinmaygarde
Copy link
Member Author

Still super low priority but wanted to add a use-case/test-case for this: Cross-fading between two video players in a single draw call.

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 P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
None yet
Development

No branches or pull requests

2 participants