commit | 63cbc06bd56d57488b5234269eee41414e2583fd | [log] [tgz] |
---|---|---|
author | Kai Ninomiya <kainino@chromium.org> | Fri Jan 10 00:33:13 2025 -0800 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Jan 10 00:33:13 2025 -0800 |
tree | 7bedf8105db51de8f2a864278481359973d04814 | |
parent | 70de16afc73a12b3df2be675506021ec1559c6d4 [diff] |
[emscripten] Use handleAsync correctly in WaitAny I totally misunderstood how to use handleAsync before; what we had worked for JSPI but not at all for old Asyncify (-sASYNCIFY=1). This works in both. With ASYNCIFY=1, emwgpuInstanceWaitAny actually gets called twice, once to start (while suspending), and once during stack rewind (while resuming). handleAsync must be wrapped around the entire method to handle the states correctly: https://github.com/emscripten-core/emscripten/blob/dde19fae5259ab53942c52d67cf3edb360bda28a/src/library_async.js#L315 (In ASYNCIFY=2 aka JSPI=1, async is handled natively, so emwgpuInstanceWaitAny is called only once.) Bug: none No-Try: true Change-Id: I1ce057d7b68aa0895f815edac52cf160684edf02 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/221694 Commit-Queue: Loko Kung <lokokung@google.com> Reviewed-by: Loko Kung <lokokung@google.com>
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.