Skip to content

[Impeller] Determine whether framebuffer fetch via subpasses will be supported in the GLES backend #144181

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
jason-simmons opened this issue Feb 26, 2024 · 3 comments · Fixed by flutter/engine#53766
Assignees
Labels
e: impeller Impeller rendering backend issues and features requests e: opengl engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list r: fixed Issue is closed as already fixed in a newer version team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@jason-simmons
Copy link
Member

The framebuffer fetch implementation was extended in flutter/engine@f4fbabf and now relies on capabilities that are not supported in the Impeller OpenGL ES back end.

For example, running RendererTest.CanSepiaToneWithSubpasses fails on GLES because the resulting shader requires a sampler2DMS that is not supported on a #version 100 shader.

If supporting this on GLES is not feasible, then we may need to change the capabilities to reflect that GLES does not match Vulkan/Metal's level of support for framebuffer fetch.

@jason-simmons jason-simmons added the e: impeller Impeller rendering backend issues and features requests label Feb 26, 2024
@danagbemava-nc danagbemava-nc added engine flutter/engine repository. See also e: labels. team-engine Owned by Engine team labels Feb 27, 2024
@chinmaygarde chinmaygarde removed their assignment Feb 27, 2024
@jonahwilliams
Copy link
Member

We don't need to support more than one input attachment, and we should read the capabilities check as designed for the entity renderer.

@jonahwilliams jonahwilliams added P2 Important issues not at the top of the work list triaged-engine Triaged by Engine team labels Mar 4, 2024
@chinmaygarde chinmaygarde self-assigned this Jul 8, 2024
chinmaygarde added a commit to chinmaygarde/flutter_engine that referenced this issue Jul 8, 2024
The texel fetch fallback used in place of framebuffer fetch isn't
supported on ES 100.

Fixes flutter/flutter#144181
@chinmaygarde
Copy link
Member

chinmaygarde commented Jul 9, 2024

I've re-enabled the tests in the linked PR. Fetch using the extension on GLES is working fine. It was an issue with test setup.

auto-submit bot pushed a commit to flutter/engine that referenced this issue Jul 9, 2024
)

The texel fetch fallback used in place of framebuffer fetch isn't supported on ES 100. And this test is explicitly about framebuffer fetch.

Fixes flutter/flutter#144181

<img width="1050" alt="Screenshot 2024-07-08 at 3 21 30�PM" src="https://github.com/flutter/engine/assets/44085/b7468a2d-c385-457c-adf4-2ddb2cbae4a2">
@danagbemava-nc danagbemava-nc added the r: fixed Issue is closed as already fixed in a newer version label Jul 10, 2024
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 Jul 24, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
e: impeller Impeller rendering backend issues and features requests e: opengl engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list r: fixed Issue is closed as already fixed in a newer version team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants