Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@dnfield
Copy link
Contributor

@dnfield dnfield commented May 19, 2023

Fixes flutter/flutter#127160

We should avoid creating multiple message loops that each have as many threads as processors on the machine.

Copy link
Member

@gaaclarke gaaclarke left a 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.

Comment on lines 16 to 17
virtual const std::shared_ptr<fml::ConcurrentTaskRunner>
GetConcurrentWorkerTaskRunner() const = 0;
Copy link
Member

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.

Copy link
Contributor Author

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.

@dnfield dnfield requested a review from gaaclarke May 19, 2023 18:17

#pragma once

#include "flutter/fml/concurrent_message_loop.h"
Copy link
Member

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment on lines +437 to +441
const std::shared_ptr<fml::ConcurrentTaskRunner>
ContextVK::GetConcurrentWorkerTaskRunner() const {
return worker_task_runner_;
}

Copy link
Member

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?

Copy link
Contributor Author

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.

Copy link
Member

@gaaclarke gaaclarke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@dnfield dnfield added the autosubmit Merge PR when tree becomes green via auto submit App label May 20, 2023
@auto-submit auto-submit bot merged commit 8f2d447 into flutter:main May 20, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 20, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 20, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 21, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 21, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 21, 2023
zanderso pushed a commit to flutter/flutter that referenced this pull request May 22, 2023
…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
CaseyHillers pushed a commit to CaseyHillers/flutter that referenced this pull request May 24, 2023
…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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

autosubmit Merge PR when tree becomes green via auto submit App platform-android

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Avoid creating concurrent message loops for the Vulkan/Metal contexts in Impeller.

2 participants