mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-07-07 05:36:04 +00:00
Fixes TSAN race by moving cleanup of platform into dtor.
- Before since it was in the TearDown, cleanup can be called before the device was gone which meant that async tasks could still be in flight. Bug: dawn:1374 Change-Id: I4cd5a4e096a3fe13e230197a6a4d4d57daea31c8 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133480 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Loko Kung <lokokung@google.com>
This commit is contained in:
parent
43b110ce53
commit
5ae7d10977
@ -739,6 +739,9 @@ DawnTestBase::~DawnTestBase() {
|
|||||||
// Check that all devices were destructed.
|
// Check that all devices were destructed.
|
||||||
EXPECT_EQ(gTestEnv->GetInstance()->GetDeviceCountForTesting(), 0u);
|
EXPECT_EQ(gTestEnv->GetInstance()->GetDeviceCountForTesting(), 0u);
|
||||||
|
|
||||||
|
// Unsets the platform since we are cleaning the per-test platform up with the test case.
|
||||||
|
dawn::native::FromAPI(gTestEnv->GetInstance()->Get())->SetPlatformForTesting(nullptr);
|
||||||
|
|
||||||
gCurrentTest = nullptr;
|
gCurrentTest = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1113,9 +1116,6 @@ void DawnTestBase::TearDown() {
|
|||||||
EXPECT_EQ(mLastWarningCount,
|
EXPECT_EQ(mLastWarningCount,
|
||||||
dawn::native::GetDeprecationWarningCountForTesting(device.Get()));
|
dawn::native::GetDeprecationWarningCountForTesting(device.Get()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unsets the platform since we are cleaning the per-test platform up with the test case.
|
|
||||||
dawn::native::FromAPI(gTestEnv->GetInstance()->Get())->SetPlatformForTesting(nullptr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DawnTestBase::DestroyDevice(wgpu::Device device) {
|
void DawnTestBase::DestroyDevice(wgpu::Device device) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user