mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Moves onscreen stencil management from the surface to EntityPass for Metal and Vulkan. EntityPass has enough context to set up the stencil optimally. Also forces us to fail loudly when the supplied stencil is set up in a way that can't be used for rendering the pass on GLES. - On Vulkan, when we're blitting, we don't need to set up a onscreen stencil attachment at all. - And on both Vulkan and Metal, the onscreen stencil can be transient when no pass reads are necessary (fixes the benchmark regressions introduced by https://github.com/flutter/engine/pull/41509).