dawn-cmake/generator/templates/dawn_wire
Austin Eng b04a92f01b 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>
2020-10-05 19:53:58 +00:00
..
client Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
server Cleanup: Rename dawn_wire Object "serial" to "generation" 2020-04-13 17:50:51 +00:00
WireCmd.cpp dawn_wire: Factor the common command serialization pattern. 2020-06-19 16:49:43 +00:00
WireCmd.h dawn_wire: Factor the common command serialization pattern. 2020-06-19 16:49:43 +00:00