Jonah Williams ccaa49bdb4 [Impeller] use render pass to transition attachments to eGeneral instead of barriers. (flutter/engine#55930)
From local testing:

1. This is slightly faster
2. This still renders correctly even on old phones (S10)
3. This is validation error clean.

---------------

The vk RenderPass has a built in mechanism to transition the attachments between layout states. Since we expect the images to be in eGeneral layout, we can configure the render pass to do an eUnderfined -> eGeneral  transition. eUnderfined means "we don't care what was here before". This is OK because we're about to clear the texture anyway.

Since the RenderPass is doing the transition, we don't need an explicit barrier. All we have to do is update our own state tracking mechanism that the image attachments should behave as if they were in eGeneral layout  - because they are once the render pass is started.
2024-10-18 03:58:23 +00:00
Languages
Dart 75%
C++ 16.5%
Objective-C++ 2.9%
Java 2.8%
Objective-C 0.7%
Other 1.9%