diff --git a/engine/src/build/config/compiler/BUILD.gn b/engine/src/build/config/compiler/BUILD.gn index 61e54bb04b7..61dfb2d1537 100644 --- a/engine/src/build/config/compiler/BUILD.gn +++ b/engine/src/build/config/compiler/BUILD.gn @@ -280,6 +280,9 @@ config("compiler") { if (wasm_use_pthreads) { cflags += [ "-pthread" ] ldflags += [ "-pthread" ] + } if (wasm_shared_memory) { + cflags += [ "-sSHARED_MEMORY=1" ] + ldflags += [ "-sSHARED_MEMORY=1" ] } ldflags += [ "-s", diff --git a/engine/src/build/toolchain/wasm.gni b/engine/src/build/toolchain/wasm.gni index 79940573b31..0da69d2874e 100644 --- a/engine/src/build/toolchain/wasm.gni +++ b/engine/src/build/toolchain/wasm.gni @@ -12,6 +12,7 @@ declare_args() { emsdk_dir = rebase_path("//flutter/prebuilts/emsdk") wasm_use_pthreads = false + wasm_shared_memory = false wasm_use_dwarf = false } diff --git a/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn b/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn index cdacdcddde6..2d9063d5f59 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn +++ b/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn @@ -47,7 +47,6 @@ template("skwasm_variant") { "-lexports.js", "-sEXPORTED_FUNCTIONS=[stackAlloc]", "-sEXPORTED_RUNTIME_METHODS=[addFunction,wasmExports,wasmMemory,stackAlloc]", - "-sSHARED_MEMORY=1", "-sINCOMING_MODULE_JS_API=[instantiateWasm,noExitRuntime,mainScriptUrlOrBlob]", "-sUSE_ES6_IMPORT_META=0", "--js-library", @@ -76,7 +75,6 @@ template("skwasm_variant") { if (is_debug) { ldflags += [ - "-sDEMANGLE_SUPPORT=1", "-sASSERTIONS=1", "-sGL_ASSERTIONS=1", ] diff --git a/engine/src/flutter/skia/modules/canvaskit/BUILD.gn b/engine/src/flutter/skia/modules/canvaskit/BUILD.gn index 1a24c8ff2bc..1d99db89b03 100644 --- a/engine/src/flutter/skia/modules/canvaskit/BUILD.gn +++ b/engine/src/flutter/skia/modules/canvaskit/BUILD.gn @@ -63,7 +63,6 @@ canvaskit_wasm_lib("canvaskit") { if (is_debug) { ldflags += [ "-O0", - "-sDEMANGLE_SUPPORT=1", "-sASSERTIONS=1", "-sGL_ASSERTIONS=1", "-g3", diff --git a/engine/src/flutter/third_party/canvaskit/BUILD.gn b/engine/src/flutter/third_party/canvaskit/BUILD.gn index aabbdc8081a..417cba35173 100644 --- a/engine/src/flutter/third_party/canvaskit/BUILD.gn +++ b/engine/src/flutter/third_party/canvaskit/BUILD.gn @@ -109,8 +109,10 @@ wasm_toolchain("skwasm_st") { skia_use_no_png_encode = true skia_use_libpng_encode = false - # skwasm_st is singlethreaded + # skwasm_st doesn't use pthreads, but does pass the shared memory flag in order + # to be compatible with the way app modules import the memory object. wasm_use_pthreads = false + wasm_shared_memory = true wasm_prioritize_size = true } }