dawn-cmake/generator/templates/dawn_wire/client
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
..
ApiObjects.h dawn_wire/client: Add ToAPI and FromAPI helpers. 2020-06-30 18:39:50 +00:00
ApiProcs.cpp Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
ClientBase.h Make the wire Client own ObjectAllocators and CommandSerializer 2019-01-30 02:31:37 +00:00
ClientHandlers.cpp Cleanup: Rename dawn_wire Object "serial" to "generation" 2020-04-13 17:50:51 +00:00
ClientPrototypes.inc dawn_wire: Tag deserialize commands with volatile pointer 2019-10-07 20:38:47 +00:00