-
Notifications
You must be signed in to change notification settings - Fork 6k
[Impeller] avoid creating multiple concurrent message loops for Andorid Vulkan #42146
Conversation
gaaclarke
left a comment
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.
Ah, this is the issue jonah was referring to in the other PR, eh?
This looks mostly good except I wouldn't muddy DeviceHolder and follow the pattern we had previously of the clients holding onto a shared pointer to the concurrent task runner.
| virtual const std::shared_ptr<fml::ConcurrentTaskRunner> | ||
| GetConcurrentWorkerTaskRunner() const = 0; |
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.
I don't think we should put this here. I think you can implement the sharing without changing DeviceHolder. Adding this to DeviceHolder changes the meaning of DeviceHolder and I'm not quite sure what concept it represents anymore.
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.
Fair enough, I'll remove this and still give a shared pointer ot the runner to the pipeline.
I wanted this to help with testing but I can still test it by exposing a getter on the context anyway.
|
|
||
| #pragma once | ||
|
|
||
| #include "flutter/fml/concurrent_message_loop.h" |
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.
You can remove this now.
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.
done
| const std::shared_ptr<fml::ConcurrentTaskRunner> | ||
| ContextVK::GetConcurrentWorkerTaskRunner() const { | ||
| return worker_task_runner_; | ||
| } | ||
|
|
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.
We don't need this anymore right?
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.
It's used in the test.
gaaclarke
left a comment
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!
… for Andorid Vulkan (flutter/engine#42146)
… for Andorid Vulkan (flutter/engine#42146)
… for Andorid Vulkan (flutter/engine#42146)
… for Andorid Vulkan (flutter/engine#42146)
… for Andorid Vulkan (flutter/engine#42146)
…127292) flutter/engine@aac0919...f0f3fe7 2023-05-21 [email protected] Roll Skia from 7c7dff949a27 to 5b2005e47bf3 (1 revision) (flutter/engine#42199) 2023-05-21 [email protected] Roll Fuchsia Linux SDK from gQ989rlKAuTJHQR-C... to 88pzkUAkSKsJrNG38... (flutter/engine#42198) 2023-05-21 [email protected] Roll Fuchsia Mac SDK from 868_67npyO8nD_JCx... to JU-dKW3CQIUzhbqWE... (flutter/engine#42197) 2023-05-21 [email protected] Roll Skia from a60bfcb01af9 to 7c7dff949a27 (1 revision) (flutter/engine#42195) 2023-05-20 [email protected] Roll Fuchsia Linux SDK from c_fRDyBVZX-MwW5fS... to gQ989rlKAuTJHQR-C... (flutter/engine#42194) 2023-05-20 [email protected] Roll Skia from f3e9cb7d37fd to a60bfcb01af9 (1 revision) (flutter/engine#42193) 2023-05-20 [email protected] Roll Fuchsia Mac SDK from sfLkc5VBFU6UkljF6... to 868_67npyO8nD_JCx... (flutter/engine#42191) 2023-05-20 [email protected] Move SkSurface::MakeNull to SkSurfaces::Null (flutter/engine#42158) 2023-05-20 [email protected] Roll Fuchsia Linux SDK from TWjmvLCOnYAUgAzvT... to c_fRDyBVZX-MwW5fS... (flutter/engine#42189) 2023-05-20 [email protected] Roll Skia from b4a4782cf89d to f3e9cb7d37fd (1 revision) (flutter/engine#42188) 2023-05-20 [email protected] Roll Fuchsia Mac SDK from pwdDQgM88sqLmZczj... to sfLkc5VBFU6UkljF6... (flutter/engine#42187) 2023-05-20 [email protected] Roll Skia from 7202b405f061 to b4a4782cf89d (19 revisions) (flutter/engine#42185) 2023-05-20 [email protected] [Impeller] avoid creating multiple concurrent message loops for Andorid Vulkan (flutter/engine#42146) 2023-05-20 [email protected] Implement `ImageFilter`/`ColorFilter`/`MaskFilter` in Skwasm (flutter/engine#42088) 2023-05-20 [email protected] [Impeller] Made other vulkan objects cleanup properly. (flutter/engine#42113) 2023-05-19 [email protected] [Impeller] Fix the issue that 'coverage_coords' is incorrectly calculated in 'FillPathGeometry::GetPositionUVBuffer' (flutter/engine#42155) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from TWjmvLCOnYAU to 88pzkUAkSKsJ fuchsia/sdk/core/mac-amd64 from pwdDQgM88sqL to JU-dKW3CQIUz 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] 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#127292) flutter/engine@aac0919...f0f3fe7 2023-05-21 [email protected] Roll Skia from 7c7dff949a27 to 5b2005e47bf3 (1 revision) (flutter/engine#42199) 2023-05-21 [email protected] Roll Fuchsia Linux SDK from gQ989rlKAuTJHQR-C... to 88pzkUAkSKsJrNG38... (flutter/engine#42198) 2023-05-21 [email protected] Roll Fuchsia Mac SDK from 868_67npyO8nD_JCx... to JU-dKW3CQIUzhbqWE... (flutter/engine#42197) 2023-05-21 [email protected] Roll Skia from a60bfcb01af9 to 7c7dff949a27 (1 revision) (flutter/engine#42195) 2023-05-20 [email protected] Roll Fuchsia Linux SDK from c_fRDyBVZX-MwW5fS... to gQ989rlKAuTJHQR-C... (flutter/engine#42194) 2023-05-20 [email protected] Roll Skia from f3e9cb7d37fd to a60bfcb01af9 (1 revision) (flutter/engine#42193) 2023-05-20 [email protected] Roll Fuchsia Mac SDK from sfLkc5VBFU6UkljF6... to 868_67npyO8nD_JCx... (flutter/engine#42191) 2023-05-20 [email protected] Move SkSurface::MakeNull to SkSurfaces::Null (flutter/engine#42158) 2023-05-20 [email protected] Roll Fuchsia Linux SDK from TWjmvLCOnYAUgAzvT... to c_fRDyBVZX-MwW5fS... (flutter/engine#42189) 2023-05-20 [email protected] Roll Skia from b4a4782cf89d to f3e9cb7d37fd (1 revision) (flutter/engine#42188) 2023-05-20 [email protected] Roll Fuchsia Mac SDK from pwdDQgM88sqLmZczj... to sfLkc5VBFU6UkljF6... (flutter/engine#42187) 2023-05-20 [email protected] Roll Skia from 7202b405f061 to b4a4782cf89d (19 revisions) (flutter/engine#42185) 2023-05-20 [email protected] [Impeller] avoid creating multiple concurrent message loops for Andorid Vulkan (flutter/engine#42146) 2023-05-20 [email protected] Implement `ImageFilter`/`ColorFilter`/`MaskFilter` in Skwasm (flutter/engine#42088) 2023-05-20 [email protected] [Impeller] Made other vulkan objects cleanup properly. (flutter/engine#42113) 2023-05-19 [email protected] [Impeller] Fix the issue that 'coverage_coords' is incorrectly calculated in 'FillPathGeometry::GetPositionUVBuffer' (flutter/engine#42155) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from TWjmvLCOnYAU to 88pzkUAkSKsJ fuchsia/sdk/core/mac-amd64 from pwdDQgM88sqL to JU-dKW3CQIUz 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] 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Fixes flutter/flutter#127160
We should avoid creating multiple message loops that each have as many threads as processors on the machine.