dawn-cmake/generator/templates/dawn_native
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
..
ProcTable.cpp Add a per-thread proc table using thread local storage 2020-10-05 19:53:58 +00:00
ValidationUtils.cpp Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
ValidationUtils.h Make dawn_native use the webgpu.h header 2019-10-23 11:57:41 +00:00
wgpu_structs.cpp Update WGPUChainedStruct usage to match webgpu.h 2020-01-25 09:30:40 +00:00
wgpu_structs.h Support chained extension structs on the wire 2020-04-03 17:37:48 +00:00