This repository has been archived by the owner on Feb 25, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6k
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-authored-by: Loïc Sharma <[email protected]>
This LGTM but I'll look at it again once it's up to date. |
xref the re-land #47095 |
dnfield
approved these changes
Oct 20, 2023
8 tasks
auto-submit bot
pushed a commit
that referenced
this pull request
Oct 20, 2023
This reverts commit d9f2453.
auto-submit bot
added a commit
that referenced
this pull request
Oct 20, 2023
Reverts #44473 Initiated by: dkwingsmt This change reverts the following previous change: Original Description: This PR makes `Animator` able to handle multiple views, and updates unit tests accordingly. Before: <img width="543" alt="image" src="https://github.com/flutter/engine/assets/1596656/f7d0e0e4-cc85-4a6e-b516-1896ac3c1b35"> After: <img width="614" alt="image" src="https://github.com/flutter/engine/assets/1596656/68106301-66ef-4cd1-aeaf-d9c6127ccec2"> Now `Animator::Render` must be called during `Animator::BeginFrame`, which is split into `BeginFrame` and `EndFrame`. This requirement is made possible by #45555. The reason to split is to allow `ShellTest::PumpOneFrame` to insert a render from C++ code. `ShellTest::PumpOneFrame` is also refactored to allow pumping a frame without any views. A few unit tests are tweaked to resolve racing condition. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 20, 2023
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/flutter
that referenced
this pull request
Oct 20, 2023
auto-submit bot
pushed a commit
to flutter/flutter
that referenced
this pull request
Oct 20, 2023
…136987) flutter/engine@b27e1b3...4a65910 2023-10-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Multiview pipeline" (flutter/engine#47174) 2023-10-20 [email protected] Multiview pipeline (flutter/engine#44473) 2023-10-20 [email protected] Roll Skia from 9ffd5ef9a9ed to ca69b04f7dd2 (1 revision) (flutter/engine#47171) 2023-10-20 [email protected] Lower the severity of a log message (flutter/engine#47172) 2023-10-20 [email protected] [web] Remove workaround for safely removing slots on Safari (flutter/engine#47169) 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
auto-submit bot
pushed a commit
that referenced
this pull request
Oct 23, 2023
This PR relands #44473. The previous PR was immediately reverted after merging because we found that the PR could cause illegal renders to be skipped on debug builds but crash the app on release builds. This PR makes the `Animator::Render` skip illegal renders as well. This should not be the final shape of this feature, and thus a TODO is added. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
harryterkelsen
pushed a commit
that referenced
this pull request
Oct 23, 2023
This PR makes `Animator` able to handle multiple views, and updates unit tests accordingly. Before: <img width="543" alt="image" src="https://github.com/flutter/engine/assets/1596656/f7d0e0e4-cc85-4a6e-b516-1896ac3c1b35"> After: <img width="614" alt="image" src="https://github.com/flutter/engine/assets/1596656/68106301-66ef-4cd1-aeaf-d9c6127ccec2"> Now `Animator::Render` must be called during `Animator::BeginFrame`, which is split into `BeginFrame` and `EndFrame`. This requirement is made possible by #45555. The reason to split is to allow `ShellTest::PumpOneFrame` to insert a render from C++ code. `ShellTest::PumpOneFrame` is also refactored to allow pumping a frame without any views. A few unit tests are tweaked to resolve racing condition. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
harryterkelsen
pushed a commit
that referenced
this pull request
Oct 23, 2023
Reverts #44473 Initiated by: dkwingsmt This change reverts the following previous change: Original Description: This PR makes `Animator` able to handle multiple views, and updates unit tests accordingly. Before: <img width="543" alt="image" src="https://github.com/flutter/engine/assets/1596656/f7d0e0e4-cc85-4a6e-b516-1896ac3c1b35"> After: <img width="614" alt="image" src="https://github.com/flutter/engine/assets/1596656/68106301-66ef-4cd1-aeaf-d9c6127ccec2"> Now `Animator::Render` must be called during `Animator::BeginFrame`, which is split into `BeginFrame` and `EndFrame`. This requirement is made possible by #45555. The reason to split is to allow `ShellTest::PumpOneFrame` to insert a render from C++ code. `ShellTest::PumpOneFrame` is also refactored to allow pumping a frame without any views. A few unit tests are tweaked to resolve racing condition. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
harryterkelsen
pushed a commit
that referenced
this pull request
Oct 23, 2023
This PR relands #44473. The previous PR was immediately reverted after merging because we found that the PR could cause illegal renders to be skipped on debug builds but crash the app on release builds. This PR makes the `Animator::Render` skip illegal renders as well. This should not be the final shape of this feature, and thus a TODO is added. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes
Animator
able to handle multiple views, and updates unit tests accordingly.Before:

After:

Now
Animator::Render
must be called duringAnimator::BeginFrame
, which is split intoBeginFrame
andEndFrame
. This requirement is made possible by #45555. The reason to split is to allowShellTest::PumpOneFrame
to insert a render from C++ code.ShellTest::PumpOneFrame
is also refactored to allow pumping a frame without any views.A few unit tests are tweaked to resolve racing condition.
Pre-launch Checklist
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.