Skip to content
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] Fix blown stack due to always out of date window dimensions on high-dpi devices. #50307

Merged
merged 1 commit into from
Feb 3, 2024

Conversation

chinmaygarde
Copy link
Member

This regression was introduced in 89077a0 which made it so that the updated surface size would be provided to the swapchain impl out-of-band instead of being inferred from the surface properties (to avoid a lag between the reports of the two).

However, the playgrounds used the window size to report the updated size. This is fine where the window scale is 1. But fails on high-dpi devices. The patch replaces the call to get the window size with an equivalent call to get the framebuffer size.

The failure was a blown stack due to a new swapchain impl being created over and over again because the size was always out of date.

Fixes flutter/flutter#142833

…s on high-dpi devices.

This regression was introduced in flutter@89077a0 which made it so that the updated surface size would be provided to the swapchain impl out-of-band instead of being inferred from the surface properties (to avoid a lag between the reports of the two).

However, the playgrounds used the window size to report the updated size. This is fine where the window scale is 1. But fails on high-dpi devices. Replaces the call to get the window size with an equivalent call to get the framebuffer size.

The failure was a blown stack due to a new swapchain impl being created over and over again because the size was always out of date.

Fixes flutter/flutter#142833
Copy link
Member

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

sorry for the trouble!

@chinmaygarde
Copy link
Member Author

chinmaygarde commented Feb 2, 2024

No trouble. Was a simple fix.

@chinmaygarde chinmaygarde added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 2, 2024
@auto-submit auto-submit bot merged commit 23763db into flutter:main Feb 3, 2024
28 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 3, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Feb 3, 2024
…142848)

flutter/engine@fee0214...23763db

2024-02-03 chinmaygarde@google.com [Impeller] Fix blown stack due to always out of date window dimensions on high-dpi devices. (flutter/engine#50307)
2024-02-02 jason-simmons@users.noreply.github.com [Impeller] In advanced blends, unpremultiply and apply src_input_alpha only if there is no foreground color (flutter/engine#50260)
2024-02-02 30870216+gaaclarke@users.noreply.github.com [Impeller] new blur: clamp downsample scalar to 1/16 (flutter/engine#50262)

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 matanl@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
@chinmaygarde chinmaygarde deleted the fix_vulkan_stack_overflow branch February 5, 2024 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
No open projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

[Impeller] Infinite recursion in playgrounds SwapchainVK::AcquireNextDrawable on Mac.
2 participants