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] size vk swapchain to window size. #50205

Merged

Conversation

jonahwilliams
Copy link
Member

@jonahwilliams jonahwilliams commented Jan 31, 2024

The size the engine recieves from the AndroidSurfaceVulkanImpeller::OnScreenSurfaceResize appears to be correct in the case of window rotation. Use this instead of physical surface properties to set the swapchain image size.

Querying the physical surface properties seems to have some additional non-deterministic delay. This means that querying the properties during a window rotation will frequently return old values.

Fixes flutter/flutter#138780
Fixes flutter/flutter#132708

@flutter-dashboard
Copy link

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 "@test-exemption-reviewer" in 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.

@jonahwilliams
Copy link
Member Author

Failing tests will be fixed by #50215

@matanlurey
Copy link
Contributor

I asked @jonahwilliams about the concerns of https://developer.android.com/games/optimize/vulkan-prerotation#using_callbacks offline, and he replied:

we don't need to worry about 180 degree rotations since we're not doing pre-translation of the MVP matrix

since we leave the transform as identity, surfaceflinger is responsible for doing the rotation in all cases, we just need the right extent

... in other words, LGTM.

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Feb 1, 2024
@auto-submit auto-submit bot merged commit 89077a0 into flutter:main Feb 1, 2024
29 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Feb 1, 2024
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Feb 1, 2024
…142690)

flutter/engine@f4fbabf...68943af

2024-02-01 [email protected] [Impeller] Clear the GPUTracerVK in_frame flag when ending a frame even if the tracer is disabled (flutter/engine#50228)
2024-02-01 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Remove migration flag and unused header files" (flutter/engine#50229)
2024-02-01 [email protected] [Impeller] size vk swapchain to window size. (flutter/engine#50205)
2024-02-01 [email protected] Remove string field from FlKeyEvent (flutter/engine#50189)
2024-02-01 [email protected] Roll Skia from 19e5e8f089b2 to bcbc172f74da (2 revisions) (flutter/engine#50226)
2024-02-01 [email protected] Ignore CRLF endings when determining the names of header guards. (flutter/engine#50227)
2024-02-01 [email protected] [Impeller] make GPU tracing off by default. (flutter/engine#50215)
2024-02-01 [email protected] Multiview: Add view ID to _render and remove render rule skipping (flutter/engine#50220)
2024-02-01 [email protected] Remove migration flag and unused header files (flutter/engine#50216)

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
@jonahwilliams jonahwilliams deleted the size_swapchain_with_callback branch February 1, 2024 19:04
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 platform-android
Projects
No open projects
Status: ✅ Done
2 participants