From ca73bccb77a474100d765a4022641c4975dc0180 Mon Sep 17 00:00:00 2001 From: Yiwen <15225434259xue@gmail.com> Date: Wed, 23 Aug 2023 09:47:40 +0800 Subject: [PATCH] Fix/meshopt wechat (#406) * fix wechat wasm.validation problem * fix wechat problems --- emscripten/meshopt/meshopt_decoder.d.ts | 42 ++++++++++++------- emscripten/meshopt/meshopt_decoder.wasm.js | 37 +++++----------- emscripten/meshopt/meshopt_decoder.wasm.wasm | Bin 0 -> 4895 bytes 3 files changed, 38 insertions(+), 41 deletions(-) create mode 100644 emscripten/meshopt/meshopt_decoder.wasm.wasm diff --git a/emscripten/meshopt/meshopt_decoder.d.ts b/emscripten/meshopt/meshopt_decoder.d.ts index 13f3405c..fecde5be 100644 --- a/emscripten/meshopt/meshopt_decoder.d.ts +++ b/emscripten/meshopt/meshopt_decoder.d.ts @@ -1,21 +1,35 @@ declare module 'external:emscripten/meshopt/meshopt_decoder.asm.js' { + namespace MeshoptDecoder { + const supported: boolean; + const ready: Promise; + + function decodeVertexBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array, filter?: string): void; + function decodeIndexBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array): void; + function decodeIndexSequence (target: Uint8Array, count: number, size: number, source: Uint8Array): void; + + function decodeGltfBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array, mode: string, filter?: string): void; + + function useWorkers (count: number): void; + function decodeGltfBufferAsync (count: number, size: number, source: Uint8Array, mode: string, filter?: string): Promise; + } + export default MeshoptDecoder; } declare module 'external:emscripten/meshopt/meshopt_decoder.wasm.js' { + namespace MeshoptDecoder { + const supported: boolean; + const ready: (instantiateWasm: any) => Promise; + + function decodeVertexBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array, filter?: string): void; + function decodeIndexBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array): void; + function decodeIndexSequence (target: Uint8Array, count: number, size: number, source: Uint8Array): void; + + function decodeGltfBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array, mode: string, filter?: string): void; + + function useWorkers (count: number): void; + function decodeGltfBufferAsync (count: number, size: number, source: Uint8Array, mode: string, filter?: string): Promise; + } + export default MeshoptDecoder; } - -declare namespace MeshoptDecoder { - const supported: boolean; - const ready: Promise; - - function decodeVertexBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array, filter?: string): void; - function decodeIndexBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array): void; - function decodeIndexSequence (target: Uint8Array, count: number, size: number, source: Uint8Array): void; - - function decodeGltfBuffer (target: Uint8Array, count: number, size: number, source: Uint8Array, mode: string, filter?: string): void; - - function useWorkers (count: number): void; - function decodeGltfBufferAsync (count: number, size: number, source: Uint8Array, mode: string, filter?: string): Promise; -} diff --git a/emscripten/meshopt/meshopt_decoder.wasm.js b/emscripten/meshopt/meshopt_decoder.wasm.js index be97c5b8..fc701362 100644 --- a/emscripten/meshopt/meshopt_decoder.wasm.js +++ b/emscripten/meshopt/meshopt_decoder.wasm.js @@ -3,37 +3,20 @@ var MeshoptDecoder = (function() { "use strict"; - // Built with clang version 16.0.0 - // Built from meshoptimizer 0.19 - var wasm = "b9H79TebbbeYl9Gbb9Gvuuuuueu9Geueu9Giuuueuirobeediiviebeoweuec:q;iekr9Evo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdl79IV9Rbiq;08Kodbk:yzeHu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz:ejjjbhwcj;abad9UhlaicefhodnadTmbalc;WFbGglcjdalcjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxdndndndnalc9WGgmTmbcbhPcehsawcjdfhzaohHinaraH9Rax6midnaraHaxfgo9RcK6mbczhlcbhOinalgic9WfgAawcj;cbffhldndndndndnaHaAco4fRbbaOcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgAco4gCaCciSgCE86bbawcj;cbfaifglcGfaoclfaCfgCRbbaAcl4ciGgXaXciSgXE86bbalcVfaCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc7faCaXfgCRbbaAciGgAaAciSgAE86bbalctfaCaAfgCRbbaoRbegAco4gXaXciSgXE86bbalc91faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc4faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc93faCaXfgCRbbaAciGgAaAciSgAE86bbalc94faCaAfgCRbbaoRbdgAco4gXaXciSgXE86bbalc95faCaXfgCRbbaAcl4ciGgXaXciSgXE86bbalc96faCaXfgCRbbaAcd4ciGgXaXciSgXE86bbalc97faCaXfgCRbbaAciGgAaAciSgAE86bbalc98faCaAfgARbbaoRbigoco4gCaCciSgCE86bbalc99faAaCfgARbbaocl4ciGgCaCciSgCE86bbalc9:faAaCfgARbbaocd4ciGgCaCciSgCE86bbalcufaAaCfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgAcl4gCaCcsSgCE86bbawcj;cbfaifglcGfaocwfaCfgCRbbaAcsGgAaAcsSgAE86bbalcVfaCaAfgARbbaoRbegCcl4gXaXcsSgXE86bbalc7faAaXfgARbbaCcsGgCaCcsSgCE86bbalctfaAaCfgARbbaoRbdgCcl4gXaXcsSgXE86bbalc91faAaXfgARbbaCcsGgCaCcsSgCE86bbalc4faAaCfgARbbaoRbigCcl4gXaXcsSgXE86bbalc93faAaXfgARbbaCcsGgCaCcsSgCE86bbalc94faAaCfgARbbaoRblgCcl4gXaXcsSgXE86bbalc95faAaXfgARbbaCcsGgCaCcsSgCE86bbalc96faAaCfgARbbaoRbvgCcl4gXaXcsSgXE86bbalc97faAaXfgARbbaCcsGgCaCcsSgCE86bbalc98faAaCfgARbbaoRbogCcl4gXaXcsSgXE86bbalc99faAaXfgARbbaCcsGgCaCcsSgCE86bbalc9:faAaCfgARbbaoRbrgocl4gCaCcsSgCE86bbalcufaAaCfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaOcdfhOaiczfhlarao9RcL0mekkaiam6miaoTmidnakTmbawaPfRbbhOawcj;cbfhlazhiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkkazcefhzaPcefgPad6hsaohHaPad9hmexvkkcbhoasceGmdxikaoaxad2fhXdnakTmbcbhmcehsawcjdfhCinarao9Rax6miaoTmdaoaxfhoawamfRbbhOawcj;cbfhlaChiakhAinaialRbbgHce4cbaHceG9R7aOfgO86bbaiadfhialcefhlaAcufgAmbkaCcefhCamcefgmad6hsamad9hmbkaXhoxikcbhlcehsinarao9Rax6mdaoTmeaoaxfhoalcefglad6hsadal9hmbkaXhoxdkcbhoasceGTmekc9:hoxikabaqad2fawcjdfakad2z:ejjjb8Aawawcjdfakcufad2fadz:ejjjb8Aakaqfhqaombkc9:hoxekcbc99arao9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;xzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:fjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhrcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgDc;Ve0mbavc;abfalaDcu7gPcl4fcsGcitfgsydlhzasydbhHdnaDcsGgDak9pmbavaiaPfcsGcdtfydbaxaDEhsaDThDdndnadcd9hmbabarcetfgPaH87ebaPcdfaz87ebaPclfas87ebxekabarcdtfgPaHBdbaPclfazBdbaPcwfasBdbkaxaDfhxavc;abfalcitfgPasBdbaPazBdlavaicdtfasBdbavc;abfalcefcsGglcitfgPaHBdbaPasBdlaiaDfhialcefhlxdkdndnaDcsSmbamaDfaDc987fcefhmxekaocefhDao8SbbgscFeGhPdndnascu9mmbaDhoxekaocvfhoaPcFbGhPcrhsdninaD8SbbgOcFbGastaPVhPaOcu9kmeaDcefhDascrfgsc8J9hmbxdkkaDcefhokaPce4cbaPceG9R7amfhmkdndnadcd9hmbabarcetfgDaH87ebaDcdfaz87ebaDclfam87ebxekabarcdtfgDaHBdbaDclfazBdbaDcwfamBdbkavc;abfalcitfgDamBdbaDazBdlavaicdtfamBdbavc;abfalcefcsGglcitfgDaHBdbaDamBdlaicefhialcefhlxekdnaDcpe0mbaxcefgOavaiaqaDcsGfRbbgscl49RcsGcdtfydbascz6gPEhDavaias9RcsGcdtfydbaOaPfgzascsGgOEhsaOThOdndnadcd9hmbabarcetfgHax87ebaHcdfaD87ebaHclfas87ebxekabarcdtfgHaxBdbaHclfaDBdbaHcwfasBdbkavaicdtfaxBdbavc;abfalcitfgHaDBdbaHaxBdlavaicefgicsGcdtfaDBdbavc;abfalcefcsGcitfgHasBdbaHaDBdlavaiaPfcsGgicdtfasBdbavc;abfalcdfcsGglcitfgDaxBdbaDasBdlalcefhlaiaOfhiazaOfhxxekaxcbaoRbbgHEgAaDc;:eSgDfhzaHcsGhCaHcl4hXdndnaHcs0mbazcefhOxekazhOavaiaX9RcsGcdtfydbhzkdndnaCmbaOcefhxxekaOhxavaiaH9RcsGcdtfydbhOkdndnaDTmbaocefhDxekaocdfhDao8SbegPcFeGhsdnaPcu9kmbaocofhAascFbGhscrhodninaD8SbbgPcFbGaotasVhsaPcu9kmeaDcefhDaocrfgoc8J9hmbkaAhDxekaDcefhDkasce4cbasceG9R7amfgmhAkdndnaXcsSmbaDhsxekaDcefhsaD8SbbgocFeGhPdnaocu9kmbaDcvfhzaPcFbGhPcrhodninas8SbbgDcFbGaotaPVhPaDcu9kmeascefhsaocrfgoc8J9hmbkazhsxekascefhskaPce4cbaPceG9R7amfgmhzkdndnaCcsSmbashoxekascefhoas8SbbgDcFeGhPdnaDcu9kmbascvfhOaPcFbGhPcrhDdninao8SbbgscFbGaDtaPVhPascu9kmeaocefhoaDcrfgDc8J9hmbkaOhoxekaocefhokaPce4cbaPceG9R7amfgmhOkdndnadcd9hmbabarcetfgDaA87ebaDcdfaz87ebaDclfaO87ebxekabarcdtfgDaABdbaDclfazBdbaDcwfaOBdbkavc;abfalcitfgDazBdbaDaABdlavaicdtfaABdbavc;abfalcefcsGcitfgDaOBdbaDazBdlavaicefgicsGcdtfazBdbavc;abfalcdfcsGcitfgDaABdbaDaOBdlavaiaHcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiarcifgrae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb"; - var wasmpack = new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]); - - if (typeof WebAssembly !== 'object') { - return { - supported: false, - }; - } - var instance; + var supported = false; - var ready = - WebAssembly.instantiate(unpack(wasm), {}) - .then(function(result) { + var ready = (instantiateWasm = {}) => { + + if (typeof instantiateWasm !== 'function') { + return Promise.reject(new Error('No wasm support detected')); + } + + return instantiateWasm().then(function(result) { + supported = true; instance = result.instance; instance.exports.__wasm_call_ctors(); }); - - function unpack(data) { - var result = new Uint8Array(data.length); - for (var i = 0; i < data.length; ++i) { - var ch = data.charCodeAt(i); - result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4; - } - var write = 0; - for (var i = 0; i < data.length; ++i) { - result[write++] = (result[i] < 60) ? wasmpack[result[i]] : (result[i] - 60) * 64 + result[++i]; - } - return result.buffer.slice(0, write); } function decode(fun, target, count, size, source, filter) { @@ -140,7 +123,7 @@ var MeshoptDecoder = (function() { return { ready: ready, - supported: true, + supported: supported, useWorkers: function(count) { initWorkers(count); }, diff --git a/emscripten/meshopt/meshopt_decoder.wasm.wasm b/emscripten/meshopt/meshopt_decoder.wasm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..12d0776ec13e7a8dc9b7faf60e852e47b69c0c92 GIT binary patch literal 4895 zcmbtY&u`>N6|Qo*-R-#DcDp-bnOvT|a~LE>;K z*=UOSH zzZ*VQ>hWOBAH9C8`Omnu8AeL$z?gy2N=GBSvVZ)WPKLi2M9 z|K)0-%-+B6MuAHHlxF-xv!M{vwoN= z8Hkavu7(mUB*?#}d^xgL*GhsHWhe%6UcnK-q5bBKT2`UG3b4KkP7cc0s&da9%AV+t zQZ2D)*<0W)u0@|5REf=M;KNI6Y8zaZhfv{n5JPvCwL~_oWnNcvs-HOr zm({-PQ()f-gmwjl?01-e7HnhA`xpRbPzNQmM#%*MvqlLF)ZVtOtv>CmVZ3i_b=k-4 zH0QHE=B7EHZ0JU)D0?VR=+@ zSiRE??N@z_H)jj8ZZM(SjUkRe1RPf64@)8>%Q$GLG@?PIQs}9a{a-4L;6+E1%u@j9 zmI97Ppg`-SuIAK93INrz4NRJmZ4NcJP($mxO+yPNZA9U|3U;ailWtc78uiqeooYa& z+tq+bJvHG@H6YUMYQUnNn!!#r;L+`Bz@wg;Xr~&-quWB4YlzJc3W}yORR5$mL%|W#!I7InQKSF6PENW+gdX48H3MOjhcOIoWNeDm{ zmFUQo(u8$wffR3!DYEPm!hr;RzV}!1_-u=5QS&oA5f_=mK-s z0V3Z4XnQ~jxD4CVZQJMH%623POrHz3udCFXj>|*1CHqKcL(}1KnQhnvbB_mgNUIU$2^kVw1&>!JDgCEqAVC@_49XQuKBS#2nTJjyB_Udv^B3R|rK%25( zx`Re@7ydmuI6eR;WWWKS_U&Jybs-c~3O$XJ;exsN6A8tk%v6#eG zV|;+}YgOAf+Ft4W_na2);L!*5gEiaf!2Y0H-RoA;t={QYdAp+ENCsY>qX_yr{4|W{ zNQQp+&?HD|Gl3ECkx?Bx!l-hHtHEDrFj(L`_I?Vek26OB8IjAe{nuOL(dT2kKCdRo z%o?6qb5U2>y&wdAaZ%+IVzF~s5~dbMq=`cY7c~H2ZhQcK$46!C_6RK5B1(obH;KaQ`J^>rjBr5UG z+>yAHq|q(hYbOFz9QCzXi~i)ShKt9rI_0Pq+t=qc(;%gZ5m&K9-$&>&ob|GtIEl=z ze*%dZEOw{?^KoJ^5@LcImRWF!42daK@S$WEGFg=q)TZ^1kt{eos?F>W@wV?GWH2T1 zk3n0M4i+3-Sa4F<;_cjuZtSBQchQX*!E`ISKryE7or`YF0-Cz$w((+EWA_YWYcH(C zb1DIHrxs-@;J`voI8}X2I+5a)BG39f_3L{G^&-h<3ni z^Hl-LRUjnyF37gxs4RA|4U;iBHf20wzuLhzpy<<-v5NhwV_Qomhu93xw1HCAa}G|K z#(w{R80>sC&%`` z`nUqMb2yeQQN!WiC0hzk0#8`4Twf|Eo1@(^mG?KoT;`r*b07=S)9q3)_kf&kB8w(# z*gt)O_#{9-bg80IP?##n0&p0FCk*r83}?s;0qyxgs?89WHWFP(w!+~$fi6QLW=P~R zB#~Jeb0eQT36!}kVIy@}Ql;h0TgG7!o5p3<;ZdWQjZvG!u*ew}Tcj?Vb(^~0u#Di? zr7jF}sf$X<)Wvo+%^NzX#!Ey-k`}s9>`UZDyJ)V6Bi#8kcEKHH9GSGi{1`;yx6tHuBVI zHZnhQp9WUG5g3eb35E@XXas|iJS=Cp7_=vR#vS6*JLft#WT30Ilf|{J@4D|5Fj)Ld zn>F66d%@KoFbGsy6hGy^Ue=X*&p&gSsD6Zx>=#wQ&b-D3_-bKc-@E}dzdXdFV~j?k zOAJOP`KQ);?WCY>WzCZ5h7J!(H^nb!OZHEA0XvLn6jR2}u)Jyf>+VtHG%A00Kj!_o zz1N(UHNG^*>E;^LqdQ literal 0 HcmV?d00001