commit | bfb2456dc2f479f1f8644cdc7149d497d4ed6a87 | [log] [tgz] |
---|---|---|
author | Lokbondo Kung <lokokung@google.com> | Fri Oct 25 19:53:55 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Oct 25 19:53:55 2024 +0000 |
tree | 5a1b00e6e6adfd2b4961d36226e75aae9a9bb14f | |
parent | b09deb27d2539f9566c89b08e9bc06bdc335bed2 [diff] |
[dawn][emscripten] Use doubles for future ids. - This fix is stemmed from an issue where because mapMode in mapAsync is a bitmask which means by default in WASM we are using a uint64_t to represent it. As a WASM type, this was a 'j' that needs to be taken as 2 args much like the future id. Because it was hard to find this issue hidden by the fact that we were manually turning __i53abi off for some shims, this change refactors futures to always be passed to JS from WASM as a uint64_t/'j' type with __i53abi as true, and passed from JS to WASM as a double which we can cast back. Bug: 374691288, 369445681 Change-Id: I6a3a7402a5cff8969eb8402e36b28b5bf68142cc Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/211940 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: 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.