[emscripten] Build Emdawnwebgpu tests on GN This should test Emdawnwebgpu build/link on CQ. To build the bindings and tests locally, build 'emdawnwebgpu'. - Add GN rules for tests (skipping InitOnlySample which is just for manually testing code size). - Make top-level BUILD.gn rules build these tests when dawn_wasm (not is_wasm) is true, so they build whenever Emscripten is available. Using is_wasm at the top level would only work if the the default toolchain were Emscripten, but that isn't allowed. - Don't bother to run the few generation targets without Emscripten, that was only so they would run on CQ before we had Emscripten toolchain support. - Fix warnings that the GN build catches. - Unrelated autoformat in //BUILD.gn (dxc:dxc -> dxc). Verified the tests run locally in debug and release builds. Verified that the link test builds on CQ by dry running with a missing symbol in the JS file: https://dawn-review.googlesource.com/c/dawn/+/266016/3?checksPatchset=3&tab=checks https://ci.chromium.org/ui/p/dawn/builders/try/dawn-cq-mac-x64-rel/331/overview Bug: 450959456, 417823381 Change-Id: I902a3620b702cd0f07e862393f0ee949c191b78b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/266016 Reviewed-by: Loko Kung <lokokung@google.com> Auto-Submit: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Dawn is an open-source and cross-platform implementation of the WebGPU standard. More precisely it implements webgpu.h that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h version that Dawn implements.webgpu.h.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.