Merge pull request #106319 from adamscott/web-simd
[Web] Add WebAssembly SIMD support (`wasm_simd`) and enable it by default
This commit is contained in:
commit
d3cd48cb51
2 changed files with 11 additions and 0 deletions
|
|
@ -6,6 +6,12 @@ Import("env_modules")
|
|||
|
||||
env_jolt = env_modules.Clone()
|
||||
|
||||
# Platform specific flags.
|
||||
if env["platform"] == "web" and env["wasm_simd"]:
|
||||
# Enable SSE 4.2 so that WebAssembly SIMD can benefit from it.
|
||||
# SSE 4.2 is the highest version supported by WebAssembly SIMD.
|
||||
env_jolt.Append(CCFLAGS=["-msse4.2"])
|
||||
|
||||
# Thirdparty source files
|
||||
|
||||
thirdparty_dir = "#thirdparty/jolt_physics/"
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ def get_opts():
|
|||
"Use Emscripten PROXY_TO_PTHREAD option to run the main application code to a separate thread",
|
||||
False,
|
||||
),
|
||||
BoolVariable("wasm_simd", "Use WebAssembly SIMD to improve CPU performance", True),
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -276,6 +277,10 @@ def configure(env: "SConsEnvironment"):
|
|||
# https://github.com/emscripten-core/emscripten/issues/18034#issuecomment-1277561925
|
||||
env.Append(LINKFLAGS=["-sTEXTDECODER=0"])
|
||||
|
||||
# Enable WebAssembly SIMD
|
||||
if env["wasm_simd"]:
|
||||
env.Append(CCFLAGS=["-msimd128"])
|
||||
|
||||
# Reduce code size by generating less support code (e.g. skip NodeJS support).
|
||||
env.Append(LINKFLAGS=["-sENVIRONMENT=web,worker"])
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue