dawn-cmake/src
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
..
common Use typed integers for the ExecutionSerial 2020-09-28 19:35:14 +00:00
dawn Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
dawn_native Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
dawn_platform Autoformat everything except tests/examples 2020-07-10 18:19:38 +00:00
dawn_wire Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
fuzzers Add Tint SPIRV->SPIRV to fuzzing code path 2020-09-30 17:50:14 +00:00
include Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
tests Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
utils Standardize the use of UNREACHABLE in switches. 2020-09-24 14:56:50 +00:00
Dummy.cpp Add missed file for the CMake build. 2020-02-07 23:46:30 +00:00