diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4489326..740be4d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -372,8 +372,10 @@ jobs: ${{ matrix.target == 'nosimd' }} && export SUFFIX="-nosimd" VERSION=$(cat Makefile | awk 'sub("VERSION = ","")') cd bin - sed -i "s/CardinalMini${SUFFIX}\./CardinalMini${SUFFIX}-v${VERSION}\./g" *.html *.js - sed -i "s/CardinalNative${SUFFIX}\./CardinalNative${SUFFIX}-v${VERSION}\./g" *.html *.js + sed -i "s/CardinalMini\./CardinalMini-v${VERSION}\./g" *.html *.js + sed -i "s/CardinalNative\./CardinalNative-v${VERSION}\./g" *.html *.js + sed -i "s/CardinalMini-nosimd\./CardinalMini-nosimd-v${VERSION}\./g" *.html *.js + sed -i "s/CardinalNative-nosimd\./CardinalNative-nosimd-v${VERSION}\./g" *.html *.js mv CardinalMini.data CardinalMini${SUFFIX}-v${VERSION}.data mv CardinalMini.js CardinalMini${SUFFIX}-v${VERSION}.js mv CardinalMini.wasm CardinalMini${SUFFIX}-v${VERSION}.wasm diff --git a/src/emscripten/CardinalMini.html b/src/emscripten/CardinalMini.html index 1525716..7746937 100644 --- a/src/emscripten/CardinalMini.html +++ b/src/emscripten/CardinalMini.html @@ -128,6 +128,7 @@ spinnerElement.style.display = 'none'; } else { var canvasWrapper = document.getElementById('canvas_wrapper'); + var simdSupported = WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])); var Module = { preRun: [], @@ -138,6 +139,9 @@ canvasWrapper.style.display = 'block'; window.dispatchEvent(new Event('resize')); }, + locateFile: function(p,_) { + return p.replace("CardinalMini"+".", simdSupported ? "CardinalMini." : "CardinalMini-nosimd."); + }, canvas: (function() { var canvas = document.getElementById('canvas'); @@ -187,10 +191,10 @@ }; var jsModuleName; - if (!WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))) { - jsModuleName = "CardinalMini-nosimd.js"; - } else { + if (simdSupported) { jsModuleName = "CardinalMini.js"; + } else { + jsModuleName = "CardinalMini-nosimd.js"; } var jsModuleScript = document.createElement('script'); jsModuleScript.setAttribute('async', true); diff --git a/src/emscripten/CardinalNative.html b/src/emscripten/CardinalNative.html index 13861c7..34ce0d1 100644 --- a/src/emscripten/CardinalNative.html +++ b/src/emscripten/CardinalNative.html @@ -128,6 +128,7 @@ spinnerElement.style.display = 'none'; } else { var canvasWrapper = document.getElementById('canvas_wrapper'); + var simdSupported = WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])); var Module = { preRun: [], @@ -138,6 +139,9 @@ canvasWrapper.style.display = 'block'; window.dispatchEvent(new Event('resize')); }, + locateFile: function(p,_) { + return p.replace("CardinalNative"+".", simdSupported ? "CardinalNative." : "CardinalNative-nosimd."); + }, canvas: (function() { var canvas = document.getElementById('canvas'); @@ -187,10 +191,10 @@ }; var jsModuleName; - if (!WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))) { - jsModuleName = "CardinalNative-nosimd.js"; - } else { + if (simdSupported) { jsModuleName = "CardinalNative.js"; + } else { + jsModuleName = "CardinalNative-nosimd.js"; } var jsModuleScript = document.createElement('script'); jsModuleScript.setAttribute('async', true);