libpag 4.5.46 → 4.5.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +1 -1
- package/lib/libpag.cjs.js +322 -601
- package/lib/libpag.cjs.js.map +1 -1
- package/lib/libpag.esm.js +322 -601
- package/lib/libpag.esm.js.map +1 -1
- package/lib/libpag.min.js +1 -1
- package/lib/libpag.min.js.map +1 -1
- package/lib/libpag.umd.js +322 -601
- package/lib/libpag.umd.js.map +1 -1
- package/lib/libpag.wasm +0 -0
- package/package.json +1 -1
- package/src/.pag.wasm-mt.md5 +1 -1
- package/src/.pag.wasm.md5 +1 -1
- package/src/core/global-canvas.ts +2 -2
- package/src/core/render-canvas.ts +3 -3
- package/src/core/video-reader.ts +62 -26
- package/src/pag-player.ts +2 -2
- package/src/pag-view.ts +1 -1
- package/src/types.ts +1 -1
- package/src/video-reader-manager.ts +2 -1
- package/src/wasm/libpag.js +1 -1
- package/src/wasm/libpag.wasm +0 -0
- package/src/wasm-mt/libpag.js +1 -1
- package/src/wasm-mt/libpag.wasm +0 -0
- package/src/wechat/pag-view.ts +4 -1
- package/src/wechat/video-reader.ts +19 -6
- package/types/third_party/tgfx/web/src/core/scaler-context.d.ts +6 -0
- package/types/third_party/tgfx/web/src/tgfx.d.ts +3 -2
- package/types/third_party/tgfx/web/src/types.d.ts +6 -0
- package/types/web/src/core/video-reader.d.ts +2 -0
package/lib/libpag.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Tencent is pleased to support the open source community by making libpag available.
|
|
4
4
|
//
|
|
5
|
-
// Copyright (C)
|
|
5
|
+
// Copyright (C) 2026 Tencent. All rights reserved.
|
|
6
6
|
//
|
|
7
7
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
|
|
8
8
|
// except in compliance with the License. You may obtain a copy of the License at
|
|
@@ -884,6 +884,8 @@ let VideoReaderManager = class {
|
|
|
884
884
|
}
|
|
885
885
|
async prepareTargetFrame() {
|
|
886
886
|
for (const id of this.videoIDs) {
|
|
887
|
+
if (this.isDestroyed)
|
|
888
|
+
return;
|
|
887
889
|
const targetFrame = this.wasmIns._getTargetFrameByID(id);
|
|
888
890
|
if (targetFrame < 0) {
|
|
889
891
|
continue;
|
|
@@ -957,7 +959,7 @@ let PAGPlayer = class {
|
|
|
957
959
|
for (const videoReader of this.videoReaders) {
|
|
958
960
|
const error = await videoReader.getError();
|
|
959
961
|
if (error !== null) {
|
|
960
|
-
|
|
962
|
+
console.warn("[PAGPlayer] VideoReader error:", error);
|
|
961
963
|
}
|
|
962
964
|
}
|
|
963
965
|
return res;
|
|
@@ -1335,12 +1337,12 @@ class RenderCanvas {
|
|
|
1335
1337
|
this._glContext = null;
|
|
1336
1338
|
this.retainCount = 0;
|
|
1337
1339
|
this._canvas = canvas;
|
|
1338
|
-
const gl = canvas.getContext("
|
|
1340
|
+
const gl = canvas.getContext("webgl2", {
|
|
1339
1341
|
...WEBGL_CONTEXT_ATTRIBUTES,
|
|
1340
1342
|
...contextAttributes
|
|
1341
1343
|
});
|
|
1342
1344
|
if (!gl)
|
|
1343
|
-
throw new Error("Canvas context is not
|
|
1345
|
+
throw new Error("Canvas context is not WebGL2!");
|
|
1344
1346
|
this._glContext = BackendContext.from(gl);
|
|
1345
1347
|
}
|
|
1346
1348
|
static from(canvas, contextAttributes) {
|
|
@@ -1761,7 +1763,7 @@ let PAGView = class {
|
|
|
1761
1763
|
this.debugData = { ...this.debugData, ...data };
|
|
1762
1764
|
}
|
|
1763
1765
|
async flushLoop(force = false) {
|
|
1764
|
-
if (!this.isPlaying) {
|
|
1766
|
+
if (!this.isPlaying || this.isDestroyed) {
|
|
1765
1767
|
return;
|
|
1766
1768
|
}
|
|
1767
1769
|
this.setTimer();
|
|
@@ -2037,6 +2039,7 @@ let VideoReader = class {
|
|
|
2037
2039
|
this.bitmapCtx = null;
|
|
2038
2040
|
this.currentFrame = -1;
|
|
2039
2041
|
this.targetFrame = -1;
|
|
2042
|
+
this.visibilityHandle = null;
|
|
2040
2043
|
if (isInstanceOf$1(source, globalThis.HTMLVideoElement)) {
|
|
2041
2044
|
this.videoEl = source;
|
|
2042
2045
|
this.canplay = true;
|
|
@@ -2071,10 +2074,10 @@ let VideoReader = class {
|
|
|
2071
2074
|
return new VideoReader(source, width, height, frameRate, staticTimeRanges);
|
|
2072
2075
|
}
|
|
2073
2076
|
async prepare(targetFrame, playbackRate) {
|
|
2074
|
-
if (targetFrame === this.currentFrame) {
|
|
2077
|
+
if (this.isDestroyed || targetFrame === this.currentFrame) {
|
|
2075
2078
|
return;
|
|
2076
2079
|
}
|
|
2077
|
-
const promise = new Promise(async (resolve
|
|
2080
|
+
const promise = new Promise(async (resolve) => {
|
|
2078
2081
|
this.setError(null);
|
|
2079
2082
|
this.isSought = false;
|
|
2080
2083
|
const { currentTime } = this.videoEl;
|
|
@@ -2089,12 +2092,14 @@ let VideoReader = class {
|
|
|
2089
2092
|
} catch (e) {
|
|
2090
2093
|
this.setError(e);
|
|
2091
2094
|
this.currentFrame = targetFrame;
|
|
2092
|
-
|
|
2095
|
+
resolve();
|
|
2093
2096
|
return;
|
|
2094
2097
|
}
|
|
2095
2098
|
await new Promise((resolveInner) => {
|
|
2096
2099
|
requestAnimationFrame(() => {
|
|
2097
|
-
this.
|
|
2100
|
+
if (!this.isDestroyed) {
|
|
2101
|
+
this.pause();
|
|
2102
|
+
}
|
|
2098
2103
|
resolveInner();
|
|
2099
2104
|
});
|
|
2100
2105
|
});
|
|
@@ -2113,6 +2118,10 @@ let VideoReader = class {
|
|
|
2113
2118
|
return;
|
|
2114
2119
|
}
|
|
2115
2120
|
}
|
|
2121
|
+
if (this.isDestroyed || !this.videoEl) {
|
|
2122
|
+
resolve();
|
|
2123
|
+
return;
|
|
2124
|
+
}
|
|
2116
2125
|
const targetPlaybackRate = Math.min(Math.max(playbackRate, VIDEO_PLAYBACK_RATE_MIN), VIDEO_PLAYBACK_RATE_MAX);
|
|
2117
2126
|
if (!this.disablePlaybackRate && this.videoEl.playbackRate !== targetPlaybackRate) {
|
|
2118
2127
|
this.videoEl.playbackRate = targetPlaybackRate;
|
|
@@ -2123,7 +2132,7 @@ let VideoReader = class {
|
|
|
2123
2132
|
} catch (e) {
|
|
2124
2133
|
this.setError(e);
|
|
2125
2134
|
this.currentFrame = targetFrame;
|
|
2126
|
-
|
|
2135
|
+
resolve();
|
|
2127
2136
|
return;
|
|
2128
2137
|
}
|
|
2129
2138
|
}
|
|
@@ -2145,14 +2154,21 @@ let VideoReader = class {
|
|
|
2145
2154
|
await getWechatNetwork();
|
|
2146
2155
|
}
|
|
2147
2156
|
if (document.visibilityState !== "visible") {
|
|
2148
|
-
|
|
2157
|
+
this.clearVisibilityListener();
|
|
2158
|
+
this.visibilityHandle = () => {
|
|
2159
|
+
if (this.isDestroyed) {
|
|
2160
|
+
this.clearVisibilityListener();
|
|
2161
|
+
return;
|
|
2162
|
+
}
|
|
2149
2163
|
if (document.visibilityState === "visible") {
|
|
2150
2164
|
if (this.videoEl)
|
|
2151
|
-
this.videoEl.play()
|
|
2152
|
-
|
|
2165
|
+
this.videoEl.play().catch((e) => {
|
|
2166
|
+
this.setError(e);
|
|
2167
|
+
});
|
|
2168
|
+
this.clearVisibilityListener();
|
|
2153
2169
|
}
|
|
2154
2170
|
};
|
|
2155
|
-
window.addEventListener("visibilitychange", visibilityHandle);
|
|
2171
|
+
window.addEventListener("visibilitychange", this.visibilityHandle);
|
|
2156
2172
|
throw new Error("The play() request was interrupted because the document was hidden!");
|
|
2157
2173
|
}
|
|
2158
2174
|
await this.videoEl?.play();
|
|
@@ -2173,16 +2189,19 @@ let VideoReader = class {
|
|
|
2173
2189
|
return this.error;
|
|
2174
2190
|
}
|
|
2175
2191
|
onDestroy() {
|
|
2192
|
+
this.isDestroyed = true;
|
|
2176
2193
|
if (this.player) {
|
|
2177
2194
|
this.player.unlinkVideoReader(this);
|
|
2178
2195
|
this.player = null;
|
|
2179
2196
|
}
|
|
2197
|
+
this.clearVisibilityListener();
|
|
2180
2198
|
removeAllListeners(this.videoEl, "playing");
|
|
2181
2199
|
removeAllListeners(this.videoEl, "timeupdate");
|
|
2200
|
+
removeAllListeners(this.videoEl, "seeked");
|
|
2201
|
+
removeAllListeners(this.videoEl, "canplay");
|
|
2182
2202
|
this.videoEl = null;
|
|
2183
2203
|
this.bitmapCanvas = null;
|
|
2184
2204
|
this.bitmapCtx = null;
|
|
2185
|
-
this.isDestroyed = true;
|
|
2186
2205
|
}
|
|
2187
2206
|
seek(targetTime, play = true) {
|
|
2188
2207
|
return new Promise((resolve, reject) => {
|
|
@@ -2191,29 +2210,42 @@ let VideoReader = class {
|
|
|
2191
2210
|
return;
|
|
2192
2211
|
}
|
|
2193
2212
|
const onSeeked = () => {
|
|
2213
|
+
if (!this.videoEl || this.isDestroyed) {
|
|
2214
|
+
clearTimeout(seekTimeout);
|
|
2215
|
+
resolve();
|
|
2216
|
+
return;
|
|
2217
|
+
}
|
|
2194
2218
|
removeListener(this.videoEl, "seeked", onSeeked);
|
|
2195
2219
|
clearTimeout(seekTimeout);
|
|
2196
2220
|
if (play) {
|
|
2197
2221
|
if (this.videoEl.ended) {
|
|
2198
2222
|
this.videoEl.currentTime = this.videoEl.currentTime;
|
|
2199
2223
|
}
|
|
2200
|
-
this.videoEl
|
|
2224
|
+
this.videoEl.play().catch((e) => {
|
|
2201
2225
|
this.setError(e);
|
|
2202
2226
|
});
|
|
2203
2227
|
} else if (!play && !this.videoEl.paused) {
|
|
2204
|
-
this.videoEl
|
|
2228
|
+
this.videoEl.pause();
|
|
2205
2229
|
}
|
|
2206
2230
|
resolve();
|
|
2207
2231
|
};
|
|
2208
2232
|
const onCanPlay = () => {
|
|
2233
|
+
if (!this.videoEl || this.isDestroyed) {
|
|
2234
|
+
clearTimeout(seekTimeout);
|
|
2235
|
+
resolve();
|
|
2236
|
+
return;
|
|
2237
|
+
}
|
|
2209
2238
|
removeListener(this.videoEl, "canplay", onCanPlay);
|
|
2210
2239
|
this.videoEl.currentTime = targetTime;
|
|
2211
2240
|
addListener(this.videoEl, "seeked", onSeeked);
|
|
2212
2241
|
};
|
|
2213
2242
|
const seekTimeout = setTimeout(() => {
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2243
|
+
if (this.videoEl) {
|
|
2244
|
+
removeListener(this.videoEl, "canplay", onCanPlay);
|
|
2245
|
+
removeListener(this.videoEl, "seeked", onSeeked);
|
|
2246
|
+
}
|
|
2247
|
+
this.setError("Seek operation timed out.");
|
|
2248
|
+
resolve();
|
|
2217
2249
|
}, 1e3 / this.frameRate * VIDEO_DECODE_SEEK_TIMEOUT_FRAME);
|
|
2218
2250
|
if (this.videoEl.readyState < HTMLMediaElement.HAVE_FUTURE_DATA) {
|
|
2219
2251
|
addListener(this.videoEl, "canplay", onCanPlay);
|
|
@@ -2226,6 +2258,12 @@ let VideoReader = class {
|
|
|
2226
2258
|
setError(e) {
|
|
2227
2259
|
this.error = e;
|
|
2228
2260
|
}
|
|
2261
|
+
clearVisibilityListener() {
|
|
2262
|
+
if (this.visibilityHandle) {
|
|
2263
|
+
window.removeEventListener("visibilitychange", this.visibilityHandle);
|
|
2264
|
+
this.visibilityHandle = null;
|
|
2265
|
+
}
|
|
2266
|
+
}
|
|
2229
2267
|
linkPlayer(player) {
|
|
2230
2268
|
this.player = player;
|
|
2231
2269
|
if (player) {
|
|
@@ -2269,9 +2307,9 @@ class GlobalCanvas {
|
|
|
2269
2307
|
}
|
|
2270
2308
|
this._canvas.width = this.width;
|
|
2271
2309
|
this._canvas.height = this.height;
|
|
2272
|
-
const gl = this._canvas.getContext("
|
|
2310
|
+
const gl = this._canvas.getContext("webgl2", WEBGL_CONTEXT_ATTRIBUTES);
|
|
2273
2311
|
if (!gl)
|
|
2274
|
-
throw new Error("Canvas context is not
|
|
2312
|
+
throw new Error("Canvas context is not WebGL2!");
|
|
2275
2313
|
this._glContext = BackendContext.from(gl);
|
|
2276
2314
|
}
|
|
2277
2315
|
this.retainCount += 1;
|
|
@@ -2469,6 +2507,23 @@ class BitmapImage {
|
|
|
2469
2507
|
}
|
|
2470
2508
|
}
|
|
2471
2509
|
|
|
2510
|
+
var MatrixIndex = /* @__PURE__ */ ((MatrixIndex2) => {
|
|
2511
|
+
MatrixIndex2[MatrixIndex2["a"] = 0] = "a";
|
|
2512
|
+
MatrixIndex2[MatrixIndex2["c"] = 1] = "c";
|
|
2513
|
+
MatrixIndex2[MatrixIndex2["tx"] = 2] = "tx";
|
|
2514
|
+
MatrixIndex2[MatrixIndex2["b"] = 3] = "b";
|
|
2515
|
+
MatrixIndex2[MatrixIndex2["d"] = 4] = "d";
|
|
2516
|
+
MatrixIndex2[MatrixIndex2["ty"] = 5] = "ty";
|
|
2517
|
+
return MatrixIndex2;
|
|
2518
|
+
})(MatrixIndex || {});
|
|
2519
|
+
var WindowColorSpace = /* @__PURE__ */ ((WindowColorSpace2) => {
|
|
2520
|
+
WindowColorSpace2[WindowColorSpace2["None"] = 0] = "None";
|
|
2521
|
+
WindowColorSpace2[WindowColorSpace2["SRGB"] = 1] = "SRGB";
|
|
2522
|
+
WindowColorSpace2[WindowColorSpace2["DisplayP3"] = 2] = "DisplayP3";
|
|
2523
|
+
WindowColorSpace2[WindowColorSpace2["Others"] = 3] = "Others";
|
|
2524
|
+
return WindowColorSpace2;
|
|
2525
|
+
})(WindowColorSpace || {});
|
|
2526
|
+
|
|
2472
2527
|
const createImage = (source) => {
|
|
2473
2528
|
return new Promise((resolve) => {
|
|
2474
2529
|
const image = new Image();
|
|
@@ -2520,20 +2575,60 @@ const getSourceSize = (source) => {
|
|
|
2520
2575
|
}
|
|
2521
2576
|
return { width: source.width, height: source.height };
|
|
2522
2577
|
};
|
|
2523
|
-
|
|
2578
|
+
let syncCanvas = null;
|
|
2579
|
+
let syncCtx = null;
|
|
2580
|
+
const syncVideoFrame = (video) => {
|
|
2581
|
+
if (!syncCanvas) {
|
|
2582
|
+
syncCanvas = document.createElement("canvas");
|
|
2583
|
+
syncCanvas.width = 1;
|
|
2584
|
+
syncCanvas.height = 1;
|
|
2585
|
+
syncCtx = syncCanvas.getContext("2d");
|
|
2586
|
+
if (!syncCtx) {
|
|
2587
|
+
syncCanvas = null;
|
|
2588
|
+
return;
|
|
2589
|
+
}
|
|
2590
|
+
}
|
|
2591
|
+
if (!syncCtx) {
|
|
2592
|
+
syncCanvas = null;
|
|
2593
|
+
return;
|
|
2594
|
+
}
|
|
2595
|
+
syncCtx.drawImage(video, 0, 0, 1, 1);
|
|
2596
|
+
};
|
|
2597
|
+
const uploadToTexture = (GL, source, textureID, offsetX, offsetY, alphaOnly) => {
|
|
2524
2598
|
let renderSource = source instanceof BitmapImage ? source.bitmap : source;
|
|
2525
2599
|
if (!renderSource)
|
|
2526
2600
|
return;
|
|
2601
|
+
if (isInstanceOf(renderSource, globalThis.HTMLVideoElement)) {
|
|
2602
|
+
syncVideoFrame(renderSource);
|
|
2603
|
+
}
|
|
2527
2604
|
const gl = GL.currentContext?.GLctx;
|
|
2528
2605
|
gl.bindTexture(gl.TEXTURE_2D, GL.textures[textureID]);
|
|
2606
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
|
|
2529
2607
|
if (alphaOnly) {
|
|
2530
2608
|
gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);
|
|
2531
|
-
gl.texSubImage2D(gl.TEXTURE_2D, 0,
|
|
2609
|
+
gl.texSubImage2D(gl.TEXTURE_2D, 0, offsetX, offsetY, gl.RED, gl.UNSIGNED_BYTE, renderSource);
|
|
2532
2610
|
} else {
|
|
2533
2611
|
gl.pixelStorei(gl.UNPACK_ALIGNMENT, 4);
|
|
2534
|
-
gl.
|
|
2535
|
-
|
|
2536
|
-
|
|
2612
|
+
gl.texSubImage2D(gl.TEXTURE_2D, 0, offsetX, offsetY, gl.RGBA, gl.UNSIGNED_BYTE, renderSource);
|
|
2613
|
+
}
|
|
2614
|
+
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
|
|
2615
|
+
};
|
|
2616
|
+
const setColorSpace = (GL, colorSpace) => {
|
|
2617
|
+
if (colorSpace === WindowColorSpace.Others) {
|
|
2618
|
+
return false;
|
|
2619
|
+
}
|
|
2620
|
+
const gl = GL.currentContext?.GLctx;
|
|
2621
|
+
if ("drawingBufferColorSpace" in gl) {
|
|
2622
|
+
if (colorSpace === WindowColorSpace.None || colorSpace === WindowColorSpace.SRGB) {
|
|
2623
|
+
gl.drawingBufferColorSpace = "srgb";
|
|
2624
|
+
} else {
|
|
2625
|
+
gl.drawingBufferColorSpace = "display-p3";
|
|
2626
|
+
}
|
|
2627
|
+
return true;
|
|
2628
|
+
} else if (colorSpace === WindowColorSpace.DisplayP3) {
|
|
2629
|
+
return false;
|
|
2630
|
+
} else {
|
|
2631
|
+
return true;
|
|
2537
2632
|
}
|
|
2538
2633
|
};
|
|
2539
2634
|
const isAndroidMiniprogram = () => {
|
|
@@ -2561,6 +2656,7 @@ var tgfx = /*#__PURE__*/Object.freeze({
|
|
|
2561
2656
|
hasWebpSupport: hasWebpSupport,
|
|
2562
2657
|
getSourceSize: getSourceSize,
|
|
2563
2658
|
uploadToTexture: uploadToTexture,
|
|
2659
|
+
setColorSpace: setColorSpace,
|
|
2564
2660
|
isAndroidMiniprogram: isAndroidMiniprogram,
|
|
2565
2661
|
releaseNativeImage: releaseNativeImage,
|
|
2566
2662
|
getBytesFromPath: getBytesFromPath,
|
|
@@ -2584,16 +2680,6 @@ function destroyVerify(constructor) {
|
|
|
2584
2680
|
functions.forEach((name) => proxyFn(constructor.prototype, name));
|
|
2585
2681
|
}
|
|
2586
2682
|
|
|
2587
|
-
var MatrixIndex = /* @__PURE__ */ ((MatrixIndex2) => {
|
|
2588
|
-
MatrixIndex2[MatrixIndex2["a"] = 0] = "a";
|
|
2589
|
-
MatrixIndex2[MatrixIndex2["c"] = 1] = "c";
|
|
2590
|
-
MatrixIndex2[MatrixIndex2["tx"] = 2] = "tx";
|
|
2591
|
-
MatrixIndex2[MatrixIndex2["b"] = 3] = "b";
|
|
2592
|
-
MatrixIndex2[MatrixIndex2["d"] = 4] = "d";
|
|
2593
|
-
MatrixIndex2[MatrixIndex2["ty"] = 5] = "ty";
|
|
2594
|
-
return MatrixIndex2;
|
|
2595
|
-
})(MatrixIndex || {});
|
|
2596
|
-
|
|
2597
2683
|
var __defProp$1 = Object.defineProperty;
|
|
2598
2684
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
2599
2685
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
@@ -2855,6 +2941,31 @@ const _ScalerContext = class {
|
|
|
2855
2941
|
}
|
|
2856
2942
|
return new Uint8Array(data);
|
|
2857
2943
|
}
|
|
2944
|
+
getGlyphCanvas(text, bounds, fauxBold, stroke, padding = 0) {
|
|
2945
|
+
const glyphWidth = bounds.right - bounds.left;
|
|
2946
|
+
const glyphHeight = bounds.bottom - bounds.top;
|
|
2947
|
+
if (glyphWidth <= 0 || glyphHeight <= 0) {
|
|
2948
|
+
return null;
|
|
2949
|
+
}
|
|
2950
|
+
const width = glyphWidth + 2 * padding;
|
|
2951
|
+
const height = glyphHeight + 2 * padding;
|
|
2952
|
+
const canvas = getCanvas2D(width, height);
|
|
2953
|
+
const context = canvas.getContext("2d");
|
|
2954
|
+
context.clearRect(0, 0, width, height);
|
|
2955
|
+
context.font = this.fontString(fauxBold, false);
|
|
2956
|
+
if (stroke) {
|
|
2957
|
+
context.strokeStyle = "#FFFFFF";
|
|
2958
|
+
context.lineJoin = _ScalerContext.getLineJoin(stroke.join);
|
|
2959
|
+
context.miterLimit = stroke.miterLimit;
|
|
2960
|
+
context.lineCap = _ScalerContext.getLineCap(stroke.cap);
|
|
2961
|
+
context.lineWidth = stroke.width;
|
|
2962
|
+
context.strokeText(text, -bounds.left + padding, -bounds.top + padding);
|
|
2963
|
+
} else {
|
|
2964
|
+
context.fillStyle = "#FFFFFF";
|
|
2965
|
+
context.fillText(text, -bounds.left + padding, -bounds.top + padding);
|
|
2966
|
+
}
|
|
2967
|
+
return canvas;
|
|
2968
|
+
}
|
|
2858
2969
|
loadCanvas() {
|
|
2859
2970
|
if (!_ScalerContext.canvas) {
|
|
2860
2971
|
_ScalerContext.setCanvas(getCanvas2D(10, 10));
|
|
@@ -2927,7 +3038,7 @@ const TGFXBind = (module) => {
|
|
|
2927
3038
|
setTGFXModule(module);
|
|
2928
3039
|
module.module = module;
|
|
2929
3040
|
module.ScalerContext = ScalerContext;
|
|
2930
|
-
module.
|
|
3041
|
+
module.PathRasterizer = PathRasterizer;
|
|
2931
3042
|
module.Matrix = Matrix;
|
|
2932
3043
|
module.tgfx = { ...tgfx };
|
|
2933
3044
|
};
|
|
@@ -3037,7 +3148,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3037
3148
|
runtimeInitialized = true;
|
|
3038
3149
|
if (!Module["noFSInit"] && !FS.initialized)
|
|
3039
3150
|
FS.init();
|
|
3040
|
-
wasmExports["
|
|
3151
|
+
wasmExports["Tb"]();
|
|
3041
3152
|
FS.ignorePermissions = false;
|
|
3042
3153
|
}
|
|
3043
3154
|
function postRun() {
|
|
@@ -3115,9 +3226,9 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3115
3226
|
async function createWasm() {
|
|
3116
3227
|
function receiveInstance(instance, module) {
|
|
3117
3228
|
wasmExports = instance.exports;
|
|
3118
|
-
wasmMemory = wasmExports["
|
|
3229
|
+
wasmMemory = wasmExports["Sb"];
|
|
3119
3230
|
updateMemoryViews();
|
|
3120
|
-
wasmTable = wasmExports["
|
|
3231
|
+
wasmTable = wasmExports["Vb"];
|
|
3121
3232
|
assignWasmExports(wasmExports);
|
|
3122
3233
|
return wasmExports;
|
|
3123
3234
|
}
|
|
@@ -3207,15 +3318,15 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3207
3318
|
return splitPathRe.exec(filename).slice(1);
|
|
3208
3319
|
}, normalizeArray: (parts, allowAboveRoot) => {
|
|
3209
3320
|
var up = 0;
|
|
3210
|
-
for (var
|
|
3211
|
-
var last = parts[
|
|
3321
|
+
for (var i = parts.length - 1; i >= 0; i--) {
|
|
3322
|
+
var last = parts[i];
|
|
3212
3323
|
if (last === ".") {
|
|
3213
|
-
parts.splice(
|
|
3324
|
+
parts.splice(i, 1);
|
|
3214
3325
|
} else if (last === "..") {
|
|
3215
|
-
parts.splice(
|
|
3326
|
+
parts.splice(i, 1);
|
|
3216
3327
|
up++;
|
|
3217
3328
|
} else if (up) {
|
|
3218
|
-
parts.splice(
|
|
3329
|
+
parts.splice(i, 1);
|
|
3219
3330
|
up--;
|
|
3220
3331
|
}
|
|
3221
3332
|
}
|
|
@@ -3251,8 +3362,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3251
3362
|
};
|
|
3252
3363
|
var PATH_FS = { resolve: (...args) => {
|
|
3253
3364
|
var resolvedPath = "", resolvedAbsolute = false;
|
|
3254
|
-
for (var
|
|
3255
|
-
var path =
|
|
3365
|
+
for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
|
3366
|
+
var path = i >= 0 ? args[i] : FS.cwd();
|
|
3256
3367
|
if (typeof path != "string") {
|
|
3257
3368
|
throw new TypeError("Arguments to path.resolve must be strings");
|
|
3258
3369
|
} else if (!path) {
|
|
@@ -3285,14 +3396,14 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3285
3396
|
var toParts = trim(to.split("/"));
|
|
3286
3397
|
var length = Math.min(fromParts.length, toParts.length);
|
|
3287
3398
|
var samePartsLength = length;
|
|
3288
|
-
for (var
|
|
3289
|
-
if (fromParts[
|
|
3290
|
-
samePartsLength =
|
|
3399
|
+
for (var i = 0; i < length; i++) {
|
|
3400
|
+
if (fromParts[i] !== toParts[i]) {
|
|
3401
|
+
samePartsLength = i;
|
|
3291
3402
|
break;
|
|
3292
3403
|
}
|
|
3293
3404
|
}
|
|
3294
3405
|
var outputParts = [];
|
|
3295
|
-
for (var
|
|
3406
|
+
for (var i = samePartsLength; i < fromParts.length; i++) {
|
|
3296
3407
|
outputParts.push("..");
|
|
3297
3408
|
}
|
|
3298
3409
|
outputParts = outputParts.concat(toParts.slice(samePartsLength));
|
|
@@ -3314,15 +3425,15 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3314
3425
|
var FS_stdin_getChar_buffer = [];
|
|
3315
3426
|
var lengthBytesUTF8 = (str) => {
|
|
3316
3427
|
var len = 0;
|
|
3317
|
-
for (var
|
|
3318
|
-
var c = str.charCodeAt(
|
|
3428
|
+
for (var i = 0; i < str.length; ++i) {
|
|
3429
|
+
var c = str.charCodeAt(i);
|
|
3319
3430
|
if (c <= 127) {
|
|
3320
3431
|
len++;
|
|
3321
3432
|
} else if (c <= 2047) {
|
|
3322
3433
|
len += 2;
|
|
3323
3434
|
} else if (c >= 55296 && c <= 57343) {
|
|
3324
3435
|
len += 4;
|
|
3325
|
-
++
|
|
3436
|
+
++i;
|
|
3326
3437
|
} else {
|
|
3327
3438
|
len += 3;
|
|
3328
3439
|
}
|
|
@@ -3334,8 +3445,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3334
3445
|
return 0;
|
|
3335
3446
|
var startIdx = outIdx;
|
|
3336
3447
|
var endIdx = outIdx + maxBytesToWrite - 1;
|
|
3337
|
-
for (var
|
|
3338
|
-
var u = str.codePointAt(
|
|
3448
|
+
for (var i = 0; i < str.length; ++i) {
|
|
3449
|
+
var u = str.codePointAt(i);
|
|
3339
3450
|
if (u <= 127) {
|
|
3340
3451
|
if (outIdx >= endIdx)
|
|
3341
3452
|
break;
|
|
@@ -3358,7 +3469,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3358
3469
|
heap[outIdx++] = 128 | u >> 12 & 63;
|
|
3359
3470
|
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
3360
3471
|
heap[outIdx++] = 128 | u & 63;
|
|
3361
|
-
|
|
3472
|
+
i++;
|
|
3362
3473
|
}
|
|
3363
3474
|
}
|
|
3364
3475
|
heap[outIdx] = 0;
|
|
@@ -3409,7 +3520,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3409
3520
|
throw new FS.ErrnoError(60);
|
|
3410
3521
|
}
|
|
3411
3522
|
var bytesRead = 0;
|
|
3412
|
-
for (var
|
|
3523
|
+
for (var i = 0; i < length; i++) {
|
|
3413
3524
|
var result;
|
|
3414
3525
|
try {
|
|
3415
3526
|
result = stream.tty.ops.get_char(stream.tty);
|
|
@@ -3422,7 +3533,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3422
3533
|
if (result === null || result === void 0)
|
|
3423
3534
|
break;
|
|
3424
3535
|
bytesRead++;
|
|
3425
|
-
buffer[offset +
|
|
3536
|
+
buffer[offset + i] = result;
|
|
3426
3537
|
}
|
|
3427
3538
|
if (bytesRead) {
|
|
3428
3539
|
stream.node.atime = Date.now();
|
|
@@ -3433,8 +3544,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3433
3544
|
throw new FS.ErrnoError(60);
|
|
3434
3545
|
}
|
|
3435
3546
|
try {
|
|
3436
|
-
for (var
|
|
3437
|
-
stream.tty.ops.put_char(stream.tty, buffer[offset +
|
|
3547
|
+
for (var i = 0; i < length; i++) {
|
|
3548
|
+
stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
|
|
3438
3549
|
}
|
|
3439
3550
|
} catch (e) {
|
|
3440
3551
|
throw new FS.ErrnoError(29);
|
|
@@ -3442,7 +3553,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3442
3553
|
if (length) {
|
|
3443
3554
|
stream.node.mtime = stream.node.ctime = Date.now();
|
|
3444
3555
|
}
|
|
3445
|
-
return
|
|
3556
|
+
return i;
|
|
3446
3557
|
} }, default_tty_ops: { get_char(tty) {
|
|
3447
3558
|
return FS_stdin_getChar();
|
|
3448
3559
|
}, put_char(tty, val) {
|
|
@@ -3592,7 +3703,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3592
3703
|
}
|
|
3593
3704
|
if (new_node) {
|
|
3594
3705
|
if (FS.isDir(old_node.mode)) {
|
|
3595
|
-
for (var
|
|
3706
|
+
for (var i in new_node.contents) {
|
|
3596
3707
|
throw new FS.ErrnoError(55);
|
|
3597
3708
|
}
|
|
3598
3709
|
}
|
|
@@ -3607,7 +3718,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3607
3718
|
parent.ctime = parent.mtime = Date.now();
|
|
3608
3719
|
}, rmdir(parent, name) {
|
|
3609
3720
|
var node = FS.lookupNode(parent, name);
|
|
3610
|
-
for (var
|
|
3721
|
+
for (var i in node.contents) {
|
|
3611
3722
|
throw new FS.ErrnoError(55);
|
|
3612
3723
|
}
|
|
3613
3724
|
delete parent.contents[name];
|
|
@@ -3631,8 +3742,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3631
3742
|
if (size > 8 && contents.subarray) {
|
|
3632
3743
|
buffer.set(contents.subarray(position, position + size), offset);
|
|
3633
3744
|
} else {
|
|
3634
|
-
for (var
|
|
3635
|
-
buffer[offset +
|
|
3745
|
+
for (var i = 0; i < size; i++)
|
|
3746
|
+
buffer[offset + i] = contents[position + i];
|
|
3636
3747
|
}
|
|
3637
3748
|
return size;
|
|
3638
3749
|
}, write(stream, buffer, offset, length, position, canOwn) {
|
|
@@ -3661,8 +3772,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3661
3772
|
if (node.contents.subarray && buffer.subarray) {
|
|
3662
3773
|
node.contents.set(buffer.subarray(offset, offset + length), position);
|
|
3663
3774
|
} else {
|
|
3664
|
-
for (var
|
|
3665
|
-
node.contents[position +
|
|
3775
|
+
for (var i = 0; i < length; i++) {
|
|
3776
|
+
node.contents[position + i] = buffer[offset + i];
|
|
3666
3777
|
}
|
|
3667
3778
|
}
|
|
3668
3779
|
node.usedBytes = Math.max(node.usedBytes, position + length);
|
|
@@ -3866,18 +3977,18 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3866
3977
|
var parts = path.split("/").filter((p) => !!p);
|
|
3867
3978
|
var current = FS.root;
|
|
3868
3979
|
var current_path = "/";
|
|
3869
|
-
for (var
|
|
3870
|
-
var islast =
|
|
3980
|
+
for (var i = 0; i < parts.length; i++) {
|
|
3981
|
+
var islast = i === parts.length - 1;
|
|
3871
3982
|
if (islast && opts.parent) {
|
|
3872
3983
|
break;
|
|
3873
3984
|
}
|
|
3874
|
-
if (parts[
|
|
3985
|
+
if (parts[i] === ".") {
|
|
3875
3986
|
continue;
|
|
3876
3987
|
}
|
|
3877
|
-
if (parts[
|
|
3988
|
+
if (parts[i] === "..") {
|
|
3878
3989
|
current_path = PATH.dirname(current_path);
|
|
3879
3990
|
if (FS.isRoot(current)) {
|
|
3880
|
-
path = current_path + "/" + parts.slice(
|
|
3991
|
+
path = current_path + "/" + parts.slice(i + 1).join("/");
|
|
3881
3992
|
nlinks--;
|
|
3882
3993
|
continue linkloop;
|
|
3883
3994
|
} else {
|
|
@@ -3885,9 +3996,9 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3885
3996
|
}
|
|
3886
3997
|
continue;
|
|
3887
3998
|
}
|
|
3888
|
-
current_path = PATH.join2(current_path, parts[
|
|
3999
|
+
current_path = PATH.join2(current_path, parts[i]);
|
|
3889
4000
|
try {
|
|
3890
|
-
current = FS.lookupNode(current, parts[
|
|
4001
|
+
current = FS.lookupNode(current, parts[i]);
|
|
3891
4002
|
} catch (e) {
|
|
3892
4003
|
if (e?.errno === 44 && islast && opts.noent_okay) {
|
|
3893
4004
|
return { path: current_path };
|
|
@@ -3905,7 +4016,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3905
4016
|
if (!PATH.isAbs(link)) {
|
|
3906
4017
|
link = PATH.dirname(current_path) + "/" + link;
|
|
3907
4018
|
}
|
|
3908
|
-
path = link + "/" + parts.slice(
|
|
4019
|
+
path = link + "/" + parts.slice(i + 1).join("/");
|
|
3909
4020
|
continue linkloop;
|
|
3910
4021
|
}
|
|
3911
4022
|
}
|
|
@@ -3926,8 +4037,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
3926
4037
|
}
|
|
3927
4038
|
}, hashName(parentid, name) {
|
|
3928
4039
|
var hash = 0;
|
|
3929
|
-
for (var
|
|
3930
|
-
hash = (hash << 5) - hash + name.charCodeAt(
|
|
4040
|
+
for (var i = 0; i < name.length; i++) {
|
|
4041
|
+
hash = (hash << 5) - hash + name.charCodeAt(i) | 0;
|
|
3931
4042
|
}
|
|
3932
4043
|
return (parentid + hash >>> 0) % FS.nameTable.length;
|
|
3933
4044
|
}, hashAddNode(node) {
|
|
@@ -4830,8 +4941,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
4830
4941
|
if (data) {
|
|
4831
4942
|
if (typeof data == "string") {
|
|
4832
4943
|
var arr = new Array(data.length);
|
|
4833
|
-
for (var
|
|
4834
|
-
arr[
|
|
4944
|
+
for (var i = 0, len = data.length; i < len; ++i)
|
|
4945
|
+
arr[i] = data.charCodeAt(i);
|
|
4835
4946
|
data = arr;
|
|
4836
4947
|
}
|
|
4837
4948
|
FS.chmod(node, mode | 146);
|
|
@@ -4854,7 +4965,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
4854
4965
|
}
|
|
4855
4966
|
}, read(stream, buffer, offset, length, pos) {
|
|
4856
4967
|
var bytesRead = 0;
|
|
4857
|
-
for (var
|
|
4968
|
+
for (var i = 0; i < length; i++) {
|
|
4858
4969
|
var result;
|
|
4859
4970
|
try {
|
|
4860
4971
|
result = input();
|
|
@@ -4867,16 +4978,16 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
4867
4978
|
if (result === null || result === void 0)
|
|
4868
4979
|
break;
|
|
4869
4980
|
bytesRead++;
|
|
4870
|
-
buffer[offset +
|
|
4981
|
+
buffer[offset + i] = result;
|
|
4871
4982
|
}
|
|
4872
4983
|
if (bytesRead) {
|
|
4873
4984
|
stream.node.atime = Date.now();
|
|
4874
4985
|
}
|
|
4875
4986
|
return bytesRead;
|
|
4876
4987
|
}, write(stream, buffer, offset, length, pos) {
|
|
4877
|
-
for (var
|
|
4988
|
+
for (var i = 0; i < length; i++) {
|
|
4878
4989
|
try {
|
|
4879
|
-
output(buffer[offset +
|
|
4990
|
+
output(buffer[offset + i]);
|
|
4880
4991
|
} catch (e) {
|
|
4881
4992
|
throw new FS.ErrnoError(29);
|
|
4882
4993
|
}
|
|
@@ -4884,7 +4995,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
4884
4995
|
if (length) {
|
|
4885
4996
|
stream.node.mtime = stream.node.ctime = Date.now();
|
|
4886
4997
|
}
|
|
4887
|
-
return
|
|
4998
|
+
return i;
|
|
4888
4999
|
} });
|
|
4889
5000
|
return FS.mkdev(path, mode, dev);
|
|
4890
5001
|
}, forceLoadFile(obj) {
|
|
@@ -5018,12 +5129,12 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
5018
5129
|
return 0;
|
|
5019
5130
|
var size = Math.min(contents.length - position, length);
|
|
5020
5131
|
if (contents.slice) {
|
|
5021
|
-
for (var
|
|
5022
|
-
buffer[offset +
|
|
5132
|
+
for (var i = 0; i < size; i++) {
|
|
5133
|
+
buffer[offset + i] = contents[position + i];
|
|
5023
5134
|
}
|
|
5024
5135
|
} else {
|
|
5025
|
-
for (var
|
|
5026
|
-
buffer[offset +
|
|
5136
|
+
for (var i = 0; i < size; i++) {
|
|
5137
|
+
buffer[offset + i] = contents.get(position + i);
|
|
5027
5138
|
}
|
|
5028
5139
|
}
|
|
5029
5140
|
return size;
|
|
@@ -5229,8 +5340,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
5229
5340
|
HEAP32[argp + 4 >> 2] = termios.c_oflag || 0;
|
|
5230
5341
|
HEAP32[argp + 8 >> 2] = termios.c_cflag || 0;
|
|
5231
5342
|
HEAP32[argp + 12 >> 2] = termios.c_lflag || 0;
|
|
5232
|
-
for (var
|
|
5233
|
-
HEAP8[argp +
|
|
5343
|
+
for (var i = 0; i < 32; i++) {
|
|
5344
|
+
HEAP8[argp + i + 17] = termios.c_cc[i] || 0;
|
|
5234
5345
|
}
|
|
5235
5346
|
return 0;
|
|
5236
5347
|
}
|
|
@@ -5255,8 +5366,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
5255
5366
|
var c_cflag = HEAP32[argp + 8 >> 2];
|
|
5256
5367
|
var c_lflag = HEAP32[argp + 12 >> 2];
|
|
5257
5368
|
var c_cc = [];
|
|
5258
|
-
for (var
|
|
5259
|
-
c_cc.push(HEAP8[argp +
|
|
5369
|
+
for (var i = 0; i < 32; i++) {
|
|
5370
|
+
c_cc.push(HEAP8[argp + i + 17]);
|
|
5260
5371
|
}
|
|
5261
5372
|
return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc });
|
|
5262
5373
|
}
|
|
@@ -5404,23 +5515,23 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
5404
5515
|
if (myTypeConverters.length !== myTypes.length) {
|
|
5405
5516
|
throwInternalError("Mismatched type converter count");
|
|
5406
5517
|
}
|
|
5407
|
-
for (var
|
|
5408
|
-
registerType(myTypes[
|
|
5518
|
+
for (var i = 0; i < myTypes.length; ++i) {
|
|
5519
|
+
registerType(myTypes[i], myTypeConverters[i]);
|
|
5409
5520
|
}
|
|
5410
5521
|
}
|
|
5411
5522
|
var typeConverters = new Array(dependentTypes.length);
|
|
5412
5523
|
var unregisteredTypes = [];
|
|
5413
5524
|
var registered = 0;
|
|
5414
|
-
dependentTypes.forEach((dt,
|
|
5525
|
+
dependentTypes.forEach((dt, i) => {
|
|
5415
5526
|
if (registeredTypes.hasOwnProperty(dt)) {
|
|
5416
|
-
typeConverters[
|
|
5527
|
+
typeConverters[i] = registeredTypes[dt];
|
|
5417
5528
|
} else {
|
|
5418
5529
|
unregisteredTypes.push(dt);
|
|
5419
5530
|
if (!awaitingDependencies.hasOwnProperty(dt)) {
|
|
5420
5531
|
awaitingDependencies[dt] = [];
|
|
5421
5532
|
}
|
|
5422
5533
|
awaitingDependencies[dt].push(() => {
|
|
5423
|
-
typeConverters[
|
|
5534
|
+
typeConverters[i] = registeredTypes[dt];
|
|
5424
5535
|
++registered;
|
|
5425
5536
|
if (registered === unregisteredTypes.length) {
|
|
5426
5537
|
onComplete(typeConverters);
|
|
@@ -5441,13 +5552,13 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
5441
5552
|
var fieldTypes = fieldRecords.map((field) => field.getterReturnType).concat(fieldRecords.map((field) => field.setterArgumentType));
|
|
5442
5553
|
whenDependentTypesAreResolved([structType], fieldTypes, (fieldTypes2) => {
|
|
5443
5554
|
var fields = {};
|
|
5444
|
-
fieldRecords.forEach((field,
|
|
5555
|
+
fieldRecords.forEach((field, i) => {
|
|
5445
5556
|
var fieldName = field.fieldName;
|
|
5446
|
-
var getterReturnType = fieldTypes2[
|
|
5447
|
-
var optional = fieldTypes2[
|
|
5557
|
+
var getterReturnType = fieldTypes2[i];
|
|
5558
|
+
var optional = fieldTypes2[i].optional;
|
|
5448
5559
|
var getter = field.getter;
|
|
5449
5560
|
var getterContext = field.getterContext;
|
|
5450
|
-
var setterArgumentType = fieldTypes2[
|
|
5561
|
+
var setterArgumentType = fieldTypes2[i + fieldRecords.length];
|
|
5451
5562
|
var setter = field.setter;
|
|
5452
5563
|
var setterContext = field.setterContext;
|
|
5453
5564
|
fields[fieldName] = { read: (ptr) => getterReturnType.fromWireType(getter(getterContext, ptr)), write: (ptr, o) => {
|
|
@@ -5458,8 +5569,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
5458
5569
|
});
|
|
5459
5570
|
return [{ name: reg.name, fromWireType: (ptr) => {
|
|
5460
5571
|
var rv = {};
|
|
5461
|
-
for (var
|
|
5462
|
-
rv[
|
|
5572
|
+
for (var i in fields) {
|
|
5573
|
+
rv[i] = fields[i].read(ptr);
|
|
5463
5574
|
}
|
|
5464
5575
|
rawDestructor(ptr);
|
|
5465
5576
|
return rv;
|
|
@@ -6077,8 +6188,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6077
6188
|
});
|
|
6078
6189
|
};
|
|
6079
6190
|
function usesDestructorStack(argTypes) {
|
|
6080
|
-
for (var
|
|
6081
|
-
if (argTypes[
|
|
6191
|
+
for (var i = 1; i < argTypes.length; ++i) {
|
|
6192
|
+
if (argTypes[i] !== null && argTypes[i].destructorFunction === void 0) {
|
|
6082
6193
|
return true;
|
|
6083
6194
|
}
|
|
6084
6195
|
}
|
|
@@ -6092,9 +6203,9 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6092
6203
|
if (isClassMethodFunc) {
|
|
6093
6204
|
argsListWired.push("thisWired");
|
|
6094
6205
|
}
|
|
6095
|
-
for (var
|
|
6096
|
-
argsList.push(`arg${
|
|
6097
|
-
argsListWired.push(`arg${
|
|
6206
|
+
for (var i = 0; i < argCount; ++i) {
|
|
6207
|
+
argsList.push(`arg${i}`);
|
|
6208
|
+
argsListWired.push(`arg${i}Wired`);
|
|
6098
6209
|
}
|
|
6099
6210
|
argsList = argsList.join(",");
|
|
6100
6211
|
argsListWired = argsListWired.join(",");
|
|
@@ -6109,9 +6220,9 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6109
6220
|
invokerFnBody += `var thisWired = toClassParamWire(${dtorStack}, this);
|
|
6110
6221
|
`;
|
|
6111
6222
|
}
|
|
6112
|
-
for (var
|
|
6113
|
-
var argName = `toArg${
|
|
6114
|
-
invokerFnBody += `var arg${
|
|
6223
|
+
for (var i = 0; i < argCount; ++i) {
|
|
6224
|
+
var argName = `toArg${i}Wire`;
|
|
6225
|
+
invokerFnBody += `var arg${i}Wired = ${argName}(${dtorStack}, arg${i});
|
|
6115
6226
|
`;
|
|
6116
6227
|
args1.push(argName);
|
|
6117
6228
|
}
|
|
@@ -6120,9 +6231,9 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6120
6231
|
if (needsDestructorStack) {
|
|
6121
6232
|
invokerFnBody += "runDestructors(destructors);\n";
|
|
6122
6233
|
} else {
|
|
6123
|
-
for (var
|
|
6124
|
-
var paramName =
|
|
6125
|
-
if (argTypes[
|
|
6234
|
+
for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {
|
|
6235
|
+
var paramName = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
|
|
6236
|
+
if (argTypes[i].destructorFunction !== null) {
|
|
6126
6237
|
invokerFnBody += `${paramName}_dtor(${paramName});
|
|
6127
6238
|
`;
|
|
6128
6239
|
args1.push(`${paramName}_dtor`);
|
|
@@ -6146,14 +6257,14 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6146
6257
|
var retType = argTypes[0];
|
|
6147
6258
|
var instType = argTypes[1];
|
|
6148
6259
|
var closureArgs = [humanName, throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, retType.fromWireType.bind(retType), instType?.toWireType.bind(instType)];
|
|
6149
|
-
for (var
|
|
6150
|
-
var argType = argTypes[
|
|
6260
|
+
for (var i = 2; i < argCount; ++i) {
|
|
6261
|
+
var argType = argTypes[i];
|
|
6151
6262
|
closureArgs.push(argType.toWireType.bind(argType));
|
|
6152
6263
|
}
|
|
6153
6264
|
if (!needsDestructorStack) {
|
|
6154
|
-
for (var
|
|
6155
|
-
if (argTypes[
|
|
6156
|
-
closureArgs.push(argTypes[
|
|
6265
|
+
for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; ++i) {
|
|
6266
|
+
if (argTypes[i].destructorFunction !== null) {
|
|
6267
|
+
closureArgs.push(argTypes[i].destructorFunction);
|
|
6157
6268
|
}
|
|
6158
6269
|
}
|
|
6159
6270
|
}
|
|
@@ -6163,8 +6274,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6163
6274
|
}
|
|
6164
6275
|
var heap32VectorToArray = (count, firstElement) => {
|
|
6165
6276
|
var array = [];
|
|
6166
|
-
for (var
|
|
6167
|
-
array.push(HEAPU32[firstElement +
|
|
6277
|
+
for (var i = 0; i < count; i++) {
|
|
6278
|
+
array.push(HEAPU32[firstElement + i * 4 >> 2]);
|
|
6168
6279
|
}
|
|
6169
6280
|
return array;
|
|
6170
6281
|
};
|
|
@@ -6543,8 +6654,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6543
6654
|
maxBytesToWrite -= 2;
|
|
6544
6655
|
var startPtr = outPtr;
|
|
6545
6656
|
var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length;
|
|
6546
|
-
for (var
|
|
6547
|
-
var codeUnit = str.charCodeAt(
|
|
6657
|
+
for (var i = 0; i < numCharsToWrite; ++i) {
|
|
6658
|
+
var codeUnit = str.charCodeAt(i);
|
|
6548
6659
|
HEAP16[outPtr >> 1] = codeUnit;
|
|
6549
6660
|
outPtr += 2;
|
|
6550
6661
|
}
|
|
@@ -6555,8 +6666,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6555
6666
|
var UTF32ToString = (ptr, maxBytesToRead, ignoreNul) => {
|
|
6556
6667
|
var str = "";
|
|
6557
6668
|
var startIdx = ptr >> 2;
|
|
6558
|
-
for (var
|
|
6559
|
-
var utf32 = HEAPU32[startIdx +
|
|
6669
|
+
for (var i = 0; !(i >= maxBytesToRead / 4); i++) {
|
|
6670
|
+
var utf32 = HEAPU32[startIdx + i];
|
|
6560
6671
|
if (!utf32 && !ignoreNul)
|
|
6561
6672
|
break;
|
|
6562
6673
|
str += String.fromCodePoint(utf32);
|
|
@@ -6569,10 +6680,10 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6569
6680
|
return 0;
|
|
6570
6681
|
var startPtr = outPtr;
|
|
6571
6682
|
var endPtr = startPtr + maxBytesToWrite - 4;
|
|
6572
|
-
for (var
|
|
6573
|
-
var codePoint = str.codePointAt(
|
|
6683
|
+
for (var i = 0; i < str.length; ++i) {
|
|
6684
|
+
var codePoint = str.codePointAt(i);
|
|
6574
6685
|
if (codePoint > 65535) {
|
|
6575
|
-
|
|
6686
|
+
i++;
|
|
6576
6687
|
}
|
|
6577
6688
|
HEAP32[outPtr >> 2] = codePoint;
|
|
6578
6689
|
outPtr += 4;
|
|
@@ -6584,10 +6695,10 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6584
6695
|
};
|
|
6585
6696
|
var lengthBytesUTF32 = (str) => {
|
|
6586
6697
|
var len = 0;
|
|
6587
|
-
for (var
|
|
6588
|
-
var codePoint = str.codePointAt(
|
|
6698
|
+
for (var i = 0; i < str.length; ++i) {
|
|
6699
|
+
var codePoint = str.codePointAt(i);
|
|
6589
6700
|
if (codePoint > 65535) {
|
|
6590
|
-
|
|
6701
|
+
i++;
|
|
6591
6702
|
}
|
|
6592
6703
|
len += 4;
|
|
6593
6704
|
}
|
|
@@ -6644,8 +6755,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6644
6755
|
};
|
|
6645
6756
|
var emval_lookupTypes = (argCount, argTypes) => {
|
|
6646
6757
|
var a = new Array(argCount);
|
|
6647
|
-
for (var
|
|
6648
|
-
a[
|
|
6758
|
+
for (var i = 0; i < argCount; ++i) {
|
|
6759
|
+
a[i] = requireRegisteredType(HEAPU32[argTypes + i * 4 >> 2], `parameter ${i}`);
|
|
6649
6760
|
}
|
|
6650
6761
|
return a;
|
|
6651
6762
|
};
|
|
@@ -6672,10 +6783,10 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6672
6783
|
var argFromPtr = argTypes.map((type) => type.readValueFromPointer.bind(type));
|
|
6673
6784
|
argCount--;
|
|
6674
6785
|
var captures = { toValue: Emval.toValue };
|
|
6675
|
-
var args = argFromPtr.map((argFromPtr2,
|
|
6676
|
-
var captureName = `argFromPtr${
|
|
6786
|
+
var args = argFromPtr.map((argFromPtr2, i) => {
|
|
6787
|
+
var captureName = `argFromPtr${i}`;
|
|
6677
6788
|
captures[captureName] = argFromPtr2;
|
|
6678
|
-
return `${captureName}(args${
|
|
6789
|
+
return `${captureName}(args${i ? "+" + i * GenericWireTypeSize : ""})`;
|
|
6679
6790
|
});
|
|
6680
6791
|
var functionBody;
|
|
6681
6792
|
switch (kind) {
|
|
@@ -6789,6 +6900,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6789
6900
|
HEAP32[width >> 2] = canvas.width;
|
|
6790
6901
|
HEAP32[height >> 2] = canvas.height;
|
|
6791
6902
|
};
|
|
6903
|
+
var getHeapMax = () => 2147483648;
|
|
6904
|
+
var _emscripten_get_heap_max = () => getHeapMax();
|
|
6792
6905
|
var GLctx;
|
|
6793
6906
|
var webgl_enable_ANGLE_instanced_arrays = (ctx) => {
|
|
6794
6907
|
var ext = ctx.getExtension("ANGLE_instanced_arrays");
|
|
@@ -6832,12 +6945,12 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6832
6945
|
}
|
|
6833
6946
|
}, getNewId: (table) => {
|
|
6834
6947
|
var ret = GL.counter++;
|
|
6835
|
-
for (var
|
|
6836
|
-
table[
|
|
6948
|
+
for (var i = table.length; i < ret; i++) {
|
|
6949
|
+
table[i] = null;
|
|
6837
6950
|
}
|
|
6838
6951
|
return ret;
|
|
6839
6952
|
}, genObject: (n, buffers, createFunction, objectTable) => {
|
|
6840
|
-
for (var
|
|
6953
|
+
for (var i = 0; i < n; i++) {
|
|
6841
6954
|
var buffer = GLctx[createFunction]();
|
|
6842
6955
|
var id = buffer && GL.getNewId(objectTable);
|
|
6843
6956
|
if (buffer) {
|
|
@@ -6846,13 +6959,13 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6846
6959
|
} else {
|
|
6847
6960
|
GL.recordError(1282);
|
|
6848
6961
|
}
|
|
6849
|
-
HEAP32[buffers +
|
|
6962
|
+
HEAP32[buffers + i * 4 >> 2] = id;
|
|
6850
6963
|
}
|
|
6851
6964
|
}, getSource: (shader, count, string, length) => {
|
|
6852
6965
|
var source = "";
|
|
6853
|
-
for (var
|
|
6854
|
-
var len = length ? HEAPU32[length +
|
|
6855
|
-
source += UTF8ToString(HEAPU32[string +
|
|
6966
|
+
for (var i = 0; i < count; ++i) {
|
|
6967
|
+
var len = length ? HEAPU32[length + i * 4 >> 2] : void 0;
|
|
6968
|
+
source += UTF8ToString(HEAPU32[string + i * 4 >> 2], len);
|
|
6856
6969
|
}
|
|
6857
6970
|
return source;
|
|
6858
6971
|
}, createContext: (canvas, webGLContextAttributes) => {
|
|
@@ -6927,10 +7040,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6927
7040
|
GLctx.attachShader(GL.programs[program], GL.shaders[shader]);
|
|
6928
7041
|
};
|
|
6929
7042
|
var _emscripten_glAttachShader = _glAttachShader;
|
|
6930
|
-
var _glBindAttribLocation = (program, index, name) => {
|
|
6931
|
-
GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name));
|
|
6932
|
-
};
|
|
6933
|
-
var _emscripten_glBindAttribLocation = _glBindAttribLocation;
|
|
6934
7043
|
var _glBindBuffer = (target, buffer) => {
|
|
6935
7044
|
if (target == 35051) {
|
|
6936
7045
|
GLctx.currentPixelPackBufferBinding = buffer;
|
|
@@ -6940,10 +7049,10 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6940
7049
|
GLctx.bindBuffer(target, GL.buffers[buffer]);
|
|
6941
7050
|
};
|
|
6942
7051
|
var _emscripten_glBindBuffer = _glBindBuffer;
|
|
6943
|
-
var
|
|
6944
|
-
GLctx.
|
|
7052
|
+
var _glBindBufferRange = (target, index, buffer, offset, ptrsize) => {
|
|
7053
|
+
GLctx.bindBufferRange(target, index, GL.buffers[buffer], offset, ptrsize);
|
|
6945
7054
|
};
|
|
6946
|
-
var
|
|
7055
|
+
var _emscripten_glBindBufferRange = _glBindBufferRange;
|
|
6947
7056
|
var _glBindFramebuffer = (target, framebuffer) => {
|
|
6948
7057
|
GLctx.bindFramebuffer(target, GL.framebuffers[framebuffer]);
|
|
6949
7058
|
};
|
|
@@ -6962,8 +7071,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
6962
7071
|
var _emscripten_glBindVertexArray = _glBindVertexArray;
|
|
6963
7072
|
var _glBindVertexArrayOES = _glBindVertexArray;
|
|
6964
7073
|
var _emscripten_glBindVertexArrayOES = _glBindVertexArrayOES;
|
|
6965
|
-
var _glBlendColor = (x0, x1, x2, x3) => GLctx.blendColor(x0, x1, x2, x3);
|
|
6966
|
-
var _emscripten_glBlendColor = _glBlendColor;
|
|
6967
7074
|
var _glBlendEquation = (x0) => GLctx.blendEquation(x0);
|
|
6968
7075
|
var _emscripten_glBlendEquation = _glBlendEquation;
|
|
6969
7076
|
var _glBlendEquationSeparate = (x0, x1) => GLctx.blendEquationSeparate(x0, x1);
|
|
@@ -7004,6 +7111,11 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7004
7111
|
var _emscripten_glClearDepthf = _glClearDepthf;
|
|
7005
7112
|
var _glClearStencil = (x0) => GLctx.clearStencil(x0);
|
|
7006
7113
|
var _emscripten_glClearStencil = _glClearStencil;
|
|
7114
|
+
var _glClientWaitSync = (sync, flags, timeout) => {
|
|
7115
|
+
timeout = Number(timeout);
|
|
7116
|
+
return GLctx.clientWaitSync(GL.syncs[sync], flags, timeout);
|
|
7117
|
+
};
|
|
7118
|
+
var _emscripten_glClientWaitSync = _glClientWaitSync;
|
|
7007
7119
|
var _glColorMask = (red, green, blue, alpha) => {
|
|
7008
7120
|
GLctx.colorMask(!!red, !!green, !!blue, !!alpha);
|
|
7009
7121
|
};
|
|
@@ -7012,30 +7124,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7012
7124
|
GLctx.compileShader(GL.shaders[shader]);
|
|
7013
7125
|
};
|
|
7014
7126
|
var _emscripten_glCompileShader = _glCompileShader;
|
|
7015
|
-
var _glCompressedTexImage2D = (target, level, internalFormat, width, height, border, imageSize, data) => {
|
|
7016
|
-
if (GL.currentContext.version >= 2) {
|
|
7017
|
-
if (GLctx.currentPixelUnpackBufferBinding || !imageSize) {
|
|
7018
|
-
GLctx.compressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data);
|
|
7019
|
-
return;
|
|
7020
|
-
}
|
|
7021
|
-
GLctx.compressedTexImage2D(target, level, internalFormat, width, height, border, HEAPU8, data, imageSize);
|
|
7022
|
-
return;
|
|
7023
|
-
}
|
|
7024
|
-
GLctx.compressedTexImage2D(target, level, internalFormat, width, height, border, HEAPU8.subarray(data, data + imageSize));
|
|
7025
|
-
};
|
|
7026
|
-
var _emscripten_glCompressedTexImage2D = _glCompressedTexImage2D;
|
|
7027
|
-
var _glCompressedTexSubImage2D = (target, level, xoffset, yoffset, width, height, format, imageSize, data) => {
|
|
7028
|
-
if (GL.currentContext.version >= 2) {
|
|
7029
|
-
if (GLctx.currentPixelUnpackBufferBinding || !imageSize) {
|
|
7030
|
-
GLctx.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
|
|
7031
|
-
return;
|
|
7032
|
-
}
|
|
7033
|
-
GLctx.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, HEAPU8, data, imageSize);
|
|
7034
|
-
return;
|
|
7035
|
-
}
|
|
7036
|
-
GLctx.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, HEAPU8.subarray(data, data + imageSize));
|
|
7037
|
-
};
|
|
7038
|
-
var _emscripten_glCompressedTexSubImage2D = _glCompressedTexSubImage2D;
|
|
7039
7127
|
var _glCopyTexSubImage2D = (x0, x1, x2, x3, x4, x5, x6, x7) => GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7);
|
|
7040
7128
|
var _emscripten_glCopyTexSubImage2D = _glCopyTexSubImage2D;
|
|
7041
7129
|
var _glCreateProgram = () => {
|
|
@@ -7054,11 +7142,9 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7054
7142
|
return id;
|
|
7055
7143
|
};
|
|
7056
7144
|
var _emscripten_glCreateShader = _glCreateShader;
|
|
7057
|
-
var _glCullFace = (x0) => GLctx.cullFace(x0);
|
|
7058
|
-
var _emscripten_glCullFace = _glCullFace;
|
|
7059
7145
|
var _glDeleteBuffers = (n, buffers) => {
|
|
7060
|
-
for (var
|
|
7061
|
-
var id = HEAP32[buffers +
|
|
7146
|
+
for (var i = 0; i < n; i++) {
|
|
7147
|
+
var id = HEAP32[buffers + i * 4 >> 2];
|
|
7062
7148
|
var buffer = GL.buffers[id];
|
|
7063
7149
|
if (!buffer)
|
|
7064
7150
|
continue;
|
|
@@ -7073,8 +7159,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7073
7159
|
};
|
|
7074
7160
|
var _emscripten_glDeleteBuffers = _glDeleteBuffers;
|
|
7075
7161
|
var _glDeleteFramebuffers = (n, framebuffers) => {
|
|
7076
|
-
for (var
|
|
7077
|
-
var id = HEAP32[framebuffers +
|
|
7162
|
+
for (var i = 0; i < n; ++i) {
|
|
7163
|
+
var id = HEAP32[framebuffers + i * 4 >> 2];
|
|
7078
7164
|
var framebuffer = GL.framebuffers[id];
|
|
7079
7165
|
if (!framebuffer)
|
|
7080
7166
|
continue;
|
|
@@ -7098,8 +7184,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7098
7184
|
};
|
|
7099
7185
|
var _emscripten_glDeleteProgram = _glDeleteProgram;
|
|
7100
7186
|
var _glDeleteRenderbuffers = (n, renderbuffers) => {
|
|
7101
|
-
for (var
|
|
7102
|
-
var id = HEAP32[renderbuffers +
|
|
7187
|
+
for (var i = 0; i < n; i++) {
|
|
7188
|
+
var id = HEAP32[renderbuffers + i * 4 >> 2];
|
|
7103
7189
|
var renderbuffer = GL.renderbuffers[id];
|
|
7104
7190
|
if (!renderbuffer)
|
|
7105
7191
|
continue;
|
|
@@ -7135,8 +7221,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7135
7221
|
};
|
|
7136
7222
|
var _emscripten_glDeleteSync = _glDeleteSync;
|
|
7137
7223
|
var _glDeleteTextures = (n, textures) => {
|
|
7138
|
-
for (var
|
|
7139
|
-
var id = HEAP32[textures +
|
|
7224
|
+
for (var i = 0; i < n; i++) {
|
|
7225
|
+
var id = HEAP32[textures + i * 4 >> 2];
|
|
7140
7226
|
var texture = GL.textures[id];
|
|
7141
7227
|
if (!texture)
|
|
7142
7228
|
continue;
|
|
@@ -7147,8 +7233,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7147
7233
|
};
|
|
7148
7234
|
var _emscripten_glDeleteTextures = _glDeleteTextures;
|
|
7149
7235
|
var _glDeleteVertexArrays = (n, vaos) => {
|
|
7150
|
-
for (var
|
|
7151
|
-
var id = HEAP32[vaos +
|
|
7236
|
+
for (var i = 0; i < n; i++) {
|
|
7237
|
+
var id = HEAP32[vaos + i * 4 >> 2];
|
|
7152
7238
|
GLctx.deleteVertexArray(GL.vaos[id]);
|
|
7153
7239
|
GL.vaos[id] = null;
|
|
7154
7240
|
}
|
|
@@ -7164,18 +7250,22 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7164
7250
|
var _emscripten_glDepthMask = _glDepthMask;
|
|
7165
7251
|
var _glDisable = (x0) => GLctx.disable(x0);
|
|
7166
7252
|
var _emscripten_glDisable = _glDisable;
|
|
7167
|
-
var _glDisableVertexAttribArray = (index) => {
|
|
7168
|
-
GLctx.disableVertexAttribArray(index);
|
|
7169
|
-
};
|
|
7170
|
-
var _emscripten_glDisableVertexAttribArray = _glDisableVertexAttribArray;
|
|
7171
7253
|
var _glDrawArrays = (mode, first, count) => {
|
|
7172
7254
|
GLctx.drawArrays(mode, first, count);
|
|
7173
7255
|
};
|
|
7174
7256
|
var _emscripten_glDrawArrays = _glDrawArrays;
|
|
7257
|
+
var _glDrawArraysInstanced = (mode, first, count, primcount) => {
|
|
7258
|
+
GLctx.drawArraysInstanced(mode, first, count, primcount);
|
|
7259
|
+
};
|
|
7260
|
+
var _emscripten_glDrawArraysInstanced = _glDrawArraysInstanced;
|
|
7175
7261
|
var _glDrawElements = (mode, count, type, indices) => {
|
|
7176
7262
|
GLctx.drawElements(mode, count, type, indices);
|
|
7177
7263
|
};
|
|
7178
7264
|
var _emscripten_glDrawElements = _glDrawElements;
|
|
7265
|
+
var _glDrawElementsInstanced = (mode, count, type, indices, primcount) => {
|
|
7266
|
+
GLctx.drawElementsInstanced(mode, count, type, indices, primcount);
|
|
7267
|
+
};
|
|
7268
|
+
var _emscripten_glDrawElementsInstanced = _glDrawElementsInstanced;
|
|
7179
7269
|
var _glEnable = (x0) => GLctx.enable(x0);
|
|
7180
7270
|
var _emscripten_glEnable = _glEnable;
|
|
7181
7271
|
var _glEnableVertexAttribArray = (index) => {
|
|
@@ -7205,8 +7295,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7205
7295
|
GLctx.framebufferTexture2D(target, attachment, textarget, GL.textures[texture], level);
|
|
7206
7296
|
};
|
|
7207
7297
|
var _emscripten_glFramebufferTexture2D = _glFramebufferTexture2D;
|
|
7208
|
-
var _glFrontFace = (x0) => GLctx.frontFace(x0);
|
|
7209
|
-
var _emscripten_glFrontFace = _glFrontFace;
|
|
7210
7298
|
var _glGenBuffers = (n, buffers) => {
|
|
7211
7299
|
GL.genObject(n, buffers, "createBuffer", GL.buffers);
|
|
7212
7300
|
};
|
|
@@ -7233,6 +7321,20 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7233
7321
|
var _emscripten_glGenerateMipmap = _glGenerateMipmap;
|
|
7234
7322
|
var _glGetAttribLocation = (program, name) => GLctx.getAttribLocation(GL.programs[program], UTF8ToString(name));
|
|
7235
7323
|
var _emscripten_glGetAttribLocation = _glGetAttribLocation;
|
|
7324
|
+
var _glGetBufferSubData = (target, offset, size, data) => {
|
|
7325
|
+
if (!data) {
|
|
7326
|
+
GL.recordError(1281);
|
|
7327
|
+
return;
|
|
7328
|
+
}
|
|
7329
|
+
size && GLctx.getBufferSubData(target, offset, HEAPU8, data, size);
|
|
7330
|
+
};
|
|
7331
|
+
var _emscripten_glGetBufferSubData = _glGetBufferSubData;
|
|
7332
|
+
var _glGetError = () => {
|
|
7333
|
+
var error = GLctx.getError() || GL.lastError;
|
|
7334
|
+
GL.lastError = 0;
|
|
7335
|
+
return error;
|
|
7336
|
+
};
|
|
7337
|
+
var _emscripten_glGetError = _glGetError;
|
|
7236
7338
|
var writeI53ToI64 = (ptr, num) => {
|
|
7237
7339
|
HEAPU32[ptr >> 2] = num;
|
|
7238
7340
|
var lower = HEAPU32[ptr >> 2];
|
|
@@ -7325,16 +7427,16 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7325
7427
|
}
|
|
7326
7428
|
}
|
|
7327
7429
|
} else if (result instanceof Float32Array || result instanceof Uint32Array || result instanceof Int32Array || result instanceof Array) {
|
|
7328
|
-
for (var
|
|
7430
|
+
for (var i = 0; i < result.length; ++i) {
|
|
7329
7431
|
switch (type) {
|
|
7330
7432
|
case 0:
|
|
7331
|
-
HEAP32[p +
|
|
7433
|
+
HEAP32[p + i * 4 >> 2] = result[i];
|
|
7332
7434
|
break;
|
|
7333
7435
|
case 2:
|
|
7334
|
-
HEAPF32[p +
|
|
7436
|
+
HEAPF32[p + i * 4 >> 2] = result[i];
|
|
7335
7437
|
break;
|
|
7336
7438
|
case 4:
|
|
7337
|
-
HEAP8[p +
|
|
7439
|
+
HEAP8[p + i] = result[i] ? 1 : 0;
|
|
7338
7440
|
break;
|
|
7339
7441
|
}
|
|
7340
7442
|
}
|
|
@@ -7370,30 +7472,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7370
7472
|
break;
|
|
7371
7473
|
}
|
|
7372
7474
|
};
|
|
7373
|
-
var _glGetBooleanv = (name_, p) => emscriptenWebGLGet(name_, p, 4);
|
|
7374
|
-
var _emscripten_glGetBooleanv = _glGetBooleanv;
|
|
7375
|
-
var _glGetBufferParameteriv = (target, value, data) => {
|
|
7376
|
-
if (!data) {
|
|
7377
|
-
GL.recordError(1281);
|
|
7378
|
-
return;
|
|
7379
|
-
}
|
|
7380
|
-
HEAP32[data >> 2] = GLctx.getBufferParameter(target, value);
|
|
7381
|
-
};
|
|
7382
|
-
var _emscripten_glGetBufferParameteriv = _glGetBufferParameteriv;
|
|
7383
|
-
var _glGetError = () => {
|
|
7384
|
-
var error = GLctx.getError() || GL.lastError;
|
|
7385
|
-
GL.lastError = 0;
|
|
7386
|
-
return error;
|
|
7387
|
-
};
|
|
7388
|
-
var _emscripten_glGetError = _glGetError;
|
|
7389
|
-
var _glGetFramebufferAttachmentParameteriv = (target, attachment, pname, params) => {
|
|
7390
|
-
var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname);
|
|
7391
|
-
if (result instanceof WebGLRenderbuffer || result instanceof WebGLTexture) {
|
|
7392
|
-
result = result.name | 0;
|
|
7393
|
-
}
|
|
7394
|
-
HEAP32[params >> 2] = result;
|
|
7395
|
-
};
|
|
7396
|
-
var _emscripten_glGetFramebufferAttachmentParameteriv = _glGetFramebufferAttachmentParameteriv;
|
|
7397
7475
|
var _glGetIntegerv = (name_, p) => emscriptenWebGLGet(name_, p, 0);
|
|
7398
7476
|
var _emscripten_glGetIntegerv = _glGetIntegerv;
|
|
7399
7477
|
var _glGetInternalformativ = (target, internalformat, pname, bufSize, params) => {
|
|
@@ -7408,8 +7486,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7408
7486
|
var ret = GLctx.getInternalformatParameter(target, internalformat, pname);
|
|
7409
7487
|
if (ret === null)
|
|
7410
7488
|
return;
|
|
7411
|
-
for (var
|
|
7412
|
-
HEAP32[params +
|
|
7489
|
+
for (var i = 0; i < ret.length && i < bufSize; ++i) {
|
|
7490
|
+
HEAP32[params + i * 4 >> 2] = ret[i];
|
|
7413
7491
|
}
|
|
7414
7492
|
};
|
|
7415
7493
|
var _emscripten_glGetInternalformativ = _glGetInternalformativ;
|
|
@@ -7440,24 +7518,24 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7440
7518
|
} else if (pname == 35719) {
|
|
7441
7519
|
if (!program.maxUniformLength) {
|
|
7442
7520
|
var numActiveUniforms = GLctx.getProgramParameter(program, 35718);
|
|
7443
|
-
for (var
|
|
7444
|
-
program.maxUniformLength = Math.max(program.maxUniformLength, GLctx.getActiveUniform(program,
|
|
7521
|
+
for (var i = 0; i < numActiveUniforms; ++i) {
|
|
7522
|
+
program.maxUniformLength = Math.max(program.maxUniformLength, GLctx.getActiveUniform(program, i).name.length + 1);
|
|
7445
7523
|
}
|
|
7446
7524
|
}
|
|
7447
7525
|
HEAP32[p >> 2] = program.maxUniformLength;
|
|
7448
7526
|
} else if (pname == 35722) {
|
|
7449
7527
|
if (!program.maxAttributeLength) {
|
|
7450
7528
|
var numActiveAttributes = GLctx.getProgramParameter(program, 35721);
|
|
7451
|
-
for (var
|
|
7452
|
-
program.maxAttributeLength = Math.max(program.maxAttributeLength, GLctx.getActiveAttrib(program,
|
|
7529
|
+
for (var i = 0; i < numActiveAttributes; ++i) {
|
|
7530
|
+
program.maxAttributeLength = Math.max(program.maxAttributeLength, GLctx.getActiveAttrib(program, i).name.length + 1);
|
|
7453
7531
|
}
|
|
7454
7532
|
}
|
|
7455
7533
|
HEAP32[p >> 2] = program.maxAttributeLength;
|
|
7456
7534
|
} else if (pname == 35381) {
|
|
7457
7535
|
if (!program.maxUniformBlockNameLength) {
|
|
7458
7536
|
var numActiveUniformBlocks = GLctx.getProgramParameter(program, 35382);
|
|
7459
|
-
for (var
|
|
7460
|
-
program.maxUniformBlockNameLength = Math.max(program.maxUniformBlockNameLength, GLctx.getActiveUniformBlockName(program,
|
|
7537
|
+
for (var i = 0; i < numActiveUniformBlocks; ++i) {
|
|
7538
|
+
program.maxUniformBlockNameLength = Math.max(program.maxUniformBlockNameLength, GLctx.getActiveUniformBlockName(program, i).length + 1);
|
|
7461
7539
|
}
|
|
7462
7540
|
}
|
|
7463
7541
|
HEAP32[p >> 2] = program.maxUniformBlockNameLength;
|
|
@@ -7466,14 +7544,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7466
7544
|
}
|
|
7467
7545
|
};
|
|
7468
7546
|
var _emscripten_glGetProgramiv = _glGetProgramiv;
|
|
7469
|
-
var _glGetRenderbufferParameteriv = (target, pname, params) => {
|
|
7470
|
-
if (!params) {
|
|
7471
|
-
GL.recordError(1281);
|
|
7472
|
-
return;
|
|
7473
|
-
}
|
|
7474
|
-
HEAP32[params >> 2] = GLctx.getRenderbufferParameter(target, pname);
|
|
7475
|
-
};
|
|
7476
|
-
var _emscripten_glGetRenderbufferParameteriv = _glGetRenderbufferParameteriv;
|
|
7477
7547
|
var _glGetShaderInfoLog = (shader, maxLength, length, infoLog) => {
|
|
7478
7548
|
var log = GLctx.getShaderInfoLog(GL.shaders[shader]);
|
|
7479
7549
|
if (log === null)
|
|
@@ -7593,13 +7663,13 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7593
7663
|
var jstoi_q = (str) => parseInt(str);
|
|
7594
7664
|
var webglGetLeftBracePos = (name) => name.slice(-1) == "]" && name.lastIndexOf("[");
|
|
7595
7665
|
var webglPrepareUniformLocationsBeforeFirstUse = (program) => {
|
|
7596
|
-
var uniformLocsById = program.uniformLocsById, uniformSizeAndIdsByName = program.uniformSizeAndIdsByName,
|
|
7666
|
+
var uniformLocsById = program.uniformLocsById, uniformSizeAndIdsByName = program.uniformSizeAndIdsByName, i, j;
|
|
7597
7667
|
if (!uniformLocsById) {
|
|
7598
7668
|
program.uniformLocsById = uniformLocsById = {};
|
|
7599
7669
|
program.uniformArrayNamesById = {};
|
|
7600
7670
|
var numActiveUniforms = GLctx.getProgramParameter(program, 35718);
|
|
7601
|
-
for (
|
|
7602
|
-
var u = GLctx.getActiveUniform(program,
|
|
7671
|
+
for (i = 0; i < numActiveUniforms; ++i) {
|
|
7672
|
+
var u = GLctx.getActiveUniform(program, i);
|
|
7603
7673
|
var nm = u.name;
|
|
7604
7674
|
var sz = u.size;
|
|
7605
7675
|
var lb = webglGetLeftBracePos(nm);
|
|
@@ -7639,65 +7709,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7639
7709
|
return -1;
|
|
7640
7710
|
};
|
|
7641
7711
|
var _emscripten_glGetUniformLocation = _glGetUniformLocation;
|
|
7642
|
-
var _glGetVertexAttribPointerv = (index, pname, pointer) => {
|
|
7643
|
-
if (!pointer) {
|
|
7644
|
-
GL.recordError(1281);
|
|
7645
|
-
return;
|
|
7646
|
-
}
|
|
7647
|
-
HEAP32[pointer >> 2] = GLctx.getVertexAttribOffset(index, pname);
|
|
7648
|
-
};
|
|
7649
|
-
var _emscripten_glGetVertexAttribPointerv = _glGetVertexAttribPointerv;
|
|
7650
|
-
var emscriptenWebGLGetVertexAttrib = (index, pname, params, type) => {
|
|
7651
|
-
if (!params) {
|
|
7652
|
-
GL.recordError(1281);
|
|
7653
|
-
return;
|
|
7654
|
-
}
|
|
7655
|
-
var data = GLctx.getVertexAttrib(index, pname);
|
|
7656
|
-
if (pname == 34975) {
|
|
7657
|
-
HEAP32[params >> 2] = data && data["name"];
|
|
7658
|
-
} else if (typeof data == "number" || typeof data == "boolean") {
|
|
7659
|
-
switch (type) {
|
|
7660
|
-
case 0:
|
|
7661
|
-
HEAP32[params >> 2] = data;
|
|
7662
|
-
break;
|
|
7663
|
-
case 2:
|
|
7664
|
-
HEAPF32[params >> 2] = data;
|
|
7665
|
-
break;
|
|
7666
|
-
case 5:
|
|
7667
|
-
HEAP32[params >> 2] = Math.fround(data);
|
|
7668
|
-
break;
|
|
7669
|
-
}
|
|
7670
|
-
} else {
|
|
7671
|
-
for (var i2 = 0; i2 < data.length; i2++) {
|
|
7672
|
-
switch (type) {
|
|
7673
|
-
case 0:
|
|
7674
|
-
HEAP32[params + i2 * 4 >> 2] = data[i2];
|
|
7675
|
-
break;
|
|
7676
|
-
case 2:
|
|
7677
|
-
HEAPF32[params + i2 * 4 >> 2] = data[i2];
|
|
7678
|
-
break;
|
|
7679
|
-
case 5:
|
|
7680
|
-
HEAP32[params + i2 * 4 >> 2] = Math.fround(data[i2]);
|
|
7681
|
-
break;
|
|
7682
|
-
}
|
|
7683
|
-
}
|
|
7684
|
-
}
|
|
7685
|
-
};
|
|
7686
|
-
var _glGetVertexAttribiv = (index, pname, params) => {
|
|
7687
|
-
emscriptenWebGLGetVertexAttrib(index, pname, params, 5);
|
|
7688
|
-
};
|
|
7689
|
-
var _emscripten_glGetVertexAttribiv = _glGetVertexAttribiv;
|
|
7690
|
-
var _glIsEnabled = (x0) => GLctx.isEnabled(x0);
|
|
7691
|
-
var _emscripten_glIsEnabled = _glIsEnabled;
|
|
7692
|
-
var _glIsTexture = (id) => {
|
|
7693
|
-
var texture = GL.textures[id];
|
|
7694
|
-
if (!texture)
|
|
7695
|
-
return 0;
|
|
7696
|
-
return GLctx.isTexture(texture);
|
|
7697
|
-
};
|
|
7698
|
-
var _emscripten_glIsTexture = _glIsTexture;
|
|
7699
|
-
var _glLineWidth = (x0) => GLctx.lineWidth(x0);
|
|
7700
|
-
var _emscripten_glLineWidth = _glLineWidth;
|
|
7701
7712
|
var _glLinkProgram = (program) => {
|
|
7702
7713
|
program = GL.programs[program];
|
|
7703
7714
|
GLctx.linkProgram(program);
|
|
@@ -7808,20 +7819,8 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7808
7819
|
GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData);
|
|
7809
7820
|
};
|
|
7810
7821
|
var _emscripten_glTexImage2D = _glTexImage2D;
|
|
7811
|
-
var _glTexParameterf = (x0, x1, x2) => GLctx.texParameterf(x0, x1, x2);
|
|
7812
|
-
var _emscripten_glTexParameterf = _glTexParameterf;
|
|
7813
|
-
var _glTexParameterfv = (target, pname, params) => {
|
|
7814
|
-
var param = HEAPF32[params >> 2];
|
|
7815
|
-
GLctx.texParameterf(target, pname, param);
|
|
7816
|
-
};
|
|
7817
|
-
var _emscripten_glTexParameterfv = _glTexParameterfv;
|
|
7818
7822
|
var _glTexParameteri = (x0, x1, x2) => GLctx.texParameteri(x0, x1, x2);
|
|
7819
7823
|
var _emscripten_glTexParameteri = _glTexParameteri;
|
|
7820
|
-
var _glTexParameteriv = (target, pname, params) => {
|
|
7821
|
-
var param = HEAP32[params >> 2];
|
|
7822
|
-
GLctx.texParameteri(target, pname, param);
|
|
7823
|
-
};
|
|
7824
|
-
var _emscripten_glTexParameteriv = _glTexParameteriv;
|
|
7825
7824
|
var _glTexSubImage2D = (target, level, xoffset, yoffset, width, height, format, type, pixels) => {
|
|
7826
7825
|
if (GL.currentContext.version >= 2) {
|
|
7827
7826
|
if (GLctx.currentPixelUnpackBufferBinding) {
|
|
@@ -7850,294 +7849,25 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
7850
7849
|
GL.recordError(1282);
|
|
7851
7850
|
}
|
|
7852
7851
|
};
|
|
7853
|
-
var _glUniform1f = (location, v0) => {
|
|
7854
|
-
GLctx.uniform1f(webglGetUniformLocation(location), v0);
|
|
7855
|
-
};
|
|
7856
|
-
var _emscripten_glUniform1f = _glUniform1f;
|
|
7857
|
-
var miniTempWebGLFloatBuffers = [];
|
|
7858
|
-
var _glUniform1fv = (location, count, value) => {
|
|
7859
|
-
if (GL.currentContext.version >= 2) {
|
|
7860
|
-
count && GLctx.uniform1fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count);
|
|
7861
|
-
return;
|
|
7862
|
-
}
|
|
7863
|
-
if (count <= 288) {
|
|
7864
|
-
var view = miniTempWebGLFloatBuffers[count];
|
|
7865
|
-
for (var i2 = 0; i2 < count; ++i2) {
|
|
7866
|
-
view[i2] = HEAPF32[value + 4 * i2 >> 2];
|
|
7867
|
-
}
|
|
7868
|
-
} else {
|
|
7869
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 4 >> 2);
|
|
7870
|
-
}
|
|
7871
|
-
GLctx.uniform1fv(webglGetUniformLocation(location), view);
|
|
7872
|
-
};
|
|
7873
|
-
var _emscripten_glUniform1fv = _glUniform1fv;
|
|
7874
7852
|
var _glUniform1i = (location, v0) => {
|
|
7875
7853
|
GLctx.uniform1i(webglGetUniformLocation(location), v0);
|
|
7876
7854
|
};
|
|
7877
7855
|
var _emscripten_glUniform1i = _glUniform1i;
|
|
7878
|
-
var miniTempWebGLIntBuffers = [];
|
|
7879
|
-
var _glUniform1iv = (location, count, value) => {
|
|
7880
|
-
if (GL.currentContext.version >= 2) {
|
|
7881
|
-
count && GLctx.uniform1iv(webglGetUniformLocation(location), HEAP32, value >> 2, count);
|
|
7882
|
-
return;
|
|
7883
|
-
}
|
|
7884
|
-
if (count <= 288) {
|
|
7885
|
-
var view = miniTempWebGLIntBuffers[count];
|
|
7886
|
-
for (var i2 = 0; i2 < count; ++i2) {
|
|
7887
|
-
view[i2] = HEAP32[value + 4 * i2 >> 2];
|
|
7888
|
-
}
|
|
7889
|
-
} else {
|
|
7890
|
-
var view = HEAP32.subarray(value >> 2, value + count * 4 >> 2);
|
|
7891
|
-
}
|
|
7892
|
-
GLctx.uniform1iv(webglGetUniformLocation(location), view);
|
|
7893
|
-
};
|
|
7894
|
-
var _emscripten_glUniform1iv = _glUniform1iv;
|
|
7895
|
-
var _glUniform2f = (location, v0, v1) => {
|
|
7896
|
-
GLctx.uniform2f(webglGetUniformLocation(location), v0, v1);
|
|
7897
|
-
};
|
|
7898
|
-
var _emscripten_glUniform2f = _glUniform2f;
|
|
7899
|
-
var _glUniform2fv = (location, count, value) => {
|
|
7900
|
-
if (GL.currentContext.version >= 2) {
|
|
7901
|
-
count && GLctx.uniform2fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count * 2);
|
|
7902
|
-
return;
|
|
7903
|
-
}
|
|
7904
|
-
if (count <= 144) {
|
|
7905
|
-
count *= 2;
|
|
7906
|
-
var view = miniTempWebGLFloatBuffers[count];
|
|
7907
|
-
for (var i2 = 0; i2 < count; i2 += 2) {
|
|
7908
|
-
view[i2] = HEAPF32[value + 4 * i2 >> 2];
|
|
7909
|
-
view[i2 + 1] = HEAPF32[value + (4 * i2 + 4) >> 2];
|
|
7910
|
-
}
|
|
7911
|
-
} else {
|
|
7912
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 8 >> 2);
|
|
7913
|
-
}
|
|
7914
|
-
GLctx.uniform2fv(webglGetUniformLocation(location), view);
|
|
7915
|
-
};
|
|
7916
|
-
var _emscripten_glUniform2fv = _glUniform2fv;
|
|
7917
|
-
var _glUniform2i = (location, v0, v1) => {
|
|
7918
|
-
GLctx.uniform2i(webglGetUniformLocation(location), v0, v1);
|
|
7919
|
-
};
|
|
7920
|
-
var _emscripten_glUniform2i = _glUniform2i;
|
|
7921
|
-
var _glUniform2iv = (location, count, value) => {
|
|
7922
|
-
if (GL.currentContext.version >= 2) {
|
|
7923
|
-
count && GLctx.uniform2iv(webglGetUniformLocation(location), HEAP32, value >> 2, count * 2);
|
|
7924
|
-
return;
|
|
7925
|
-
}
|
|
7926
|
-
if (count <= 144) {
|
|
7927
|
-
count *= 2;
|
|
7928
|
-
var view = miniTempWebGLIntBuffers[count];
|
|
7929
|
-
for (var i2 = 0; i2 < count; i2 += 2) {
|
|
7930
|
-
view[i2] = HEAP32[value + 4 * i2 >> 2];
|
|
7931
|
-
view[i2 + 1] = HEAP32[value + (4 * i2 + 4) >> 2];
|
|
7932
|
-
}
|
|
7933
|
-
} else {
|
|
7934
|
-
var view = HEAP32.subarray(value >> 2, value + count * 8 >> 2);
|
|
7935
|
-
}
|
|
7936
|
-
GLctx.uniform2iv(webglGetUniformLocation(location), view);
|
|
7937
|
-
};
|
|
7938
|
-
var _emscripten_glUniform2iv = _glUniform2iv;
|
|
7939
|
-
var _glUniform3f = (location, v0, v1, v2) => {
|
|
7940
|
-
GLctx.uniform3f(webglGetUniformLocation(location), v0, v1, v2);
|
|
7941
|
-
};
|
|
7942
|
-
var _emscripten_glUniform3f = _glUniform3f;
|
|
7943
|
-
var _glUniform3fv = (location, count, value) => {
|
|
7944
|
-
if (GL.currentContext.version >= 2) {
|
|
7945
|
-
count && GLctx.uniform3fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count * 3);
|
|
7946
|
-
return;
|
|
7947
|
-
}
|
|
7948
|
-
if (count <= 96) {
|
|
7949
|
-
count *= 3;
|
|
7950
|
-
var view = miniTempWebGLFloatBuffers[count];
|
|
7951
|
-
for (var i2 = 0; i2 < count; i2 += 3) {
|
|
7952
|
-
view[i2] = HEAPF32[value + 4 * i2 >> 2];
|
|
7953
|
-
view[i2 + 1] = HEAPF32[value + (4 * i2 + 4) >> 2];
|
|
7954
|
-
view[i2 + 2] = HEAPF32[value + (4 * i2 + 8) >> 2];
|
|
7955
|
-
}
|
|
7956
|
-
} else {
|
|
7957
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 12 >> 2);
|
|
7958
|
-
}
|
|
7959
|
-
GLctx.uniform3fv(webglGetUniformLocation(location), view);
|
|
7960
|
-
};
|
|
7961
|
-
var _emscripten_glUniform3fv = _glUniform3fv;
|
|
7962
|
-
var _glUniform3i = (location, v0, v1, v2) => {
|
|
7963
|
-
GLctx.uniform3i(webglGetUniformLocation(location), v0, v1, v2);
|
|
7964
|
-
};
|
|
7965
|
-
var _emscripten_glUniform3i = _glUniform3i;
|
|
7966
|
-
var _glUniform3iv = (location, count, value) => {
|
|
7967
|
-
if (GL.currentContext.version >= 2) {
|
|
7968
|
-
count && GLctx.uniform3iv(webglGetUniformLocation(location), HEAP32, value >> 2, count * 3);
|
|
7969
|
-
return;
|
|
7970
|
-
}
|
|
7971
|
-
if (count <= 96) {
|
|
7972
|
-
count *= 3;
|
|
7973
|
-
var view = miniTempWebGLIntBuffers[count];
|
|
7974
|
-
for (var i2 = 0; i2 < count; i2 += 3) {
|
|
7975
|
-
view[i2] = HEAP32[value + 4 * i2 >> 2];
|
|
7976
|
-
view[i2 + 1] = HEAP32[value + (4 * i2 + 4) >> 2];
|
|
7977
|
-
view[i2 + 2] = HEAP32[value + (4 * i2 + 8) >> 2];
|
|
7978
|
-
}
|
|
7979
|
-
} else {
|
|
7980
|
-
var view = HEAP32.subarray(value >> 2, value + count * 12 >> 2);
|
|
7981
|
-
}
|
|
7982
|
-
GLctx.uniform3iv(webglGetUniformLocation(location), view);
|
|
7983
|
-
};
|
|
7984
|
-
var _emscripten_glUniform3iv = _glUniform3iv;
|
|
7985
|
-
var _glUniform4f = (location, v0, v1, v2, v3) => {
|
|
7986
|
-
GLctx.uniform4f(webglGetUniformLocation(location), v0, v1, v2, v3);
|
|
7987
|
-
};
|
|
7988
|
-
var _emscripten_glUniform4f = _glUniform4f;
|
|
7989
|
-
var _glUniform4fv = (location, count, value) => {
|
|
7990
|
-
if (GL.currentContext.version >= 2) {
|
|
7991
|
-
count && GLctx.uniform4fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count * 4);
|
|
7992
|
-
return;
|
|
7993
|
-
}
|
|
7994
|
-
if (count <= 72) {
|
|
7995
|
-
var view = miniTempWebGLFloatBuffers[4 * count];
|
|
7996
|
-
var heap = HEAPF32;
|
|
7997
|
-
value = value >> 2;
|
|
7998
|
-
count *= 4;
|
|
7999
|
-
for (var i2 = 0; i2 < count; i2 += 4) {
|
|
8000
|
-
var dst = value + i2;
|
|
8001
|
-
view[i2] = heap[dst];
|
|
8002
|
-
view[i2 + 1] = heap[dst + 1];
|
|
8003
|
-
view[i2 + 2] = heap[dst + 2];
|
|
8004
|
-
view[i2 + 3] = heap[dst + 3];
|
|
8005
|
-
}
|
|
8006
|
-
} else {
|
|
8007
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 16 >> 2);
|
|
8008
|
-
}
|
|
8009
|
-
GLctx.uniform4fv(webglGetUniformLocation(location), view);
|
|
8010
|
-
};
|
|
8011
|
-
var _emscripten_glUniform4fv = _glUniform4fv;
|
|
8012
|
-
var _glUniform4i = (location, v0, v1, v2, v3) => {
|
|
8013
|
-
GLctx.uniform4i(webglGetUniformLocation(location), v0, v1, v2, v3);
|
|
8014
|
-
};
|
|
8015
|
-
var _emscripten_glUniform4i = _glUniform4i;
|
|
8016
|
-
var _glUniform4iv = (location, count, value) => {
|
|
8017
|
-
if (GL.currentContext.version >= 2) {
|
|
8018
|
-
count && GLctx.uniform4iv(webglGetUniformLocation(location), HEAP32, value >> 2, count * 4);
|
|
8019
|
-
return;
|
|
8020
|
-
}
|
|
8021
|
-
if (count <= 72) {
|
|
8022
|
-
count *= 4;
|
|
8023
|
-
var view = miniTempWebGLIntBuffers[count];
|
|
8024
|
-
for (var i2 = 0; i2 < count; i2 += 4) {
|
|
8025
|
-
view[i2] = HEAP32[value + 4 * i2 >> 2];
|
|
8026
|
-
view[i2 + 1] = HEAP32[value + (4 * i2 + 4) >> 2];
|
|
8027
|
-
view[i2 + 2] = HEAP32[value + (4 * i2 + 8) >> 2];
|
|
8028
|
-
view[i2 + 3] = HEAP32[value + (4 * i2 + 12) >> 2];
|
|
8029
|
-
}
|
|
8030
|
-
} else {
|
|
8031
|
-
var view = HEAP32.subarray(value >> 2, value + count * 16 >> 2);
|
|
8032
|
-
}
|
|
8033
|
-
GLctx.uniform4iv(webglGetUniformLocation(location), view);
|
|
8034
|
-
};
|
|
8035
|
-
var _emscripten_glUniform4iv = _glUniform4iv;
|
|
8036
7856
|
var _glUniformBlockBinding = (program, uniformBlockIndex, uniformBlockBinding) => {
|
|
8037
7857
|
program = GL.programs[program];
|
|
8038
7858
|
GLctx.uniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
|
|
8039
7859
|
};
|
|
8040
7860
|
var _emscripten_glUniformBlockBinding = _glUniformBlockBinding;
|
|
8041
|
-
var _glUniformMatrix2fv = (location, count, transpose, value) => {
|
|
8042
|
-
if (GL.currentContext.version >= 2) {
|
|
8043
|
-
count && GLctx.uniformMatrix2fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 4);
|
|
8044
|
-
return;
|
|
8045
|
-
}
|
|
8046
|
-
if (count <= 72) {
|
|
8047
|
-
count *= 4;
|
|
8048
|
-
var view = miniTempWebGLFloatBuffers[count];
|
|
8049
|
-
for (var i2 = 0; i2 < count; i2 += 4) {
|
|
8050
|
-
view[i2] = HEAPF32[value + 4 * i2 >> 2];
|
|
8051
|
-
view[i2 + 1] = HEAPF32[value + (4 * i2 + 4) >> 2];
|
|
8052
|
-
view[i2 + 2] = HEAPF32[value + (4 * i2 + 8) >> 2];
|
|
8053
|
-
view[i2 + 3] = HEAPF32[value + (4 * i2 + 12) >> 2];
|
|
8054
|
-
}
|
|
8055
|
-
} else {
|
|
8056
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 16 >> 2);
|
|
8057
|
-
}
|
|
8058
|
-
GLctx.uniformMatrix2fv(webglGetUniformLocation(location), !!transpose, view);
|
|
8059
|
-
};
|
|
8060
|
-
var _emscripten_glUniformMatrix2fv = _glUniformMatrix2fv;
|
|
8061
|
-
var _glUniformMatrix3fv = (location, count, transpose, value) => {
|
|
8062
|
-
if (GL.currentContext.version >= 2) {
|
|
8063
|
-
count && GLctx.uniformMatrix3fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 9);
|
|
8064
|
-
return;
|
|
8065
|
-
}
|
|
8066
|
-
if (count <= 32) {
|
|
8067
|
-
count *= 9;
|
|
8068
|
-
var view = miniTempWebGLFloatBuffers[count];
|
|
8069
|
-
for (var i2 = 0; i2 < count; i2 += 9) {
|
|
8070
|
-
view[i2] = HEAPF32[value + 4 * i2 >> 2];
|
|
8071
|
-
view[i2 + 1] = HEAPF32[value + (4 * i2 + 4) >> 2];
|
|
8072
|
-
view[i2 + 2] = HEAPF32[value + (4 * i2 + 8) >> 2];
|
|
8073
|
-
view[i2 + 3] = HEAPF32[value + (4 * i2 + 12) >> 2];
|
|
8074
|
-
view[i2 + 4] = HEAPF32[value + (4 * i2 + 16) >> 2];
|
|
8075
|
-
view[i2 + 5] = HEAPF32[value + (4 * i2 + 20) >> 2];
|
|
8076
|
-
view[i2 + 6] = HEAPF32[value + (4 * i2 + 24) >> 2];
|
|
8077
|
-
view[i2 + 7] = HEAPF32[value + (4 * i2 + 28) >> 2];
|
|
8078
|
-
view[i2 + 8] = HEAPF32[value + (4 * i2 + 32) >> 2];
|
|
8079
|
-
}
|
|
8080
|
-
} else {
|
|
8081
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 36 >> 2);
|
|
8082
|
-
}
|
|
8083
|
-
GLctx.uniformMatrix3fv(webglGetUniformLocation(location), !!transpose, view);
|
|
8084
|
-
};
|
|
8085
|
-
var _emscripten_glUniformMatrix3fv = _glUniformMatrix3fv;
|
|
8086
|
-
var _glUniformMatrix4fv = (location, count, transpose, value) => {
|
|
8087
|
-
if (GL.currentContext.version >= 2) {
|
|
8088
|
-
count && GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 16);
|
|
8089
|
-
return;
|
|
8090
|
-
}
|
|
8091
|
-
if (count <= 18) {
|
|
8092
|
-
var view = miniTempWebGLFloatBuffers[16 * count];
|
|
8093
|
-
var heap = HEAPF32;
|
|
8094
|
-
value = value >> 2;
|
|
8095
|
-
count *= 16;
|
|
8096
|
-
for (var i2 = 0; i2 < count; i2 += 16) {
|
|
8097
|
-
var dst = value + i2;
|
|
8098
|
-
view[i2] = heap[dst];
|
|
8099
|
-
view[i2 + 1] = heap[dst + 1];
|
|
8100
|
-
view[i2 + 2] = heap[dst + 2];
|
|
8101
|
-
view[i2 + 3] = heap[dst + 3];
|
|
8102
|
-
view[i2 + 4] = heap[dst + 4];
|
|
8103
|
-
view[i2 + 5] = heap[dst + 5];
|
|
8104
|
-
view[i2 + 6] = heap[dst + 6];
|
|
8105
|
-
view[i2 + 7] = heap[dst + 7];
|
|
8106
|
-
view[i2 + 8] = heap[dst + 8];
|
|
8107
|
-
view[i2 + 9] = heap[dst + 9];
|
|
8108
|
-
view[i2 + 10] = heap[dst + 10];
|
|
8109
|
-
view[i2 + 11] = heap[dst + 11];
|
|
8110
|
-
view[i2 + 12] = heap[dst + 12];
|
|
8111
|
-
view[i2 + 13] = heap[dst + 13];
|
|
8112
|
-
view[i2 + 14] = heap[dst + 14];
|
|
8113
|
-
view[i2 + 15] = heap[dst + 15];
|
|
8114
|
-
}
|
|
8115
|
-
} else {
|
|
8116
|
-
var view = HEAPF32.subarray(value >> 2, value + count * 64 >> 2);
|
|
8117
|
-
}
|
|
8118
|
-
GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, view);
|
|
8119
|
-
};
|
|
8120
|
-
var _emscripten_glUniformMatrix4fv = _glUniformMatrix4fv;
|
|
8121
7861
|
var _glUseProgram = (program) => {
|
|
8122
7862
|
program = GL.programs[program];
|
|
8123
7863
|
GLctx.useProgram(program);
|
|
8124
7864
|
GLctx.currentProgram = program;
|
|
8125
7865
|
};
|
|
8126
7866
|
var _emscripten_glUseProgram = _glUseProgram;
|
|
8127
|
-
var
|
|
8128
|
-
|
|
8129
|
-
var _glVertexAttrib2fv = (index, v) => {
|
|
8130
|
-
GLctx.vertexAttrib2f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2]);
|
|
8131
|
-
};
|
|
8132
|
-
var _emscripten_glVertexAttrib2fv = _glVertexAttrib2fv;
|
|
8133
|
-
var _glVertexAttrib3fv = (index, v) => {
|
|
8134
|
-
GLctx.vertexAttrib3f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2]);
|
|
8135
|
-
};
|
|
8136
|
-
var _emscripten_glVertexAttrib3fv = _glVertexAttrib3fv;
|
|
8137
|
-
var _glVertexAttrib4fv = (index, v) => {
|
|
8138
|
-
GLctx.vertexAttrib4f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2], HEAPF32[v + 12 >> 2]);
|
|
7867
|
+
var _glVertexAttribDivisor = (index, divisor) => {
|
|
7868
|
+
GLctx.vertexAttribDivisor(index, divisor);
|
|
8139
7869
|
};
|
|
8140
|
-
var
|
|
7870
|
+
var _emscripten_glVertexAttribDivisor = _glVertexAttribDivisor;
|
|
8141
7871
|
var _glVertexAttribPointer = (index, size, type, normalized, stride, ptr) => {
|
|
8142
7872
|
GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr);
|
|
8143
7873
|
};
|
|
@@ -8149,7 +7879,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
8149
7879
|
GLctx.waitSync(GL.syncs[sync], flags, timeout);
|
|
8150
7880
|
};
|
|
8151
7881
|
var _emscripten_glWaitSync = _glWaitSync;
|
|
8152
|
-
var getHeapMax = () => 2147483648;
|
|
8153
7882
|
var alignMemory = (size, alignment) => Math.ceil(size / alignment) * alignment;
|
|
8154
7883
|
var growMemory = (size) => {
|
|
8155
7884
|
var oldHeapSize = wasmMemory.buffer.byteLength;
|
|
@@ -8219,7 +7948,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
8219
7948
|
}
|
|
8220
7949
|
var doReadv = (stream, iov, iovcnt, offset) => {
|
|
8221
7950
|
var ret = 0;
|
|
8222
|
-
for (var
|
|
7951
|
+
for (var i = 0; i < iovcnt; i++) {
|
|
8223
7952
|
var ptr = HEAPU32[iov >> 2];
|
|
8224
7953
|
var len = HEAPU32[iov + 4 >> 2];
|
|
8225
7954
|
iov += 8;
|
|
@@ -8266,7 +7995,7 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
8266
7995
|
}
|
|
8267
7996
|
var doWritev = (stream, iov, iovcnt, offset) => {
|
|
8268
7997
|
var ret = 0;
|
|
8269
|
-
for (var
|
|
7998
|
+
for (var i = 0; i < iovcnt; i++) {
|
|
8270
7999
|
var ptr = HEAPU32[iov >> 2];
|
|
8271
8000
|
var len = HEAPU32[iov + 4 >> 2];
|
|
8272
8001
|
iov += 8;
|
|
@@ -8300,14 +8029,6 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
8300
8029
|
FS.staticInit();
|
|
8301
8030
|
init_ClassHandle();
|
|
8302
8031
|
init_RegisteredPointer();
|
|
8303
|
-
var miniTempWebGLFloatBuffersStorage = new Float32Array(288);
|
|
8304
|
-
for (var i = 0; i <= 288; ++i) {
|
|
8305
|
-
miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i);
|
|
8306
|
-
}
|
|
8307
|
-
var miniTempWebGLIntBuffersStorage = new Int32Array(288);
|
|
8308
|
-
for (var i = 0; i <= 288; ++i) {
|
|
8309
|
-
miniTempWebGLIntBuffers[i] = miniTempWebGLIntBuffersStorage.subarray(0, i);
|
|
8310
|
-
}
|
|
8311
8032
|
{
|
|
8312
8033
|
if (Module["noExitRuntime"])
|
|
8313
8034
|
Module["noExitRuntime"];
|
|
@@ -8334,11 +8055,11 @@ async function PAGInit$1(moduleArg = {}) {
|
|
|
8334
8055
|
Module["GL"] = GL;
|
|
8335
8056
|
var ___getTypeName, _malloc, _free;
|
|
8336
8057
|
function assignWasmExports(wasmExports2) {
|
|
8337
|
-
___getTypeName = wasmExports2["
|
|
8338
|
-
Module["_malloc"] = _malloc = wasmExports2["
|
|
8339
|
-
Module["_free"] = _free = wasmExports2["
|
|
8058
|
+
___getTypeName = wasmExports2["Ub"];
|
|
8059
|
+
Module["_malloc"] = _malloc = wasmExports2["Wb"];
|
|
8060
|
+
Module["_free"] = _free = wasmExports2["Xb"];
|
|
8340
8061
|
}
|
|
8341
|
-
var wasmImports = { w: ___cxa_throw,
|
|
8062
|
+
var wasmImports = { w: ___cxa_throw, J: ___syscall_fcntl64, ib: ___syscall_getdents64, pb: ___syscall_ioctl, gb: ___syscall_mkdirat, K: ___syscall_openat, lb: ___syscall_rmdir, hb: ___syscall_stat64, mb: ___syscall_unlinkat, qb: __abort_js, u: __embind_finalize_value_object, H: __embind_register_bigint, db: __embind_register_bool, j: __embind_register_class, h: __embind_register_class_class_function, v: __embind_register_class_constructor, a: __embind_register_class_function, g: __embind_register_class_property, bb: __embind_register_emval, B: __embind_register_enum, p: __embind_register_enum_value, G: __embind_register_float, F: __embind_register_function, r: __embind_register_integer, k: __embind_register_memory_view, y: __embind_register_optional, n: __embind_register_smart_ptr, cb: __embind_register_std_string, D: __embind_register_std_wstring, t: __embind_register_value_object, l: __embind_register_value_object_field, eb: __embind_register_void, c: __emval_create_invoker, d: __emval_decref, E: __emval_equals, x: __emval_get_global, i: __emval_get_module_property, o: __emval_get_property, f: __emval_incref, _a: __emval_instanceof, b: __emval_invoke, ab: __emval_new_array, q: __emval_new_cstring, $a: __emval_new_object, e: __emval_run_destructors, C: __emval_set_property, jb: _clock_time_get, L: _emscripten_get_canvas_element_size, fb: _emscripten_get_heap_max, Ya: _emscripten_glActiveTexture, Xa: _emscripten_glAttachShader, Wa: _emscripten_glBindBuffer, Rb: _emscripten_glBindBufferRange, Va: _emscripten_glBindFramebuffer, Ua: _emscripten_glBindRenderbuffer, Ta: _emscripten_glBindTexture, Sa: _emscripten_glBindVertexArray, tb: _emscripten_glBindVertexArrayOES, Ra: _emscripten_glBlendEquation, Qa: _emscripten_glBlendEquationSeparate, Pa: _emscripten_glBlendFunc, Oa: _emscripten_glBlendFuncSeparate, Na: _emscripten_glBlitFramebuffer, Ma: _emscripten_glBufferData, La: _emscripten_glBufferSubData, Ka: _emscripten_glCheckFramebufferStatus, Ja: _emscripten_glClear, Ia: _emscripten_glClearColor, Ha: _emscripten_glClearDepthf, Ga: _emscripten_glClearStencil, Fa: _emscripten_glClientWaitSync, Ea: _emscripten_glColorMask, Da: _emscripten_glCompileShader, Ca: _emscripten_glCopyTexSubImage2D, Ba: _emscripten_glCreateProgram, Aa: _emscripten_glCreateShader, za: _emscripten_glDeleteBuffers, ya: _emscripten_glDeleteFramebuffers, xa: _emscripten_glDeleteProgram, wa: _emscripten_glDeleteRenderbuffers, va: _emscripten_glDeleteShader, ua: _emscripten_glDeleteSync, ta: _emscripten_glDeleteTextures, sa: _emscripten_glDeleteVertexArrays, sb: _emscripten_glDeleteVertexArraysOES, ra: _emscripten_glDepthFunc, qa: _emscripten_glDepthMask, pa: _emscripten_glDisable, oa: _emscripten_glDrawArrays, ma: _emscripten_glDrawArraysInstanced, na: _emscripten_glDrawElements, la: _emscripten_glDrawElementsInstanced, ka: _emscripten_glEnable, ja: _emscripten_glEnableVertexAttribArray, ia: _emscripten_glFenceSync, ha: _emscripten_glFinish, ga: _emscripten_glFlush, fa: _emscripten_glFramebufferRenderbuffer, ea: _emscripten_glFramebufferTexture2D, da: _emscripten_glGenBuffers, ca: _emscripten_glGenFramebuffers, ba: _emscripten_glGenRenderbuffers, aa: _emscripten_glGenTextures, $: _emscripten_glGenVertexArrays, rb: _emscripten_glGenVertexArraysOES, _: _emscripten_glGenerateMipmap, P: _emscripten_glGetAttribLocation, ub: _emscripten_glGetBufferSubData, Z: _emscripten_glGetError, Y: _emscripten_glGetIntegerv, X: _emscripten_glGetInternalformativ, W: _emscripten_glGetProgramInfoLog, V: _emscripten_glGetProgramiv, U: _emscripten_glGetShaderInfoLog, T: _emscripten_glGetShaderPrecisionFormat, S: _emscripten_glGetShaderiv, R: _emscripten_glGetString, Q: _emscripten_glGetStringi, N: _emscripten_glGetUniformBlockIndex, O: _emscripten_glGetUniformLocation, Qb: _emscripten_glLinkProgram, Pb: _emscripten_glPixelStorei, Ob: _emscripten_glReadPixels, Nb: _emscripten_glRenderbufferStorage, Mb: _emscripten_glRenderbufferStorageMultisample, Lb: _emscripten_glScissor, Kb: _emscripten_glShaderSource, Jb: _emscripten_glStencilFunc, Ib: _emscripten_glStencilFuncSeparate, Hb: _emscripten_glStencilMask, Gb: _emscripten_glStencilMaskSeparate, Fb: _emscripten_glStencilOp, Eb: _emscripten_glStencilOpSeparate, Db: _emscripten_glTexImage2D, Cb: _emscripten_glTexParameteri, Bb: _emscripten_glTexSubImage2D, Ab: _emscripten_glUniform1i, M: _emscripten_glUniformBlockBinding, zb: _emscripten_glUseProgram, xb: _emscripten_glVertexAttribDivisor, yb: _emscripten_glVertexAttribPointer, wb: _emscripten_glViewport, vb: _emscripten_glWaitSync, kb: _emscripten_resize_heap, Za: _emscripten_webgl_create_context, A: _emscripten_webgl_destroy_context, s: _emscripten_webgl_get_current_context, m: _emscripten_webgl_make_context_current, z: _fd_close, ob: _fd_read, nb: _fd_seek, I: _fd_write };
|
|
8342
8063
|
function run() {
|
|
8343
8064
|
if (runDependencies > 0) {
|
|
8344
8065
|
dependenciesFulfilled = run;
|