Update emsdk to 5.0.4 (#9921)
- Bumped GITHUB_EMSDK_VERSION to 5.0.4 in build scripts and docs. - Fixed a compilation error in web/filament-js/jsbindings.cpp where stricter pointer binding rules in Emscripten 5.0.4 caused a build failure when returning a raw pointer wrapped in `emscripten::val`. Changed the lambda to return the raw pointer directly, leveraging Embind's `allow_raw_pointers()`.
This commit is contained in:
@@ -408,7 +408,7 @@ same version that our continuous builds use.
|
||||
|
||||
```shell
|
||||
cd <your chosen parent folder for the emscripten SDK>
|
||||
curl -L https://github.com/emscripten-core/emsdk/archive/refs/tags/3.1.60.zip > emsdk.zip
|
||||
curl -L https://github.com/emscripten-core/emsdk/archive/refs/tags/5.0.4.zip > emsdk.zip
|
||||
unzip emsdk.zip ; mv emsdk-* emsdk ; cd emsdk
|
||||
python ./emsdk.py install latest
|
||||
python ./emsdk.py activate latest
|
||||
|
||||
@@ -11,7 +11,7 @@ if [ -d "./emsdk" ]; then
|
||||
fi
|
||||
|
||||
# Install emscripten.
|
||||
EMSDK_VERSION=${GITHUB_EMSDK_VERSION-3.1.60}
|
||||
EMSDK_VERSION=${GITHUB_EMSDK_VERSION-5.0.4}
|
||||
curl -L https://github.com/emscripten-core/emsdk/archive/refs/tags/${EMSDK_VERSION}.zip > emsdk.zip
|
||||
unzip emsdk.zip ; mv emsdk-* emsdk ; cd emsdk
|
||||
./emsdk install latest
|
||||
|
||||
@@ -4,6 +4,6 @@ GITHUB_NINJA_VERSION=1.10.2
|
||||
GITHUB_MESA_VERSION=24.2.1
|
||||
GITHUB_LLVM_VERSION=17
|
||||
GITHUB_NDK_VERSION=29.0.14206865
|
||||
GITHUB_EMSDK_VERSION=3.1.60
|
||||
GITHUB_EMSDK_VERSION=5.0.4
|
||||
GITHUB_VULKANSDK_VERSION=1.4.321.0
|
||||
GITHUB_GLTF_SAMPLE_ASSETS_COMMIT=d441dfdb87413ff412c620849a649d61789a470f
|
||||
|
||||
@@ -1861,14 +1861,9 @@ class_<KtxInfo>("KtxInfo")
|
||||
class_<MeshReader::MaterialRegistry>("MeshReader$MaterialRegistry")
|
||||
.constructor<>()
|
||||
.function("size", &MeshReader::MaterialRegistry::numRegistered)
|
||||
.function("get", EMBIND_LAMBDA(val, (MeshReader::MaterialRegistry* self, std::string k), {
|
||||
.function("get", EMBIND_LAMBDA(filament::MaterialInstance*, (MeshReader::MaterialRegistry* self, std::string k), {
|
||||
const utils::CString name(k.c_str(), k.size());
|
||||
auto i = self->getMaterialInstance(name);
|
||||
if (i == nullptr) {
|
||||
return val::undefined();
|
||||
} else {
|
||||
return val(i);
|
||||
}
|
||||
return self->getMaterialInstance(name);
|
||||
}), allow_raw_pointers())
|
||||
.function("set", EMBIND_LAMBDA(void, (MeshReader::MaterialRegistry* self, std::string k, filament::MaterialInstance* v), {
|
||||
const utils::CString name(k.c_str(), k.size());
|
||||
|
||||
Reference in New Issue
Block a user