-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Switch from transient stencil-only to depth+stencil buffer. #47987
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you tested this with all of the backends? I'm almost certain this won't work with GLES on Android today. And I'd be a bit shocked if it works on Vulkan.
GLES playgrounds are fine too. Trying out the Android embedder and then maybe we can land this to see how it affects the benchmarks. |
At a minuimum, I would change https://github.com/flutter/engine/blob/main/impeller/renderer/backend/gles/texture_gles.cc#L26 to check depth and/or stencil format. |
but you'll need to make sure that you're using an app/playground with 1) MSAA enabled and 2) some offscreen rendering. You could try the backdrop filter demo in the macrobenchmarks app. |
Been testing this against Wondrous and there are problems that need to be worked through for this |
4f1b19f
to
f95db8c
Compare
Alrighty, this seems to be working on all three backends now. |
f0f6c9b
to
bfd761b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Looking into the segfault showing up for release only |
Reproduced it by running the golden exec |
Wait I reproduced the failure without this patch. The issue is obvious and I'm not sure how the heck the golden exec is even working at HEAD. o_O |
nvm, it was an issue with the backend capabilities mock in the specific test. |
…141673) flutter/engine@73a2de5...c7e3285 2024-01-17 [email protected] Roll Skia from 02e94b3b4d29 to d8da1ee69767 (1 revision) (flutter/engine#49824) 2024-01-17 [email protected] Flutter GPU: Add GpuContext.createHostBuffer (flutter/engine#49822) 2024-01-17 [email protected] Roll Fuchsia Linux SDK from Klxww53tA4-TG5pA9... to GuU0e5WxJCi92Scz8... (flutter/engine#49823) 2024-01-17 [email protected] [Impeller] Switch from transient stencil-only to depth+stencil buffer. (flutter/engine#47987) 2024-01-17 [email protected] Roll Skia from 31309ff09537 to 02e94b3b4d29 (43 revisions) (flutter/engine#49819) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from Klxww53tA4-T to GuU0e5WxJCi9 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This is breaking the vulkan validation test in the framework:
|
…il buffer." (#49832) Reverts #47987 Initiated by: jonahwilliams This change reverts the following previous change: Original Description: Part of flutter/flutter#138460. In preparation for [draw order optimization](flutter/flutter#114402) and [StC](flutter/flutter#123671). Use a transient depth+stencil texture instead of a stencil-only texture. Doing this in isolation to detect/weed out any HAL bugs with handling the attachment.
Looks like I was missing |
…141744) flutter/engine@73a2de5...98c16b4 2024-01-18 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll Dart SDK from d6c08fa9bb54 to 6ff69d6b7f59 (15 revisions)" (flutter/engine#49852) 2024-01-18 [email protected] Roll Skia from 5abf9717ea92 to 31f275e8fcc7 (8 revisions) (flutter/engine#49850) 2024-01-18 [email protected] Reland: [Impeller] Turned on new blur. (#48472) (flutter/engine#49642) 2024-01-17 [email protected] [Windows] Reduce Visual Studio build errors caused by keyboard unit tests (flutter/engine#49814) 2024-01-17 [email protected] [Impeller] disabled misleading vulkan golden image tests (flutter/engine#49836) 2024-01-17 [email protected] [Windows] Remove unnecessary statics in keyboard (flutter/engine#49834) 2024-01-17 [email protected] Roll Skia from 5c9e3474cf13 to 5abf9717ea92 (1 revision) (flutter/engine#49831) 2024-01-17 [email protected] Move mac cache builder to bringup. (flutter/engine#49843) 2024-01-17 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[Impeller] Switch from transient stencil-only to depth+stencil buffer." (flutter/engine#49832) 2024-01-17 [email protected] Roll Skia from d8da1ee69767 to 5c9e3474cf13 (2 revisions) (flutter/engine#49827) 2024-01-17 [email protected] Manual roll Dart SDK from d6c08fa9bb54 to 6ff69d6b7f59 (15 revisions) (flutter/engine#49825) 2024-01-17 [email protected] Roll Skia from 02e94b3b4d29 to d8da1ee69767 (1 revision) (flutter/engine#49824) 2024-01-17 [email protected] Flutter GPU: Add GpuContext.createHostBuffer (flutter/engine#49822) 2024-01-17 [email protected] Roll Fuchsia Linux SDK from Klxww53tA4-TG5pA9... to GuU0e5WxJCi92Scz8... (flutter/engine#49823) 2024-01-17 [email protected] [Impeller] Switch from transient stencil-only to depth+stencil buffer. (flutter/engine#47987) 2024-01-17 [email protected] Roll Skia from 31309ff09537 to 02e94b3b4d29 (43 revisions) (flutter/engine#49819) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from Klxww53tA4-T to GuU0e5WxJCi9 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Part of flutter/flutter#138460.
In preparation for draw order optimization and StC.
Use a transient depth+stencil texture instead of a stencil-only texture. Doing this in isolation to detect/weed out any HAL bugs with handling the attachment.