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

Conversation

@matanlurey
Copy link
Contributor

@matanlurey matanlurey commented Sep 12, 2023

Fixes flutter/flutter#134482.

I wish I knew how to create the thread in ::Create(), but given the constructor is private I feel less bad about reverting part of #45474. Added a test that consistently fails before this PR and passes after.

(Unblocks flutter/flutter#133198)

Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM!

@matanlurey matanlurey merged commit 0c771e0 into flutter:main Sep 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 12, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Sep 12, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Sep 12, 2023
matanlurey added a commit that referenced this pull request Sep 12, 2023
I started using `CreateMockVulkanContext()` in
#45654, and discovered that it was
not thread-safe. This PR does a little bit of refactoring/TLC to ensure
that functions and buffers can be accessed across threads (like the
_real_ `ContextVK`).

The attached test (_test for a test fixture, hoorah!_) fails
consistently before the changes, and passes after. Note that if you try
testing this with `--gtest_repeat=10000` (at least that's the threshold
for me), it'll fail - that's actually due to
flutter/flutter#134482 which in turn is being
fixed in #45686.

(Unblocks flutter/flutter#133198)

---------

Co-authored-by: gaaclarke <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

No open projects
Archived in project

Development

Successfully merging this pull request may close these issues.

[Impeller] ResourceManagerVK never terminates it's thread

2 participants