-
Notifications
You must be signed in to change notification settings - Fork 6k
Create a DisplayList benchmarks dylib on iOS #30833
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 on the #hackers channel in Chat. 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. |
…om a test app. To run the benchmarks, call the exported entrypoint RunBenchmarks(argc, argv).
d3aa6f2 to
3ae4d8d
Compare
| if (enable_unittests || is_ios) { | ||
| source_set("metal") { | ||
| if (shell_enable_metal) { |
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.
This is a little weird where if we are on iOS but don't have shell_enable_metal we get an empty source set. Seems like the conditional should be higher at the usage of the source set.
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.
So this was just moved from inside the overall enable_unittests block into its own block that also allows for iOS, so it was already like that (except for the iOS condition).
I am a little wary of poking this because the large comment directly above the source_set suggests that there's some stuff going on here that's not entirely straightforward.
Create a DisplayList benchmarks dylib on iOS that can be linked to from a test app. To run the benchmarks, call the exported entrypoint RunBenchmarks(argc, argv).
flutter/engine@fab1982...83d99a5 2022-01-14 [email protected] Roll Fuchsia Linux SDK from 35I2K_Bou... to V541xkYVr... (flutter/engine#30879) 2022-01-14 [email protected] Roll Dart SDK from dcab0d0b2f6c to d0d4dbfc6e69 (1 revision) (flutter/engine#30878) 2022-01-14 [email protected] Roll Skia from 1f0e64acd621 to f260a297c68d (1 revision) (flutter/engine#30877) 2022-01-14 [email protected] [fuchsia] stamp package with target api level (flutter/engine#30857) 2022-01-14 [email protected] Roll Skia from dd9e165ef7d0 to 1f0e64acd621 (1 revision) (flutter/engine#30876) 2022-01-14 [email protected] Roll Fuchsia Mac SDK from BQ2l2096A... to bGW3xlB1D... (flutter/engine#30875) 2022-01-14 [email protected] Roll Skia from 7aec4b164e79 to dd9e165ef7d0 (1 revision) (flutter/engine#30874) 2022-01-14 [email protected] Roll Dart SDK from 68ccd13498be to dcab0d0b2f6c (1 revision) (flutter/engine#30872) 2022-01-14 [email protected] Roll Dart SDK from aa6fbac07951 to 68ccd13498be (1 revision) (flutter/engine#30870) 2022-01-14 [email protected] Roll Skia from 76e62d32d979 to 7aec4b164e79 (1 revision) (flutter/engine#30869) 2022-01-14 [email protected] Roll Skia from a6f2ebf30fea to 76e62d32d979 (1 revision) (flutter/engine#30868) 2022-01-14 [email protected] Roll Dart SDK from ba044d5e9c03 to aa6fbac07951 (1 revision) (flutter/engine#30867) 2022-01-14 [email protected] Roll Skia from 7c80b2f08ead to a6f2ebf30fea (1 revision) (flutter/engine#30863) 2022-01-14 [email protected] [Windows, Keyboard] Lift key event redispatching to KeyboardManagerWin32 (flutter/engine#30702) 2022-01-14 [email protected] Ensure that PlatformViewIOS does not call into Shell semantics APIs during destruction (flutter/engine#30835) 2022-01-14 [email protected] Roll Skia from 119fb6bb2568 to 7c80b2f08ead (1 revision) (flutter/engine#30862) 2022-01-14 [email protected] Roll Dart SDK from b36d861d5487 to ba044d5e9c03 (1 revision) (flutter/engine#30861) 2022-01-14 [email protected] Roll Skia from 62b32180c192 to 119fb6bb2568 (1 revision) (flutter/engine#30860) 2022-01-14 [email protected] Roll Fuchsia Mac SDK from Uvw9UoGSm... to BQ2l2096A... (flutter/engine#30859) 2022-01-13 [email protected] Move SoftwareCanvasProvider into its own source file (flutter/engine#30856) 2022-01-13 [email protected] Roll Skia from c505bdca9d60 to 62b32180c192 (1 revision) (flutter/engine#30855) 2022-01-13 [email protected] Create a DisplayList benchmarks dylib on iOS (flutter/engine#30833) 2022-01-13 [email protected] Don't retain the MTLTexture or MTLDevice in TestMetalContext (flutter/engine#30832) 2022-01-13 [email protected] Roll Skia from 455e580b9c78 to c505bdca9d60 (1 revision) (flutter/engine#30852) 2022-01-13 [email protected] Roll buildroot to 7effd69. (flutter/engine#30851) 2022-01-13 [email protected] Remove unused field initializing formal parameters. (flutter/engine#30822) 2022-01-13 [email protected] Roll Dart SDK from f1c98a571d1a to b36d861d5487 (1 revision) (flutter/engine#30850) 2022-01-13 [email protected] Roll Skia from 759bc62a06d2 to 455e580b9c78 (2 revisions) (flutter/engine#30849) 2022-01-13 [email protected] Remove usages of deprecated setSystemUiVisibility() (flutter/engine#29493) 2022-01-13 [email protected] Roll Skia from b21c4af0f670 to 759bc62a06d2 (3 revisions) (flutter/engine#30848) 2022-01-13 [email protected] [fuchsia] Switch from core-jit to core snapshots. (flutter/engine#30744) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from 35I2K_BouXUN to V541xkYVrdUC fuchsia/sdk/core/mac-amd64 from Uvw9UoGSmIjy to bGW3xlB1DoAm
* a193f08 [fuchsia] Switch from core-jit to core snapshots. (flutter/engine#30744) * 7e50462 Roll Skia from b21c4af0f670 to 759bc62a06d2 (3 revisions) (flutter/engine#30848) * 8db5038 Remove usages of deprecated setSystemUiVisibility() (flutter/engine#29493) * c05d0df Roll Skia from 759bc62a06d2 to 455e580b9c78 (2 revisions) (flutter/engine#30849) * 1fab2fb Roll Dart SDK from f1c98a571d1a to b36d861d5487 (1 revision) (flutter/engine#30850) * f9385e7 Remove unused field initializing formal parameters. (flutter/engine#30822) * b6e5d99 Roll buildroot to 7effd69. (flutter/engine#30851) * 742eaf8 Roll Skia from 455e580b9c78 to c505bdca9d60 (1 revision) (flutter/engine#30852) * d0f2beb Don't retain the MTLTexture or MTLDevice in TestMetalContext (flutter/engine#30832) * f121c1f Create a DisplayList benchmarks dylib on iOS (flutter/engine#30833) * 4499797 Roll Skia from c505bdca9d60 to 62b32180c192 (1 revision) (flutter/engine#30855) * fcf7458 Move SoftwareCanvasProvider into its own source file (flutter/engine#30856) * 794a833 Roll Fuchsia Mac SDK from Uvw9UoGSm... to BQ2l2096A... (flutter/engine#30859) * 4b32e1c Roll Skia from 62b32180c192 to 119fb6bb2568 (1 revision) (flutter/engine#30860) * facfa74 Roll Dart SDK from b36d861d5487 to ba044d5e9c03 (1 revision) (flutter/engine#30861) * f6613c9 Roll Skia from 119fb6bb2568 to 7c80b2f08ead (1 revision) (flutter/engine#30862) * fb3ee7f Ensure that PlatformViewIOS does not call into Shell semantics APIs during destruction (flutter/engine#30835) * 073e6c5 [Windows, Keyboard] Lift key event redispatching to KeyboardManagerWin32 (flutter/engine#30702) * 88e67a2 Roll Skia from 7c80b2f08ead to a6f2ebf30fea (1 revision) (flutter/engine#30863) * 1f4e7fa Roll Dart SDK from ba044d5e9c03 to aa6fbac07951 (1 revision) (flutter/engine#30867) * 3fbd427 Roll Skia from a6f2ebf30fea to 76e62d32d979 (1 revision) (flutter/engine#30868) * b6db081 Roll Skia from 76e62d32d979 to 7aec4b164e79 (1 revision) (flutter/engine#30869) * b92fd27 Roll Dart SDK from aa6fbac07951 to 68ccd13498be (1 revision) (flutter/engine#30870) * 8961366 Roll Dart SDK from 68ccd13498be to dcab0d0b2f6c (1 revision) (flutter/engine#30872) * 18ea2ce Roll Skia from 7aec4b164e79 to dd9e165ef7d0 (1 revision) (flutter/engine#30874) * 9d660d9 Roll Fuchsia Mac SDK from BQ2l2096A... to bGW3xlB1D... (flutter/engine#30875) * ad68b1b Roll Skia from dd9e165ef7d0 to 1f0e64acd621 (1 revision) (flutter/engine#30876) * b61a6f5 [fuchsia] stamp package with target api level (flutter/engine#30857) * 5787489 Roll Skia from 1f0e64acd621 to f260a297c68d (1 revision) (flutter/engine#30877) * 87ba2d8 Roll Dart SDK from dcab0d0b2f6c to d0d4dbfc6e69 (1 revision) (flutter/engine#30878) * 83d99a5 Roll Fuchsia Linux SDK from 35I2K_Bou... to V541xkYVr... (flutter/engine#30879) * 50adf4c Revert "Remove usages of deprecated setSystemUiVisibility()" (flutter/engine#30880)
* a193f08 [fuchsia] Switch from core-jit to core snapshots. (flutter/engine#30744) * 7e50462 Roll Skia from b21c4af0f670 to 759bc62a06d2 (3 revisions) (flutter/engine#30848) * 8db5038 Remove usages of deprecated setSystemUiVisibility() (flutter/engine#29493) * c05d0df Roll Skia from 759bc62a06d2 to 455e580b9c78 (2 revisions) (flutter/engine#30849) * 1fab2fb Roll Dart SDK from f1c98a571d1a to b36d861d5487 (1 revision) (flutter/engine#30850) * f9385e7 Remove unused field initializing formal parameters. (flutter/engine#30822) * b6e5d99 Roll buildroot to 7effd69. (flutter/engine#30851) * 742eaf8 Roll Skia from 455e580b9c78 to c505bdca9d60 (1 revision) (flutter/engine#30852) * d0f2beb Don't retain the MTLTexture or MTLDevice in TestMetalContext (flutter/engine#30832) * f121c1f Create a DisplayList benchmarks dylib on iOS (flutter/engine#30833) * 4499797 Roll Skia from c505bdca9d60 to 62b32180c192 (1 revision) (flutter/engine#30855) * fcf7458 Move SoftwareCanvasProvider into its own source file (flutter/engine#30856) * 794a833 Roll Fuchsia Mac SDK from Uvw9UoGSm... to BQ2l2096A... (flutter/engine#30859) * 4b32e1c Roll Skia from 62b32180c192 to 119fb6bb2568 (1 revision) (flutter/engine#30860) * facfa74 Roll Dart SDK from b36d861d5487 to ba044d5e9c03 (1 revision) (flutter/engine#30861) * f6613c9 Roll Skia from 119fb6bb2568 to 7c80b2f08ead (1 revision) (flutter/engine#30862) * fb3ee7f Ensure that PlatformViewIOS does not call into Shell semantics APIs during destruction (flutter/engine#30835) * 073e6c5 [Windows, Keyboard] Lift key event redispatching to KeyboardManagerWin32 (flutter/engine#30702) * 88e67a2 Roll Skia from 7c80b2f08ead to a6f2ebf30fea (1 revision) (flutter/engine#30863) * 1f4e7fa Roll Dart SDK from ba044d5e9c03 to aa6fbac07951 (1 revision) (flutter/engine#30867) * 3fbd427 Roll Skia from a6f2ebf30fea to 76e62d32d979 (1 revision) (flutter/engine#30868) * b6db081 Roll Skia from 76e62d32d979 to 7aec4b164e79 (1 revision) (flutter/engine#30869) * b92fd27 Roll Dart SDK from aa6fbac07951 to 68ccd13498be (1 revision) (flutter/engine#30870) * 8961366 Roll Dart SDK from 68ccd13498be to dcab0d0b2f6c (1 revision) (flutter/engine#30872) * 18ea2ce Roll Skia from 7aec4b164e79 to dd9e165ef7d0 (1 revision) (flutter/engine#30874) * 9d660d9 Roll Fuchsia Mac SDK from BQ2l2096A... to bGW3xlB1D... (flutter/engine#30875) * ad68b1b Roll Skia from dd9e165ef7d0 to 1f0e64acd621 (1 revision) (flutter/engine#30876) * b61a6f5 [fuchsia] stamp package with target api level (flutter/engine#30857) * 5787489 Roll Skia from 1f0e64acd621 to f260a297c68d (1 revision) (flutter/engine#30877) * 87ba2d8 Roll Dart SDK from dcab0d0b2f6c to d0d4dbfc6e69 (1 revision) (flutter/engine#30878) * 83d99a5 Roll Fuchsia Linux SDK from 35I2K_Bou... to V541xkYVr... (flutter/engine#30879) * 50adf4c Revert "Remove usages of deprecated setSystemUiVisibility()" (flutter/engine#30880)
Currently we have no way to run the engine unittests or benchmarks on an iOS device, because the build outputs a binary which we cannot execute on iOS.
This is a quick way for us to be able to run benchmarks on an actual device:
//flutter/benchmarkingcode (which implements amainfunction), but instead depend on the//flutter/benchmarking:benchmarking_librarydep, which exposes aRunBenchmarks(argc,argv)entrypoint.libios_display_list_benchmarks.dyliblibrary and callRunBenchmarks(argc, argv)inmainand the benchmarks will run.I will push the iOS test app in a future PR, but it is loosely modelled on the existing
IosUnitTestsapp in//testing/ios.flutter/flutter#96569
No new tests as this is the test code.
Pre-launch Checklist
writing and running engine tests.
///).