diff options
author | Leon Krause <Lk@Leonkrause.com> | 2017-11-19 15:07:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-19 15:07:19 +0100 |
commit | 9107357c8dfda98c5adb33d3c5f4a7be1996fa07 (patch) | |
tree | d91c4f1d670b41c9e192f6cdc11cda160c505afc /platform/javascript/engine.js | |
parent | 0aa4765904b0aea28ccf485b2428b027a5960df4 (diff) | |
parent | ddf21ca016c611bf4b88d6e96bae0c65faeb6618 (diff) | |
download | redot-engine-9107357c8dfda98c5adb33d3c5f4a7be1996fa07.tar.gz |
Merge pull request #13003 from eska014/drop-asmjs
Drop HTML5 asm.js support
Diffstat (limited to 'platform/javascript/engine.js')
-rw-r--r-- | platform/javascript/engine.js | 59 |
1 files changed, 6 insertions, 53 deletions
diff --git a/platform/javascript/engine.js b/platform/javascript/engine.js index 99d1c20bbd..f3a7c49a95 100644 --- a/platform/javascript/engine.js +++ b/platform/javascript/engine.js @@ -5,7 +5,6 @@ (function() { var engine = Engine; - var USING_WASM = engine.USING_WASM; var DOWNLOAD_ATTEMPTS_MAX = 4; var basePath = null; @@ -34,7 +33,6 @@ var gameInitPromise = null; var unloadAfterInit = true; - var memorySize = 268435456; var progressFunc = null; var pckProgressTracker = {}; @@ -91,10 +89,6 @@ }); return {}; }; - } else if (initializer.asm && initializer.mem) { - rtenvOpts.asm = initializer.asm; - rtenvOpts.memoryInitializerRequest = initializer.mem; - rtenvOpts.TOTAL_MEMORY = memorySize; } else { throw new Error("Invalid initializer"); } @@ -190,10 +184,6 @@ canvas = elem; }; - this.setAsmjsMemorySize = function(size) { - memorySize = size; - }; - this.setUnloadAfterInit = function(enabled) { if (enabled && !unloadAfterInit && gameInitPromise) { @@ -236,22 +226,12 @@ if (newBasePath !== undefined) basePath = getBasePath(newBasePath); if (engineLoadPromise === null) { - if (USING_WASM) { - if (typeof WebAssembly !== 'object') - return Promise.reject(new Error("Browser doesn't support WebAssembly")); - // TODO cache/retrieve module to/from idb - engineLoadPromise = loadPromise(basePath + '.wasm').then(function(xhr) { - return xhr.response; - }); - } else { - var asmjsPromise = loadPromise(basePath + '.asm.js').then(function(xhr) { - return asmjsModulePromise(xhr.response); - }); - var memPromise = loadPromise(basePath + '.mem'); - engineLoadPromise = Promise.all([asmjsPromise, memPromise]).then(function(values) { - return { asm: values[0], mem: values[1] }; - }); - } + if (typeof WebAssembly !== 'object') + return Promise.reject(new Error("Browser doesn't support WebAssembly")); + // TODO cache/retrieve module to/from idb + engineLoadPromise = loadPromise(basePath + '.wasm').then(function(xhr) { + return xhr.response; + }); engineLoadPromise = engineLoadPromise.catch(function(err) { engineLoadPromise = null; throw err; @@ -260,33 +240,6 @@ return engineLoadPromise; }; - function asmjsModulePromise(module) { - var elem = document.createElement('script'); - var script = new Blob([ - 'Engine.asm = (function() { var Module = {};', - module, - 'return Module.asm; })();' - ]); - var url = URL.createObjectURL(script); - elem.src = url; - return new Promise(function(resolve, reject) { - elem.addEventListener('load', function() { - URL.revokeObjectURL(url); - var asm = Engine.asm; - Engine.asm = undefined; - setTimeout(function() { - // delay to reclaim compilation memory - resolve(asm); - }, 1); - }); - elem.addEventListener('error', function() { - URL.revokeObjectURL(url); - reject("asm.js faiilure"); - }); - document.body.appendChild(elem); - }); - } - Engine.unloadEngine = function() { engineLoadPromise = null; }; |