You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
[Impeller] Switch from glBlitFramebuffer to implicit MSAA resolution. (#47282)
Closesflutter/flutter#137093.
This widens supports from Open GLES 3.x to Open GLES 2.x, and uses [ARM
GPU Best
Practices](https://developer.arm.com/documentation/101897/0301/Fragment-shading/Multisampling-for-OpenGL-ES):
> Do not use `glBlitFramebuffer()` to implement a multisample resolve.
This PR:
- Removes usage of `glBlitFramebuffer`
- Adds the capability check, `SupportsImplicitResolvingMSAA`, which is
`false` outside of GLES
- Does not discard color attachments resolved by
`EXT_multisampled_render_to_texture` (done implicitly)
I spoke to @jonahwilliams about the changes to the HAL, who I believe
also talked to @bdero about it. The short explantation is that, with the
`EXT_multisampled_render_to_texture`, we can be more efficient by
letting GLES perform multisampled rendering for us (no per-sample data
is written out).
See also
https://registry.khronos.org/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture.txt
for details.
0 commit comments