-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] Add present wait latch. #47311
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie or stuartmorgan on the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
bdero
left a comment
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.
Honestly this is still wracking my brain, but it's clearly safe.
|
Actually, I think I get it... The queue submission thread is speeding back around to a frame that hasn't presented yet. But we only wait for the |
…137429) flutter/engine@bedc49e...a198ad4 2023-10-27 [email protected] [Impeller] Add present wait latch. (flutter/engine#47311) 2023-10-27 [email protected] Move rapidjson to flutter/third_party (flutter/engine#47354) 2023-10-27 [email protected] [Impeller] Enable GLES MSAA only if the multisampled_render_to_texture2 extension is available (flutter/engine#47364) 2023-10-27 [email protected] [Impeller] Fix leak of framebuffers used in GLES MSAA rendering (flutter/engine#47362) 2023-10-27 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual roll Dart SDK from 360370ff93b0 to 18678a3eddb7 (9 revisions)" (flutter/engine#47380) 2023-10-27 [email protected] Roll Skia from 0122c0e18d26 to fe9959acc5e0 (1 revision) (flutter/engine#47379) 2023-10-27 [email protected] Roll Fuchsia Mac SDK from 1ngqKBnmTtmFM6aBD... to fw9lcUvz8S07_zaAj... (flutter/engine#47377) 2023-10-27 [email protected] Roll Fuchsia Linux SDK from 37VxdxlPfdkek7mwC... to gPQSfYJVLOgXjxQce... (flutter/engine#47375) 2023-10-27 [email protected] Roll Skia from 22f5419438c4 to 0122c0e18d26 (1 revision) (flutter/engine#47373) 2023-10-27 [email protected] Roll Skia from 5262cbff56b1 to 22f5419438c4 (1 revision) (flutter/engine#47372) 2023-10-27 [email protected] Roll Skia from fe61b3467547 to 5262cbff56b1 (1 revision) (flutter/engine#47371) 2023-10-27 [email protected] Roll Skia from fbdd7d97b26e to fe61b3467547 (1 revision) (flutter/engine#47370) 2023-10-27 [email protected] Roll Skia from 2246f3473053 to fbdd7d97b26e (2 revisions) (flutter/engine#47369) 2023-10-27 [email protected] Roll Skia from ec4c6b3a6690 to 2246f3473053 (1 revision) (flutter/engine#47366) 2023-10-27 [email protected] [Impeller] Add FilterContents::GetSourceCoverage to enable filtered saveLayer clipping. (flutter/engine#47183) 2023-10-27 [email protected] Roll Skia from bc8ca57868d2 to ec4c6b3a6690 (1 revision) (flutter/engine#47365) 2023-10-27 [email protected] Don't re-initialize the default RenderSurface when returning from hybrid composition mode (flutter/engine#47358) 2023-10-27 [email protected] Manual roll Dart SDK from 360370ff93b0 to 18678a3eddb7 (9 revisions) (flutter/engine#47357) 2023-10-26 [email protected] Roll Skia from 93a0ad4d7ca6 to bc8ca57868d2 (2 revisions) (flutter/engine#47359) 2023-10-26 [email protected] Roll Fuchsia Mac SDK from YSn00b0Trsu2vdhIq... to 1ngqKBnmTtmFM6aBD... (flutter/engine#47363) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 37VxdxlPfdke to gPQSfYJVLOgX fuchsia/sdk/core/mac-amd64 from YSn00b0Trsu2 to fw9lcUvz8S07 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
It turns out the fixing #47249 revealed further bugs: we were actually overwriting previous presents and dropping frames, which was what the forward progress error was hinting. Once this problem is fixed, we started hitting present timeouts or overdraw of swapchain images.
The fix for this is that we shouldn't even ask for a swapchain image until after we've called present, which actually wasn't tracked with anything.
The error: