mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-12 06:45:16 +00:00
Add a per-thread proc table using thread local storage
In situations where both dawn_wire and dawn_native are used on separate threads (Chrome with --single-process or --in-process-gpu), it's desirable to have a per-thread proc table so that the WebGPU C++ API can still be used. This eliminates classes of bugs with manual reference/release errors. This also changes many of the GetProcs functions to return const references to the static proc tables known at compile time, instead of a copy. Bug: none Change-Id: I8775bb715b312dd9476a1903fbd797d4b1302614 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/29240 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
df90930683
commit
b04a92f01b
@@ -66,8 +66,7 @@ void WireTest::SetUp() {
|
||||
mS2cBuf->SetHandler(mWireClient.get());
|
||||
|
||||
device = mWireClient->GetDevice();
|
||||
DawnProcTable clientProcs = dawn_wire::WireClient::GetProcs();
|
||||
dawnProcSetProcs(&clientProcs);
|
||||
dawnProcSetProcs(&dawn_wire::client::GetProcs());
|
||||
|
||||
apiDevice = mockDevice;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user