mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Closes https://github.com/flutter/flutter/issues/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.