-
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] delete Impeller sim opt out. #56706
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). 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. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
common/settings.h
Outdated
@@ -226,7 +226,7 @@ struct Settings { | |||
#if FML_OS_ANDROID || FML_OS_IOS || FML_OS_IOS_SIMULATOR | |||
// On iOS devices, Impeller is the default with no opt-out and this field is | |||
// const. | |||
#if FML_OS_IOS && !FML_OS_IOS_SIMULATOR | |||
#if FML_OS_IOS && FML_OS_IOS_SIMULATOR |
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.
Should this be ||
and not &&
?
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.
....yes
These compile errors are from the last commit... |
Oof. I don't have a better suggestion than kicking it again with an empty commit. |
It looks like the failing jobs are just not being triggered to run. I'm going to click re-run on one of them. |
Looking at the bot for the last commit / run - its clearly checking out the head of the last commit: |
Log search:
Then looking later; the error is actually a different file:
|
…into remove_sim_opt_out
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 on green.
It looks like some test timeouts need to be increased on |
I don't understand these failure cases. I was under the impression this change would be a no-op for our CI. |
I'd guess we need to delete code under this flag: https://github.com/flutter/engine/blob/main/testing/scenario_app/bin/run_ios_tests.dart#L259. |
@zanderso I removed the with-skia, but the plist setting shouldn't matter - we're not going to parse it anyway. Its looking like some of these tests won't pass with impeller on iOS simulators and the slimpeller work for simulators is not actually complete. |
Is this because of the UI thread platform thread merge and its interaction with Impeller? The hung test passes if I diff --git a/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm b/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm
index bb31e04866..7e0fef472d 100644
--- a/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm
+++ b/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm
@@ -270,12 +270,13 @@ FLUTTER_ASSERT_ARC
fml::AutoResetWaitableEvent latch;
[engine run];
flutter::Shell& shell = engine.shell;
- engine.shell.GetTaskRunners().GetUITaskRunner()->PostTask([&latch, &shell] {
- flutter::Engine::Delegate& delegate = shell;
- auto message = std::make_unique<flutter::PlatformMessage>("foo", nullptr);
- delegate.OnEngineHandlePlatformMessage(std::move(message));
- latch.Signal();
- });
+ fml::TaskRunner::RunNowOrPostTask(
+ engine.shell.GetTaskRunners().GetUITaskRunner(), [&latch, &shell] {
+ flutter::Engine::Delegate& delegate = shell;
+ auto message = std::make_unique<flutter::PlatformMessage>("foo", nullptr);
+ delegate.OnEngineHandlePlatformMessage(std::move(message));
+ latch.Signal();
+ });
latch.Wait();
[registrar.messenger setMessageHandlerOnChannel:@"foo"
binaryMessageHandler:^(NSData* message, FlutterBinaryReply reply) {
diff --git a/testing/ios/IosUnitTests/App/Info.plist b/testing/ios/IosUnitTests/App/Info.plist
index 885a3b1804..e87b8d5186 100644
--- a/testing/ios/IosUnitTests/App/Info.plist
+++ b/testing/ios/IosUnitTests/App/Info.plist
@@ -46,8 +46,6 @@
</dict>
<key>FLTLeakDartVM</key>
<false/>
- <key>FLTEnableImpeller</key>
- <false/>
<key>FLTTraceSystrace</key>
<false/>
<key>FLTEnableDartProfiling</key>
|
Uhh, another test further along called |
Yup, its because the erstwhile UI thread no longer gets is priority set. We could split this patch into two with the first step being just to get rid of the Info.plist setting opting out of Impeller and fixing up the tests. Then this patch should land without issue. |
The Info.plist override was missed earlier. The main changes to the tests are due to the UI thread merge with the platform thread. The amendment to the "spawn" API are due to the fact that the assertions checked for the presence of GrDirectContext which will never exist with Impeller. Unblocks flutter#56706
Rebasing this on top of #56740 after it lands should unblock this. |
The Info.plist override was missed earlier. The main changes to the tests are due to the UI thread merge with the platform thread. The amendment to the "spawn" API are due to the fact that the assertions checked for the presence of GrDirectContext which will never exist with Impeller. Unblocks #56706
I believe the failing unit tests of flag parsing can be deleted? |
…into remove_sim_opt_out
auto label is removed for flutter/engine/56706, due to - The status or check suite Mac mac_unopt has failed. Please fix the issues identified (or deflake) before re-applying this label. |
auto label is removed for flutter/engine/56706, due to - The status or check suite Linux mac_android_aot_engine has failed. Please fix the issues identified (or deflake) before re-applying this label. |
…159364) flutter/engine@6f941c9...f776c3a 2024-11-22 skia-flutter-autoroll@skia.org Roll Skia from e7caf38140ce to c3d9596a93f8 (2 revisions) (flutter/engine#56765) 2024-11-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[engine] more consistently flush dart event loop, run vsync callback immediately (#56738)" (flutter/engine#56767) 2024-11-22 skia-flutter-autoroll@skia.org Roll Dart SDK from 8b65a7a628e2 to eb01a0430f72 (2 revisions) (flutter/engine#56764) 2024-11-22 jonahwilliams@google.com [Impeller] delete Impeller sim opt out. (flutter/engine#56706) 2024-11-22 jason-simmons@users.noreply.github.com [Impeller] Ensure that SnapshotControllerImpeller has a rendering context before creating the snapshot (flutter/engine#56743) 2024-11-22 flar@google.com [DisplayList] migrate DlColorSource objects to Impeller geometry (flutter/engine#56735) 2024-11-22 chinmaygarde@google.com [Impeller] libImpeller: Tinker on the README. (flutter/engine#56761) 2024-11-22 jonahwilliams@google.com [Impeller] dont create temp vec for discard. (flutter/engine#56759) 2024-11-22 skia-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from zhFzwYCH-N_wasTnM... to D5CBHuB2c-v3Zai-c... (flutter/engine#56757) 2024-11-22 skia-flutter-autoroll@skia.org Roll Dart SDK from 141291fd570d to 8b65a7a628e2 (1 revision) (flutter/engine#56755) 2024-11-22 jonahwilliams@google.com [Impeller] cache and reuse openGL framebuffer attachments. (flutter/engine#56746) 2024-11-22 skia-flutter-autoroll@skia.org Roll Skia from 700e685861c8 to e7caf38140ce (25 revisions) (flutter/engine#56756) 2024-11-22 skia-flutter-autoroll@skia.org Roll Dart SDK from c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748) 2024-11-22 jonahwilliams@google.com [engine] more consistently flush dart event loop, run vsync callback immediately (flutter/engine#56738) 2024-11-22 chris@bracken.jp Extract backend-specific code in ShellTestPlatformView (flutter/engine#56722) 2024-11-22 chris@bracken.jp Eliminate ShellTestPlatformView::BackendType::kDefaultBackendType (flutter/engine#56744) 2024-11-22 skia-flutter-autoroll@skia.org Roll Skia from 2614590b4f32 to 700e685861c8 (1 revision) (flutter/engine#56725) 2024-11-22 skia-flutter-autoroll@skia.org Roll Dart SDK from b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742) 2024-11-22 chinmaygarde@google.com [Impeller] libImpeller: A C++ wrapper to the Impeller API. (flutter/engine#56682) 2024-11-21 chinmaygarde@google.com [Impeller] Run simulator tests with Impeller enabled. (flutter/engine#56740) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from zhFzwYCH-N_w to D5CBHuB2c-v3 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 aaclarke@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
…#56740) The Info.plist override was missed earlier. The main changes to the tests are due to the UI thread merge with the platform thread. The amendment to the "spawn" API are due to the fact that the assertions checked for the presence of GrDirectContext which will never exist with Impeller. Unblocks flutter/engine#56706
Impeller only on simulators.
Impeller only on simulators.