SCons: Enable wasm64 support on web builds#102378
Conversation
|
What does browser support look like for If support isn't universal yet, I'm wondering if it's possible to distribute WASM32 + WASM64 alongside where the JavaScript selects the correct file to download according to the browser's capabilities. |
Here's what emscripten's change log say:
It could be interesting for performance oriented apps, but for most of the uses, this is overkill, as usually, the target is to have the smallest payload possible to load faster. |
|
I haven't tested, but I highly suspect that our WebXR code will break with WASM64, due to all the messy pointer math that's happening to send data between the C++ and JavaScript sides. However, if there are issues, it should be pretty easy to fix. |
I think you had a point. I'm thinking doing that for JSPI in the future also. |
7b71e5b to
f8d3a56
Compare
adamscott
left a comment
There was a problem hiding this comment.
Tested it and it works.
Just a note: this PR doesn't enable exporting games with WASM 64-bit support. It just enables the build of templates and the editor. Work needs to be done at the editor level to add support for exporting.
f8d3a56 to
4a23ea5
Compare
4a23ea5 to
97363dd
Compare
97363dd to
4da01c8
Compare
|
As of February 2026, it looks like all browsers except Safari support |
4da01c8 to
c5bf809
Compare
--language-inarg for the Closure compiler #100525This PR makes the necessary accomodations to allow 64-bit emscription builds to happen:
wasm64architecture to supportMEMORY64=11. The "hybrid" implementation is outside the scope of this PR.Variant, enabling conversion of whichever integral type was not assigned toint64_t/uint64_t.Footnotes
https://emscripten.org/docs/tools_reference/settings_reference.html#memory64 ↩