-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[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 skia-flutter-autoroll@skia.org Roll Skia from 02e94b3b4d29 to d8da1ee69767 (1 revision) (flutter/engine#49824) 2024-01-17 bdero@google.com Flutter GPU: Add GpuContext.createHostBuffer (flutter/engine#49822) 2024-01-17 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Klxww53tA4-TG5pA9... to GuU0e5WxJCi92Scz8... (flutter/engine#49823) 2024-01-17 bdero@google.com [Impeller] Switch from transient stencil-only to depth+stencil buffer. (flutter/engine#47987) 2024-01-17 skia-flutter-autoroll@skia.org 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 jonahwilliams@google.com,rmistry@google.com,zra@google.com 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 skia-flutter-autoroll@skia.org Roll Skia from 5abf9717ea92 to 31f275e8fcc7 (8 revisions) (flutter/engine#49850) 2024-01-18 30870216+gaaclarke@users.noreply.github.com Reland: [Impeller] Turned on new blur. (#48472) (flutter/engine#49642) 2024-01-17 737941+loic-sharma@users.noreply.github.com [Windows] Reduce Visual Studio build errors caused by keyboard unit tests (flutter/engine#49814) 2024-01-17 30870216+gaaclarke@users.noreply.github.com [Impeller] disabled misleading vulkan golden image tests (flutter/engine#49836) 2024-01-17 737941+loic-sharma@users.noreply.github.com [Windows] Remove unnecessary statics in keyboard (flutter/engine#49834) 2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 5c9e3474cf13 to 5abf9717ea92 (1 revision) (flutter/engine#49831) 2024-01-17 godofredoc@google.com 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 skia-flutter-autoroll@skia.org Roll Skia from d8da1ee69767 to 5c9e3474cf13 (2 revisions) (flutter/engine#49827) 2024-01-17 skia-flutter-autoroll@skia.org Manual roll Dart SDK from d6c08fa9bb54 to 6ff69d6b7f59 (15 revisions) (flutter/engine#49825) 2024-01-17 skia-flutter-autoroll@skia.org Roll Skia from 02e94b3b4d29 to d8da1ee69767 (1 revision) (flutter/engine#49824) 2024-01-17 bdero@google.com Flutter GPU: Add GpuContext.createHostBuffer (flutter/engine#49822) 2024-01-17 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from Klxww53tA4-TG5pA9... to GuU0e5WxJCi92Scz8... (flutter/engine#49823) 2024-01-17 bdero@google.com [Impeller] Switch from transient stencil-only to depth+stencil buffer. (flutter/engine#47987) 2024-01-17 skia-flutter-autoroll@skia.org 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 jonahwilliams@google.com,rmistry@google.com,zra@google.com 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.