@sketch-hq/sketch-web-renderer 14.4.2 → 14.5.1

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.
@@ -2843,77 +2843,6 @@ var WebRendererWasmFactory = (() => {
2843
2843
  // N.B. a shorter form "_emscripten_get_now = performance.now;" is
2844
2844
  // unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
2845
2845
  _emscripten_get_now = () => performance.now();
2846
- var _emscripten_request_animation_frame = (cb, userData) => requestAnimationFrame(timeStamp => getWasmTableEntry(cb)(timeStamp, userData));
2847
- var getHeapMax = () =>
2848
- // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
2849
- // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
2850
- // for any code that deals with heap sizes, which would require special
2851
- // casing all heap size related code to treat 0 specially.
2852
- 2147483648;
2853
- var growMemory = size => {
2854
- var b = wasmMemory.buffer;
2855
- var pages = (size - b.byteLength + 65535) / 65536;
2856
- try {
2857
- // round size grow request up to wasm page size (fixed 64KB per spec)
2858
- wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size
2859
- updateMemoryViews();
2860
- return 1 /*success*/;
2861
- } catch (e) {
2862
- err("growMemory: Attempted to grow heap from ".concat(b.byteLength, " bytes to ").concat(size, " bytes, but got error: ").concat(e));
2863
- }
2864
- // implicit 0 return to save code size (caller will cast "undefined" into 0
2865
- // anyhow)
2866
- };
2867
- var _emscripten_resize_heap = requestedSize => {
2868
- var oldSize = HEAPU8.length;
2869
- // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
2870
- requestedSize >>>= 0;
2871
- // With multithreaded builds, races can happen (another thread might increase the size
2872
- // in between), so return a failure, and let the caller retry.
2873
- assert(requestedSize > oldSize);
2874
-
2875
- // Memory resize rules:
2876
- // 1. Always increase heap size to at least the requested size, rounded up
2877
- // to next page multiple.
2878
- // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
2879
- // geometrically: increase the heap size according to
2880
- // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
2881
- // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
2882
- // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
2883
- // linearly: increase the heap size by at least
2884
- // MEMORY_GROWTH_LINEAR_STEP bytes.
2885
- // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
2886
- // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
2887
- // 4. If we were unable to allocate as much memory, it may be due to
2888
- // over-eager decision to excessively reserve due to (3) above.
2889
- // Hence if an allocation fails, cut down on the amount of excess
2890
- // growth, in an attempt to succeed to perform a smaller allocation.
2891
-
2892
- // A limit is set for how much we can grow. We should not exceed that
2893
- // (the wasm binary specifies it, so if we tried, we'd fail anyhow).
2894
- var maxHeapSize = getHeapMax();
2895
- if (requestedSize > maxHeapSize) {
2896
- err("Cannot enlarge memory, requested ".concat(requestedSize, " bytes, but the limit is ").concat(maxHeapSize, " bytes!"));
2897
- return false;
2898
- }
2899
- var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
2900
-
2901
- // Loop through potential heap size increases. If we attempt a too eager
2902
- // reservation that fails, cut down on the attempted size and reserve a
2903
- // smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
2904
- for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
2905
- var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth
2906
- // but limit overreserving (default to capping at +96MB overgrowth at most)
2907
- overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
2908
- var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
2909
- var replacement = growMemory(newSize);
2910
- if (replacement) {
2911
- return true;
2912
- }
2913
- }
2914
- err("Failed to grow the heap from ".concat(oldSize, " bytes to ").concat(newSize, " bytes, not enough memory!"));
2915
- return false;
2916
- };
2917
2846
  var webgl_enable_ANGLE_instanced_arrays = ctx => {
2918
2847
  // Extension available in WebGL 1 from Firefox 26 and Google Chrome 30 onwards. Core feature in WebGL 2.
2919
2848
  var ext = ctx.getExtension('ANGLE_instanced_arrays');
@@ -3134,137 +3063,35 @@ var WebRendererWasmFactory = (() => {
3134
3063
  });
3135
3064
  }
3136
3065
  };
3137
- var _emscripten_webgl_make_context_current = contextHandle => {
3138
- var success = GL.makeContextCurrent(contextHandle);
3139
- return success ? 0 : -5;
3140
- };
3141
- var ENV = {};
3142
- var getExecutableName = () => {
3143
- return thisProgram ;
3144
- };
3145
- var getEnvStrings = () => {
3146
- if (!getEnvStrings.strings) {
3147
- // Default values.
3148
- // Browser language detection #8751
3149
- var lang = (typeof navigator == 'object' && navigator.languages && navigator.languages[0] || 'C').replace('-', '_') + '.UTF-8';
3150
- var env = {
3151
- 'USER': 'web_user',
3152
- 'LOGNAME': 'web_user',
3153
- 'PATH': '/',
3154
- 'PWD': '/',
3155
- 'HOME': '/home/web_user',
3156
- 'LANG': lang,
3157
- '_': getExecutableName()
3158
- };
3159
- // Apply the user-provided values, if any.
3160
- for (var x in ENV) {
3161
- // x is a key in ENV; if ENV[x] is undefined, that means it was
3162
- // explicitly set to be so. We allow user code to do that to
3163
- // force variables with default values to remain unset.
3164
- if (ENV[x] === undefined) delete env[x];else env[x] = ENV[x];
3165
- }
3166
- var strings = [];
3167
- for (var x in env) {
3168
- strings.push("".concat(x, "=").concat(env[x]));
3169
- }
3170
- getEnvStrings.strings = strings;
3171
- }
3172
- return getEnvStrings.strings;
3173
- };
3174
- var stringToAscii = (str, buffer) => {
3175
- for (var i = 0; i < str.length; ++i) {
3176
- assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff));
3177
- HEAP8[buffer++] = str.charCodeAt(i);
3178
- }
3179
- // Null-terminate the string
3180
- HEAP8[buffer] = 0;
3181
- };
3182
- var _environ_get = (__environ, environ_buf) => {
3183
- var bufSize = 0;
3184
- getEnvStrings().forEach((string, i) => {
3185
- var ptr = environ_buf + bufSize;
3186
- HEAPU32[__environ + i * 4 >> 2] = ptr;
3187
- stringToAscii(string, ptr);
3188
- bufSize += string.length + 1;
3189
- });
3190
- return 0;
3191
- };
3192
- var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
3193
- var strings = getEnvStrings();
3194
- HEAPU32[penviron_count >> 2] = strings.length;
3195
- var bufSize = 0;
3196
- strings.forEach(string => bufSize += string.length + 1);
3197
- HEAPU32[penviron_buf_size >> 2] = bufSize;
3198
- return 0;
3199
- };
3200
- var runtimeKeepaliveCounter = 0;
3201
- var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
3202
- var _proc_exit = code => {
3203
- if (!keepRuntimeAlive()) {
3204
- ABORT = true;
3205
- }
3206
- quit_(code, new ExitStatus(code));
3207
- };
3208
-
3209
3066
  /** @suppress {duplicate } */
3210
- /** @param {boolean|number=} implicit */
3211
- var exitJS = (status, implicit) => {
3212
- checkUnflushedContent();
3213
-
3214
- // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down
3215
- if (keepRuntimeAlive() && !implicit) {
3216
- var msg = "program exited (with status: ".concat(status, "), but keepRuntimeAlive() is set (counter=").concat(runtimeKeepaliveCounter, ") due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)");
3217
- readyPromiseReject(msg);
3218
- err(msg);
3219
- }
3220
- _proc_exit(status);
3221
- };
3222
- var _exit = exitJS;
3223
- var _fd_close = fd => {
3224
- abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM');
3225
- };
3226
- function _fd_seek(fd, offset, whence, newOffset) {
3227
- return 70;
3228
- }
3229
- var printCharBuffers = [null, [], []];
3230
- var printChar = (stream, curr) => {
3231
- var buffer = printCharBuffers[stream];
3232
- assert(buffer);
3233
- if (curr === 0 || curr === 10) {
3234
- (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
3235
- buffer.length = 0;
3236
- } else {
3237
- buffer.push(curr);
3238
- }
3239
- };
3240
- var flush_NO_FILESYSTEM = () => {
3241
- // flush anything remaining in the buffers during shutdown
3242
- _fflush(0);
3243
- if (printCharBuffers[1].length) printChar(1, 10);
3244
- if (printCharBuffers[2].length) printChar(2, 10);
3245
- };
3246
- var _fd_write = (fd, iov, iovcnt, pnum) => {
3247
- // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0
3248
- var num = 0;
3249
- for (var i = 0; i < iovcnt; i++) {
3250
- var ptr = HEAPU32[iov >> 2];
3251
- var len = HEAPU32[iov + 4 >> 2];
3252
- iov += 8;
3253
- for (var j = 0; j < len; j++) {
3254
- printChar(fd, HEAPU8[ptr + j]);
3255
- }
3256
- num += len;
3257
- }
3258
- HEAPU32[pnum >> 2] = num;
3259
- return 0;
3260
- };
3261
3067
  var _glActiveTexture = x0 => GLctx.activeTexture(x0);
3068
+ var _emscripten_glActiveTexture = _glActiveTexture;
3069
+
3070
+ /** @suppress {duplicate } */
3262
3071
  var _glAttachShader = (program, shader) => {
3263
3072
  GLctx.attachShader(GL.programs[program], GL.shaders[shader]);
3264
3073
  };
3074
+ var _emscripten_glAttachShader = _glAttachShader;
3075
+
3076
+ /** @suppress {duplicate } */
3077
+ var _glBeginQuery = (target, id) => {
3078
+ GLctx.beginQuery(target, GL.queries[id]);
3079
+ };
3080
+ var _emscripten_glBeginQuery = _glBeginQuery;
3081
+
3082
+ /** @suppress {duplicate } */
3083
+ var _glBeginQueryEXT = (target, id) => {
3084
+ GLctx.disjointTimerQueryExt['beginQueryEXT'](target, GL.queries[id]);
3085
+ };
3086
+ var _emscripten_glBeginQueryEXT = _glBeginQueryEXT;
3087
+
3088
+ /** @suppress {duplicate } */
3265
3089
  var _glBindAttribLocation = (program, index, name) => {
3266
3090
  GLctx.bindAttribLocation(GL.programs[program], index, UTF8ToString(name));
3267
3091
  };
3092
+ var _emscripten_glBindAttribLocation = _glBindAttribLocation;
3093
+
3094
+ /** @suppress {duplicate } */
3268
3095
  var _glBindBuffer = (target, buffer) => {
3269
3096
  if (target == 0x88EB /*GL_PIXEL_PACK_BUFFER*/) {
3270
3097
  // In WebGL 2 glReadPixels entry point, we need to use a different WebGL 2
@@ -3283,26 +3110,59 @@ var WebRendererWasmFactory = (() => {
3283
3110
  }
3284
3111
  GLctx.bindBuffer(target, GL.buffers[buffer]);
3285
3112
  };
3113
+ var _emscripten_glBindBuffer = _glBindBuffer;
3114
+
3115
+ /** @suppress {duplicate } */
3286
3116
  var _glBindFramebuffer = (target, framebuffer) => {
3287
3117
  GLctx.bindFramebuffer(target, GL.framebuffers[framebuffer]);
3288
3118
  };
3119
+ var _emscripten_glBindFramebuffer = _glBindFramebuffer;
3120
+
3121
+ /** @suppress {duplicate } */
3289
3122
  var _glBindRenderbuffer = (target, renderbuffer) => {
3290
3123
  GLctx.bindRenderbuffer(target, GL.renderbuffers[renderbuffer]);
3291
3124
  };
3125
+ var _emscripten_glBindRenderbuffer = _glBindRenderbuffer;
3126
+
3127
+ /** @suppress {duplicate } */
3292
3128
  var _glBindSampler = (unit, sampler) => {
3293
3129
  GLctx.bindSampler(unit, GL.samplers[sampler]);
3294
3130
  };
3131
+ var _emscripten_glBindSampler = _glBindSampler;
3132
+
3133
+ /** @suppress {duplicate } */
3295
3134
  var _glBindTexture = (target, texture) => {
3296
3135
  GLctx.bindTexture(target, GL.textures[texture]);
3297
3136
  };
3137
+ var _emscripten_glBindTexture = _glBindTexture;
3138
+
3139
+ /** @suppress {duplicate } */
3298
3140
  var _glBindVertexArray = vao => {
3299
3141
  GLctx.bindVertexArray(GL.vaos[vao]);
3300
3142
  };
3143
+ var _emscripten_glBindVertexArray = _glBindVertexArray;
3144
+
3145
+ /** @suppress {duplicate } */
3301
3146
  var _glBindVertexArrayOES = _glBindVertexArray;
3147
+ var _emscripten_glBindVertexArrayOES = _glBindVertexArrayOES;
3148
+
3149
+ /** @suppress {duplicate } */
3302
3150
  var _glBlendColor = (x0, x1, x2, x3) => GLctx.blendColor(x0, x1, x2, x3);
3151
+ var _emscripten_glBlendColor = _glBlendColor;
3152
+
3153
+ /** @suppress {duplicate } */
3303
3154
  var _glBlendEquation = x0 => GLctx.blendEquation(x0);
3155
+ var _emscripten_glBlendEquation = _glBlendEquation;
3156
+
3157
+ /** @suppress {duplicate } */
3304
3158
  var _glBlendFunc = (x0, x1) => GLctx.blendFunc(x0, x1);
3159
+ var _emscripten_glBlendFunc = _glBlendFunc;
3160
+
3161
+ /** @suppress {duplicate } */
3305
3162
  var _glBlitFramebuffer = (x0, x1, x2, x3, x4, x5, x6, x7, x8, x9) => GLctx.blitFramebuffer(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9);
3163
+ var _emscripten_glBlitFramebuffer = _glBlitFramebuffer;
3164
+
3165
+ /** @suppress {duplicate } */
3306
3166
  var _glBufferData = (target, size, data, usage) => {
3307
3167
  if (GL.currentContext.version >= 2) {
3308
3168
  // If size is zero, WebGL would interpret uploading the whole input
@@ -3322,6 +3182,9 @@ var WebRendererWasmFactory = (() => {
3322
3182
  // engine JIT issues.
3323
3183
  GLctx.bufferData(target, data ? HEAPU8.subarray(data, data + size) : size, usage);
3324
3184
  };
3185
+ var _emscripten_glBufferData = _glBufferData;
3186
+
3187
+ /** @suppress {duplicate } */
3325
3188
  var _glBufferSubData = (target, offset, size, data) => {
3326
3189
  if (GL.currentContext.version >= 2) {
3327
3190
  size && GLctx.bufferSubData(target, offset, HEAPU8, data, size);
@@ -3329,10 +3192,25 @@ var WebRendererWasmFactory = (() => {
3329
3192
  }
3330
3193
  GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data + size));
3331
3194
  };
3195
+ var _emscripten_glBufferSubData = _glBufferSubData;
3196
+
3197
+ /** @suppress {duplicate } */
3332
3198
  var _glCheckFramebufferStatus = x0 => GLctx.checkFramebufferStatus(x0);
3199
+ var _emscripten_glCheckFramebufferStatus = _glCheckFramebufferStatus;
3200
+
3201
+ /** @suppress {duplicate } */
3333
3202
  var _glClear = x0 => GLctx.clear(x0);
3203
+ var _emscripten_glClear = _glClear;
3204
+
3205
+ /** @suppress {duplicate } */
3334
3206
  var _glClearColor = (x0, x1, x2, x3) => GLctx.clearColor(x0, x1, x2, x3);
3207
+ var _emscripten_glClearColor = _glClearColor;
3208
+
3209
+ /** @suppress {duplicate } */
3335
3210
  var _glClearStencil = x0 => GLctx.clearStencil(x0);
3211
+ var _emscripten_glClearStencil = _glClearStencil;
3212
+
3213
+ /** @suppress {duplicate } */
3336
3214
  var _glClientWaitSync = (sync, flags, timeout) => {
3337
3215
  // WebGL2 vs GLES3 differences: in GLES3, the timeout parameter is a uint64, where 0xFFFFFFFFFFFFFFFFULL means GL_TIMEOUT_IGNORED.
3338
3216
  // In JS, there's no 64-bit value types, so instead timeout is taken to be signed, and GL_TIMEOUT_IGNORED is given value -1.
@@ -3341,12 +3219,21 @@ var WebRendererWasmFactory = (() => {
3341
3219
  timeout = Number(timeout);
3342
3220
  return GLctx.clientWaitSync(GL.syncs[sync], flags, timeout);
3343
3221
  };
3222
+ var _emscripten_glClientWaitSync = _glClientWaitSync;
3223
+
3224
+ /** @suppress {duplicate } */
3344
3225
  var _glColorMask = (red, green, blue, alpha) => {
3345
3226
  GLctx.colorMask(!!red, !!green, !!blue, !!alpha);
3346
3227
  };
3228
+ var _emscripten_glColorMask = _glColorMask;
3229
+
3230
+ /** @suppress {duplicate } */
3347
3231
  var _glCompileShader = shader => {
3348
3232
  GLctx.compileShader(GL.shaders[shader]);
3349
3233
  };
3234
+ var _emscripten_glCompileShader = _glCompileShader;
3235
+
3236
+ /** @suppress {duplicate } */
3350
3237
  var _glCompressedTexImage2D = (target, level, internalFormat, width, height, border, imageSize, data) => {
3351
3238
  if (GL.currentContext.version >= 2) {
3352
3239
  if (GLctx.currentPixelUnpackBufferBinding || !imageSize) {
@@ -3358,6 +3245,9 @@ var WebRendererWasmFactory = (() => {
3358
3245
  }
3359
3246
  GLctx.compressedTexImage2D(target, level, internalFormat, width, height, border, data ? HEAPU8.subarray(data, data + imageSize) : null);
3360
3247
  };
3248
+ var _emscripten_glCompressedTexImage2D = _glCompressedTexImage2D;
3249
+
3250
+ /** @suppress {duplicate } */
3361
3251
  var _glCompressedTexSubImage2D = (target, level, xoffset, yoffset, width, height, format, imageSize, data) => {
3362
3252
  if (GL.currentContext.version >= 2) {
3363
3253
  if (GLctx.currentPixelUnpackBufferBinding || !imageSize) {
@@ -3369,8 +3259,17 @@ var WebRendererWasmFactory = (() => {
3369
3259
  }
3370
3260
  GLctx.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray(data, data + imageSize) : null);
3371
3261
  };
3262
+ var _emscripten_glCompressedTexSubImage2D = _glCompressedTexSubImage2D;
3263
+
3264
+ /** @suppress {duplicate } */
3372
3265
  var _glCopyBufferSubData = (x0, x1, x2, x3, x4) => GLctx.copyBufferSubData(x0, x1, x2, x3, x4);
3266
+ var _emscripten_glCopyBufferSubData = _glCopyBufferSubData;
3267
+
3268
+ /** @suppress {duplicate } */
3373
3269
  var _glCopyTexSubImage2D = (x0, x1, x2, x3, x4, x5, x6, x7) => GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7);
3270
+ var _emscripten_glCopyTexSubImage2D = _glCopyTexSubImage2D;
3271
+
3272
+ /** @suppress {duplicate } */
3374
3273
  var _glCreateProgram = () => {
3375
3274
  var id = GL.getNewId(GL.programs);
3376
3275
  var program = GLctx.createProgram();
@@ -3383,12 +3282,21 @@ var WebRendererWasmFactory = (() => {
3383
3282
  GL.programs[id] = program;
3384
3283
  return id;
3385
3284
  };
3285
+ var _emscripten_glCreateProgram = _glCreateProgram;
3286
+
3287
+ /** @suppress {duplicate } */
3386
3288
  var _glCreateShader = shaderType => {
3387
3289
  var id = GL.getNewId(GL.shaders);
3388
3290
  GL.shaders[id] = GLctx.createShader(shaderType);
3389
3291
  return id;
3390
3292
  };
3293
+ var _emscripten_glCreateShader = _glCreateShader;
3294
+
3295
+ /** @suppress {duplicate } */
3391
3296
  var _glCullFace = x0 => GLctx.cullFace(x0);
3297
+ var _emscripten_glCullFace = _glCullFace;
3298
+
3299
+ /** @suppress {duplicate } */
3392
3300
  var _glDeleteBuffers = (n, buffers) => {
3393
3301
  for (var i = 0; i < n; i++) {
3394
3302
  var id = HEAP32[buffers + i * 4 >> 2];
@@ -3404,6 +3312,9 @@ var WebRendererWasmFactory = (() => {
3404
3312
  if (id == GLctx.currentPixelUnpackBufferBinding) GLctx.currentPixelUnpackBufferBinding = 0;
3405
3313
  }
3406
3314
  };
3315
+ var _emscripten_glDeleteBuffers = _glDeleteBuffers;
3316
+
3317
+ /** @suppress {duplicate } */
3407
3318
  var _glDeleteFramebuffers = (n, framebuffers) => {
3408
3319
  for (var i = 0; i < n; ++i) {
3409
3320
  var id = HEAP32[framebuffers + i * 4 >> 2];
@@ -3414,6 +3325,9 @@ var WebRendererWasmFactory = (() => {
3414
3325
  GL.framebuffers[id] = null;
3415
3326
  }
3416
3327
  };
3328
+ var _emscripten_glDeleteFramebuffers = _glDeleteFramebuffers;
3329
+
3330
+ /** @suppress {duplicate } */
3417
3331
  var _glDeleteProgram = id => {
3418
3332
  if (!id) return;
3419
3333
  var program = GL.programs[id];
@@ -3427,6 +3341,33 @@ var WebRendererWasmFactory = (() => {
3427
3341
  program.name = 0;
3428
3342
  GL.programs[id] = null;
3429
3343
  };
3344
+ var _emscripten_glDeleteProgram = _glDeleteProgram;
3345
+
3346
+ /** @suppress {duplicate } */
3347
+ var _glDeleteQueries = (n, ids) => {
3348
+ for (var i = 0; i < n; i++) {
3349
+ var id = HEAP32[ids + i * 4 >> 2];
3350
+ var query = GL.queries[id];
3351
+ if (!query) continue; // GL spec: "unused names in ids are ignored, as is the name zero."
3352
+ GLctx.deleteQuery(query);
3353
+ GL.queries[id] = null;
3354
+ }
3355
+ };
3356
+ var _emscripten_glDeleteQueries = _glDeleteQueries;
3357
+
3358
+ /** @suppress {duplicate } */
3359
+ var _glDeleteQueriesEXT = (n, ids) => {
3360
+ for (var i = 0; i < n; i++) {
3361
+ var id = HEAP32[ids + i * 4 >> 2];
3362
+ var query = GL.queries[id];
3363
+ if (!query) continue; // GL spec: "unused names in ids are ignored, as is the name zero."
3364
+ GLctx.disjointTimerQueryExt['deleteQueryEXT'](query);
3365
+ GL.queries[id] = null;
3366
+ }
3367
+ };
3368
+ var _emscripten_glDeleteQueriesEXT = _glDeleteQueriesEXT;
3369
+
3370
+ /** @suppress {duplicate } */
3430
3371
  var _glDeleteRenderbuffers = (n, renderbuffers) => {
3431
3372
  for (var i = 0; i < n; i++) {
3432
3373
  var id = HEAP32[renderbuffers + i * 4 >> 2];
@@ -3437,6 +3378,9 @@ var WebRendererWasmFactory = (() => {
3437
3378
  GL.renderbuffers[id] = null;
3438
3379
  }
3439
3380
  };
3381
+ var _emscripten_glDeleteRenderbuffers = _glDeleteRenderbuffers;
3382
+
3383
+ /** @suppress {duplicate } */
3440
3384
  var _glDeleteSamplers = (n, samplers) => {
3441
3385
  for (var i = 0; i < n; i++) {
3442
3386
  var id = HEAP32[samplers + i * 4 >> 2];
@@ -3447,6 +3391,9 @@ var WebRendererWasmFactory = (() => {
3447
3391
  GL.samplers[id] = null;
3448
3392
  }
3449
3393
  };
3394
+ var _emscripten_glDeleteSamplers = _glDeleteSamplers;
3395
+
3396
+ /** @suppress {duplicate } */
3450
3397
  var _glDeleteShader = id => {
3451
3398
  if (!id) return;
3452
3399
  var shader = GL.shaders[id];
@@ -3459,6 +3406,9 @@ var WebRendererWasmFactory = (() => {
3459
3406
  GLctx.deleteShader(shader);
3460
3407
  GL.shaders[id] = null;
3461
3408
  };
3409
+ var _emscripten_glDeleteShader = _glDeleteShader;
3410
+
3411
+ /** @suppress {duplicate } */
3462
3412
  var _glDeleteSync = id => {
3463
3413
  if (!id) return;
3464
3414
  var sync = GL.syncs[id];
@@ -3471,6 +3421,9 @@ var WebRendererWasmFactory = (() => {
3471
3421
  sync.name = 0;
3472
3422
  GL.syncs[id] = null;
3473
3423
  };
3424
+ var _emscripten_glDeleteSync = _glDeleteSync;
3425
+
3426
+ /** @suppress {duplicate } */
3474
3427
  var _glDeleteTextures = (n, textures) => {
3475
3428
  for (var i = 0; i < n; i++) {
3476
3429
  var id = HEAP32[textures + i * 4 >> 2];
@@ -3483,6 +3436,9 @@ var WebRendererWasmFactory = (() => {
3483
3436
  GL.textures[id] = null;
3484
3437
  }
3485
3438
  };
3439
+ var _emscripten_glDeleteTextures = _glDeleteTextures;
3440
+
3441
+ /** @suppress {duplicate } */
3486
3442
  var _glDeleteVertexArrays = (n, vaos) => {
3487
3443
  for (var i = 0; i < n; i++) {
3488
3444
  var id = HEAP32[vaos + i * 4 >> 2];
@@ -3490,24 +3446,48 @@ var WebRendererWasmFactory = (() => {
3490
3446
  GL.vaos[id] = null;
3491
3447
  }
3492
3448
  };
3449
+ var _emscripten_glDeleteVertexArrays = _glDeleteVertexArrays;
3450
+
3451
+ /** @suppress {duplicate } */
3493
3452
  var _glDeleteVertexArraysOES = _glDeleteVertexArrays;
3453
+ var _emscripten_glDeleteVertexArraysOES = _glDeleteVertexArraysOES;
3454
+
3455
+ /** @suppress {duplicate } */
3494
3456
  var _glDepthMask = flag => {
3495
3457
  GLctx.depthMask(!!flag);
3496
3458
  };
3459
+ var _emscripten_glDepthMask = _glDepthMask;
3460
+
3461
+ /** @suppress {duplicate } */
3497
3462
  var _glDisable = x0 => GLctx.disable(x0);
3463
+ var _emscripten_glDisable = _glDisable;
3464
+
3465
+ /** @suppress {duplicate } */
3498
3466
  var _glDisableVertexAttribArray = index => {
3499
3467
  GLctx.disableVertexAttribArray(index);
3500
3468
  };
3469
+ var _emscripten_glDisableVertexAttribArray = _glDisableVertexAttribArray;
3470
+
3471
+ /** @suppress {duplicate } */
3501
3472
  var _glDrawArrays = (mode, first, count) => {
3502
3473
  GLctx.drawArrays(mode, first, count);
3503
3474
  };
3475
+ var _emscripten_glDrawArrays = _glDrawArrays;
3476
+
3477
+ /** @suppress {duplicate } */
3504
3478
  var _glDrawArraysInstanced = (mode, first, count, primcount) => {
3505
3479
  GLctx.drawArraysInstanced(mode, first, count, primcount);
3506
3480
  };
3481
+ var _emscripten_glDrawArraysInstanced = _glDrawArraysInstanced;
3482
+
3483
+ /** @suppress {duplicate } */
3507
3484
  var _glDrawArraysInstancedBaseInstanceWEBGL = (mode, first, count, instanceCount, baseInstance) => {
3508
3485
  GLctx.dibvbi['drawArraysInstancedBaseInstanceWEBGL'](mode, first, count, instanceCount, baseInstance);
3509
3486
  };
3487
+ var _emscripten_glDrawArraysInstancedBaseInstanceWEBGL = _glDrawArraysInstancedBaseInstanceWEBGL;
3510
3488
  var tempFixedLengthArray = [];
3489
+
3490
+ /** @suppress {duplicate } */
3511
3491
  var _glDrawBuffers = (n, bufs) => {
3512
3492
  var bufArray = tempFixedLengthArray[n];
3513
3493
  for (var i = 0; i < n; i++) {
@@ -3515,15 +3495,27 @@ var WebRendererWasmFactory = (() => {
3515
3495
  }
3516
3496
  GLctx.drawBuffers(bufArray);
3517
3497
  };
3498
+ var _emscripten_glDrawBuffers = _glDrawBuffers;
3499
+
3500
+ /** @suppress {duplicate } */
3518
3501
  var _glDrawElements = (mode, count, type, indices) => {
3519
3502
  GLctx.drawElements(mode, count, type, indices);
3520
3503
  };
3504
+ var _emscripten_glDrawElements = _glDrawElements;
3505
+
3506
+ /** @suppress {duplicate } */
3521
3507
  var _glDrawElementsInstanced = (mode, count, type, indices, primcount) => {
3522
3508
  GLctx.drawElementsInstanced(mode, count, type, indices, primcount);
3523
3509
  };
3510
+ var _emscripten_glDrawElementsInstanced = _glDrawElementsInstanced;
3511
+
3512
+ /** @suppress {duplicate } */
3524
3513
  var _glDrawElementsInstancedBaseVertexBaseInstanceWEBGL = (mode, count, type, offset, instanceCount, baseVertex, baseinstance) => {
3525
3514
  GLctx.dibvbi['drawElementsInstancedBaseVertexBaseInstanceWEBGL'](mode, count, type, offset, instanceCount, baseVertex, baseinstance);
3526
3515
  };
3516
+ var _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL = _glDrawElementsInstancedBaseVertexBaseInstanceWEBGL;
3517
+
3518
+ /** @suppress {duplicate } */
3527
3519
  var _glDrawRangeElements = (mode, start, end, count, type, indices) => {
3528
3520
  // TODO: This should be a trivial pass-though function registered at the bottom of this page as
3529
3521
  // glFuncs[6][1] += ' drawRangeElements';
@@ -3531,10 +3523,29 @@ var WebRendererWasmFactory = (() => {
3531
3523
  // we work around by ignoring the range.
3532
3524
  _glDrawElements(mode, count, type, indices);
3533
3525
  };
3526
+ var _emscripten_glDrawRangeElements = _glDrawRangeElements;
3527
+
3528
+ /** @suppress {duplicate } */
3534
3529
  var _glEnable = x0 => GLctx.enable(x0);
3530
+ var _emscripten_glEnable = _glEnable;
3531
+
3532
+ /** @suppress {duplicate } */
3535
3533
  var _glEnableVertexAttribArray = index => {
3536
3534
  GLctx.enableVertexAttribArray(index);
3537
3535
  };
3536
+ var _emscripten_glEnableVertexAttribArray = _glEnableVertexAttribArray;
3537
+
3538
+ /** @suppress {duplicate } */
3539
+ var _glEndQuery = x0 => GLctx.endQuery(x0);
3540
+ var _emscripten_glEndQuery = _glEndQuery;
3541
+
3542
+ /** @suppress {duplicate } */
3543
+ var _glEndQueryEXT = target => {
3544
+ GLctx.disjointTimerQueryExt['endQueryEXT'](target);
3545
+ };
3546
+ var _emscripten_glEndQueryEXT = _glEndQueryEXT;
3547
+
3548
+ /** @suppress {duplicate } */
3538
3549
  var _glFenceSync = (condition, flags) => {
3539
3550
  var sync = GLctx.fenceSync(condition, flags);
3540
3551
  if (sync) {
@@ -3545,35 +3556,100 @@ var WebRendererWasmFactory = (() => {
3545
3556
  }
3546
3557
  return 0; // Failed to create a sync object
3547
3558
  };
3559
+ var _emscripten_glFenceSync = _glFenceSync;
3560
+
3561
+ /** @suppress {duplicate } */
3548
3562
  var _glFinish = () => GLctx.finish();
3563
+ var _emscripten_glFinish = _glFinish;
3564
+
3565
+ /** @suppress {duplicate } */
3549
3566
  var _glFlush = () => GLctx.flush();
3567
+ var _emscripten_glFlush = _glFlush;
3568
+
3569
+ /** @suppress {duplicate } */
3550
3570
  var _glFramebufferRenderbuffer = (target, attachment, renderbuffertarget, renderbuffer) => {
3551
3571
  GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, GL.renderbuffers[renderbuffer]);
3552
3572
  };
3573
+ var _emscripten_glFramebufferRenderbuffer = _glFramebufferRenderbuffer;
3574
+
3575
+ /** @suppress {duplicate } */
3553
3576
  var _glFramebufferTexture2D = (target, attachment, textarget, texture, level) => {
3554
3577
  GLctx.framebufferTexture2D(target, attachment, textarget, GL.textures[texture], level);
3555
3578
  };
3579
+ var _emscripten_glFramebufferTexture2D = _glFramebufferTexture2D;
3580
+
3581
+ /** @suppress {duplicate } */
3556
3582
  var _glFrontFace = x0 => GLctx.frontFace(x0);
3583
+ var _emscripten_glFrontFace = _glFrontFace;
3584
+
3585
+ /** @suppress {duplicate } */
3557
3586
  var _glGenBuffers = (n, buffers) => {
3558
3587
  GL.genObject(n, buffers, 'createBuffer', GL.buffers);
3559
3588
  };
3589
+ var _emscripten_glGenBuffers = _glGenBuffers;
3590
+
3591
+ /** @suppress {duplicate } */
3560
3592
  var _glGenFramebuffers = (n, ids) => {
3561
3593
  GL.genObject(n, ids, 'createFramebuffer', GL.framebuffers);
3562
3594
  };
3595
+ var _emscripten_glGenFramebuffers = _glGenFramebuffers;
3596
+
3597
+ /** @suppress {duplicate } */
3598
+ var _glGenQueries = (n, ids) => {
3599
+ GL.genObject(n, ids, 'createQuery', GL.queries);
3600
+ };
3601
+ var _emscripten_glGenQueries = _glGenQueries;
3602
+
3603
+ /** @suppress {duplicate } */
3604
+ var _glGenQueriesEXT = (n, ids) => {
3605
+ for (var i = 0; i < n; i++) {
3606
+ var query = GLctx.disjointTimerQueryExt['createQueryEXT']();
3607
+ if (!query) {
3608
+ GL.recordError(0x502 /* GL_INVALID_OPERATION */);
3609
+ while (i < n) HEAP32[ids + i++ * 4 >> 2] = 0;
3610
+ return;
3611
+ }
3612
+ var id = GL.getNewId(GL.queries);
3613
+ query.name = id;
3614
+ GL.queries[id] = query;
3615
+ HEAP32[ids + i * 4 >> 2] = id;
3616
+ }
3617
+ };
3618
+ var _emscripten_glGenQueriesEXT = _glGenQueriesEXT;
3619
+
3620
+ /** @suppress {duplicate } */
3563
3621
  var _glGenRenderbuffers = (n, renderbuffers) => {
3564
3622
  GL.genObject(n, renderbuffers, 'createRenderbuffer', GL.renderbuffers);
3565
3623
  };
3624
+ var _emscripten_glGenRenderbuffers = _glGenRenderbuffers;
3625
+
3626
+ /** @suppress {duplicate } */
3566
3627
  var _glGenSamplers = (n, samplers) => {
3567
3628
  GL.genObject(n, samplers, 'createSampler', GL.samplers);
3568
3629
  };
3630
+ var _emscripten_glGenSamplers = _glGenSamplers;
3631
+
3632
+ /** @suppress {duplicate } */
3569
3633
  var _glGenTextures = (n, textures) => {
3570
3634
  GL.genObject(n, textures, 'createTexture', GL.textures);
3571
3635
  };
3636
+ var _emscripten_glGenTextures = _glGenTextures;
3637
+
3638
+ /** @suppress {duplicate } */
3572
3639
  var _glGenVertexArrays = (n, arrays) => {
3573
3640
  GL.genObject(n, arrays, 'createVertexArray', GL.vaos);
3574
3641
  };
3642
+ var _emscripten_glGenVertexArrays = _glGenVertexArrays;
3643
+
3644
+ /** @suppress {duplicate } */
3575
3645
  var _glGenVertexArraysOES = _glGenVertexArrays;
3646
+ var _emscripten_glGenVertexArraysOES = _glGenVertexArraysOES;
3647
+
3648
+ /** @suppress {duplicate } */
3576
3649
  var _glGenerateMipmap = x0 => GLctx.generateMipmap(x0);
3650
+ var _emscripten_glGenerateMipmap = _glGenerateMipmap;
3651
+
3652
+ /** @suppress {duplicate } */
3577
3653
  var _glGetBufferParameteriv = (target, value, data) => {
3578
3654
  if (!data) {
3579
3655
  // GLES2 specification does not specify how to behave if data is a null
@@ -3584,11 +3660,15 @@ var WebRendererWasmFactory = (() => {
3584
3660
  }
3585
3661
  HEAP32[data >> 2] = GLctx.getBufferParameter(target, value);
3586
3662
  };
3663
+ var _emscripten_glGetBufferParameteriv = _glGetBufferParameteriv;
3664
+
3665
+ /** @suppress {duplicate } */
3587
3666
  var _glGetError = () => {
3588
3667
  var error = GLctx.getError() || GL.lastError;
3589
3668
  GL.lastError = 0 /*GL_NO_ERROR*/;
3590
3669
  return error;
3591
3670
  };
3671
+ var _emscripten_glGetError = _glGetError;
3592
3672
  var readI53FromI64 = ptr => {
3593
3673
  return HEAPU32[ptr >> 2] + HEAP32[ptr + 4 >> 2] * 4294967296;
3594
3674
  };
@@ -3760,7 +3840,12 @@ var WebRendererWasmFactory = (() => {
3760
3840
  break;
3761
3841
  }
3762
3842
  };
3843
+
3844
+ /** @suppress {duplicate } */
3763
3845
  var _glGetFloatv = (name_, p) => emscriptenWebGLGet(name_, p, 2);
3846
+ var _emscripten_glGetFloatv = _glGetFloatv;
3847
+
3848
+ /** @suppress {duplicate } */
3764
3849
  var _glGetFramebufferAttachmentParameteriv = (target, attachment, pname, params) => {
3765
3850
  var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname);
3766
3851
  if (result instanceof WebGLRenderbuffer || result instanceof WebGLTexture) {
@@ -3768,13 +3853,22 @@ var WebRendererWasmFactory = (() => {
3768
3853
  }
3769
3854
  HEAP32[params >> 2] = result;
3770
3855
  };
3856
+ var _emscripten_glGetFramebufferAttachmentParameteriv = _glGetFramebufferAttachmentParameteriv;
3857
+
3858
+ /** @suppress {duplicate } */
3771
3859
  var _glGetIntegerv = (name_, p) => emscriptenWebGLGet(name_, p, 0);
3860
+ var _emscripten_glGetIntegerv = _glGetIntegerv;
3861
+
3862
+ /** @suppress {duplicate } */
3772
3863
  var _glGetProgramInfoLog = (program, maxLength, length, infoLog) => {
3773
3864
  var log = GLctx.getProgramInfoLog(GL.programs[program]);
3774
3865
  if (log === null) log = '(unknown error)';
3775
3866
  var numBytesWrittenExclNull = maxLength > 0 && infoLog ? stringToUTF8(log, infoLog, maxLength) : 0;
3776
3867
  if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
3777
3868
  };
3869
+ var _emscripten_glGetProgramInfoLog = _glGetProgramInfoLog;
3870
+
3871
+ /** @suppress {duplicate } */
3778
3872
  var _glGetProgramiv = (program, pname, p) => {
3779
3873
  if (!p) {
3780
3874
  // GLES2 specification does not specify how to behave if p is a null
@@ -3818,6 +3912,104 @@ var WebRendererWasmFactory = (() => {
3818
3912
  HEAP32[p >> 2] = GLctx.getProgramParameter(program, pname);
3819
3913
  }
3820
3914
  };
3915
+ var _emscripten_glGetProgramiv = _glGetProgramiv;
3916
+
3917
+ /** @suppress {duplicate } */
3918
+ var _glGetQueryObjecti64vEXT = (id, pname, params) => {
3919
+ if (!params) {
3920
+ // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense
3921
+ // if p == null, issue a GL error to notify user about it.
3922
+ GL.recordError(0x501 /* GL_INVALID_VALUE */);
3923
+ return;
3924
+ }
3925
+ var query = GL.queries[id];
3926
+ var param;
3927
+ if (GL.currentContext.version < 2) {
3928
+ param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname);
3929
+ } else {
3930
+ param = GLctx.getQueryParameter(query, pname);
3931
+ }
3932
+ var ret;
3933
+ if (typeof param == 'boolean') {
3934
+ ret = param ? 1 : 0;
3935
+ } else {
3936
+ ret = param;
3937
+ }
3938
+ writeI53ToI64(params, ret);
3939
+ };
3940
+ var _emscripten_glGetQueryObjecti64vEXT = _glGetQueryObjecti64vEXT;
3941
+
3942
+ /** @suppress {duplicate } */
3943
+ var _glGetQueryObjectui64vEXT = _glGetQueryObjecti64vEXT;
3944
+ var _emscripten_glGetQueryObjectui64vEXT = _glGetQueryObjectui64vEXT;
3945
+
3946
+ /** @suppress {duplicate } */
3947
+ var _glGetQueryObjectuiv = (id, pname, params) => {
3948
+ if (!params) {
3949
+ // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense
3950
+ // if p == null, issue a GL error to notify user about it.
3951
+ GL.recordError(0x501 /* GL_INVALID_VALUE */);
3952
+ return;
3953
+ }
3954
+ var query = GL.queries[id];
3955
+ var param = GLctx.getQueryParameter(query, pname);
3956
+ var ret;
3957
+ if (typeof param == 'boolean') {
3958
+ ret = param ? 1 : 0;
3959
+ } else {
3960
+ ret = param;
3961
+ }
3962
+ HEAP32[params >> 2] = ret;
3963
+ };
3964
+ var _emscripten_glGetQueryObjectuiv = _glGetQueryObjectuiv;
3965
+
3966
+ /** @suppress {duplicate } */
3967
+ var _glGetQueryObjectivEXT = (id, pname, params) => {
3968
+ if (!params) {
3969
+ // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense
3970
+ // if p == null, issue a GL error to notify user about it.
3971
+ GL.recordError(0x501 /* GL_INVALID_VALUE */);
3972
+ return;
3973
+ }
3974
+ var query = GL.queries[id];
3975
+ var param = GLctx.disjointTimerQueryExt['getQueryObjectEXT'](query, pname);
3976
+ var ret;
3977
+ if (typeof param == 'boolean') {
3978
+ ret = param ? 1 : 0;
3979
+ } else {
3980
+ ret = param;
3981
+ }
3982
+ HEAP32[params >> 2] = ret;
3983
+ };
3984
+ /** @suppress {duplicate } */
3985
+ var _glGetQueryObjectuivEXT = _glGetQueryObjectivEXT;
3986
+ var _emscripten_glGetQueryObjectuivEXT = _glGetQueryObjectuivEXT;
3987
+
3988
+ /** @suppress {duplicate } */
3989
+ var _glGetQueryiv = (target, pname, params) => {
3990
+ if (!params) {
3991
+ // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense
3992
+ // if p == null, issue a GL error to notify user about it.
3993
+ GL.recordError(0x501 /* GL_INVALID_VALUE */);
3994
+ return;
3995
+ }
3996
+ HEAP32[params >> 2] = GLctx.getQuery(target, pname);
3997
+ };
3998
+ var _emscripten_glGetQueryiv = _glGetQueryiv;
3999
+
4000
+ /** @suppress {duplicate } */
4001
+ var _glGetQueryivEXT = (target, pname, params) => {
4002
+ if (!params) {
4003
+ // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense
4004
+ // if p == null, issue a GL error to notify user about it.
4005
+ GL.recordError(0x501 /* GL_INVALID_VALUE */);
4006
+ return;
4007
+ }
4008
+ HEAP32[params >> 2] = GLctx.disjointTimerQueryExt['getQueryEXT'](target, pname);
4009
+ };
4010
+ var _emscripten_glGetQueryivEXT = _glGetQueryivEXT;
4011
+
4012
+ /** @suppress {duplicate } */
3821
4013
  var _glGetRenderbufferParameteriv = (target, pname, params) => {
3822
4014
  if (!params) {
3823
4015
  // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense
@@ -3827,18 +4019,27 @@ var WebRendererWasmFactory = (() => {
3827
4019
  }
3828
4020
  HEAP32[params >> 2] = GLctx.getRenderbufferParameter(target, pname);
3829
4021
  };
4022
+ var _emscripten_glGetRenderbufferParameteriv = _glGetRenderbufferParameteriv;
4023
+
4024
+ /** @suppress {duplicate } */
3830
4025
  var _glGetShaderInfoLog = (shader, maxLength, length, infoLog) => {
3831
4026
  var log = GLctx.getShaderInfoLog(GL.shaders[shader]);
3832
4027
  if (log === null) log = '(unknown error)';
3833
4028
  var numBytesWrittenExclNull = maxLength > 0 && infoLog ? stringToUTF8(log, infoLog, maxLength) : 0;
3834
4029
  if (length) HEAP32[length >> 2] = numBytesWrittenExclNull;
3835
4030
  };
4031
+ var _emscripten_glGetShaderInfoLog = _glGetShaderInfoLog;
4032
+
4033
+ /** @suppress {duplicate } */
3836
4034
  var _glGetShaderPrecisionFormat = (shaderType, precisionType, range, precision) => {
3837
4035
  var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType);
3838
4036
  HEAP32[range >> 2] = result.rangeMin;
3839
4037
  HEAP32[range + 4 >> 2] = result.rangeMax;
3840
4038
  HEAP32[precision >> 2] = result.precision;
3841
4039
  };
4040
+ var _emscripten_glGetShaderPrecisionFormat = _glGetShaderPrecisionFormat;
4041
+
4042
+ /** @suppress {duplicate } */
3842
4043
  var _glGetShaderiv = (shader, pname, p) => {
3843
4044
  if (!p) {
3844
4045
  // GLES2 specification does not specify how to behave if p is a null
@@ -3868,12 +4069,15 @@ var WebRendererWasmFactory = (() => {
3868
4069
  HEAP32[p >> 2] = GLctx.getShaderParameter(GL.shaders[shader], pname);
3869
4070
  }
3870
4071
  };
4072
+ var _emscripten_glGetShaderiv = _glGetShaderiv;
3871
4073
  var stringToNewUTF8 = str => {
3872
4074
  var size = lengthBytesUTF8(str) + 1;
3873
4075
  var ret = _malloc(size);
3874
4076
  if (ret) stringToUTF8(str, ret, size);
3875
4077
  return ret;
3876
4078
  };
4079
+
4080
+ /** @suppress {duplicate } */
3877
4081
  var _glGetString = name_ => {
3878
4082
  var ret = GL.stringCache[name_];
3879
4083
  if (!ret) {
@@ -3918,6 +4122,9 @@ var WebRendererWasmFactory = (() => {
3918
4122
  }
3919
4123
  return ret;
3920
4124
  };
4125
+ var _emscripten_glGetString = _glGetString;
4126
+
4127
+ /** @suppress {duplicate } */
3921
4128
  var _glGetStringi = (name, index) => {
3922
4129
  if (GL.currentContext.version < 2) {
3923
4130
  GL.recordError(0x502 /* GL_INVALID_OPERATION */); // Calling GLES3/WebGL2 function with a GLES2/WebGL1 context
@@ -3945,6 +4152,7 @@ var WebRendererWasmFactory = (() => {
3945
4152
  return 0;
3946
4153
  }
3947
4154
  };
4155
+ var _emscripten_glGetStringi = _glGetStringi;
3948
4156
 
3949
4157
  /** @suppress {checkTypes} */
3950
4158
  var jstoi_q = str => parseInt(str);
@@ -3992,6 +4200,8 @@ var WebRendererWasmFactory = (() => {
3992
4200
  }
3993
4201
  }
3994
4202
  };
4203
+
4204
+ /** @suppress {duplicate } */
3995
4205
  var _glGetUniformLocation = (program, name) => {
3996
4206
  name = UTF8ToString(name);
3997
4207
  if (program = GL.programs[program]) {
@@ -4037,6 +4247,9 @@ var WebRendererWasmFactory = (() => {
4037
4247
  }
4038
4248
  return -1;
4039
4249
  };
4250
+ var _emscripten_glGetUniformLocation = _glGetUniformLocation;
4251
+
4252
+ /** @suppress {duplicate } */
4040
4253
  var _glInvalidateFramebuffer = (target, numAttachments, attachments) => {
4041
4254
  var list = tempFixedLengthArray[numAttachments];
4042
4255
  for (var i = 0; i < numAttachments; i++) {
@@ -4044,6 +4257,9 @@ var WebRendererWasmFactory = (() => {
4044
4257
  }
4045
4258
  GLctx.invalidateFramebuffer(target, list);
4046
4259
  };
4260
+ var _emscripten_glInvalidateFramebuffer = _glInvalidateFramebuffer;
4261
+
4262
+ /** @suppress {duplicate } */
4047
4263
  var _glInvalidateSubFramebuffer = (target, numAttachments, attachments, x, y, width, height) => {
4048
4264
  var list = tempFixedLengthArray[numAttachments];
4049
4265
  for (var i = 0; i < numAttachments; i++) {
@@ -4051,13 +4267,25 @@ var WebRendererWasmFactory = (() => {
4051
4267
  }
4052
4268
  GLctx.invalidateSubFramebuffer(target, list, x, y, width, height);
4053
4269
  };
4270
+ var _emscripten_glInvalidateSubFramebuffer = _glInvalidateSubFramebuffer;
4271
+
4272
+ /** @suppress {duplicate } */
4054
4273
  var _glIsSync = sync => GLctx.isSync(GL.syncs[sync]);
4274
+ var _emscripten_glIsSync = _glIsSync;
4275
+
4276
+ /** @suppress {duplicate } */
4055
4277
  var _glIsTexture = id => {
4056
4278
  var texture = GL.textures[id];
4057
4279
  if (!texture) return 0;
4058
4280
  return GLctx.isTexture(texture);
4059
4281
  };
4282
+ var _emscripten_glIsTexture = _glIsTexture;
4283
+
4284
+ /** @suppress {duplicate } */
4060
4285
  var _glLineWidth = x0 => GLctx.lineWidth(x0);
4286
+ var _emscripten_glLineWidth = _glLineWidth;
4287
+
4288
+ /** @suppress {duplicate } */
4061
4289
  var _glLinkProgram = program => {
4062
4290
  program = GL.programs[program];
4063
4291
  GLctx.linkProgram(program);
@@ -4065,19 +4293,38 @@ var WebRendererWasmFactory = (() => {
4065
4293
  program.uniformLocsById = 0; // Mark as null-like so that glGetUniformLocation() knows to populate this again.
4066
4294
  program.uniformSizeAndIdsByName = {};
4067
4295
  };
4296
+ var _emscripten_glLinkProgram = _glLinkProgram;
4297
+
4298
+ /** @suppress {duplicate } */
4068
4299
  var _glMultiDrawArraysInstancedBaseInstanceWEBGL = (mode, firsts, counts, instanceCounts, baseInstances, drawCount) => {
4069
4300
  GLctx.mdibvbi['multiDrawArraysInstancedBaseInstanceWEBGL'](mode, HEAP32, firsts >> 2, HEAP32, counts >> 2, HEAP32, instanceCounts >> 2, HEAPU32, baseInstances >> 2, drawCount);
4070
4301
  };
4302
+ var _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL = _glMultiDrawArraysInstancedBaseInstanceWEBGL;
4303
+
4304
+ /** @suppress {duplicate } */
4071
4305
  var _glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL = (mode, counts, type, offsets, instanceCounts, baseVertices, baseInstances, drawCount) => {
4072
4306
  GLctx.mdibvbi['multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL'](mode, HEAP32, counts >> 2, type, HEAP32, offsets >> 2, HEAP32, instanceCounts >> 2, HEAP32, baseVertices >> 2, HEAPU32, baseInstances >> 2, drawCount);
4073
4307
  };
4308
+ var _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL = _glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL;
4309
+
4310
+ /** @suppress {duplicate } */
4074
4311
  var _glPixelStorei = (pname, param) => {
4075
4312
  if (pname == 0xCF5 /* GL_UNPACK_ALIGNMENT */) {
4076
4313
  GL.unpackAlignment = param;
4077
4314
  }
4078
4315
  GLctx.pixelStorei(pname, param);
4079
4316
  };
4317
+ var _emscripten_glPixelStorei = _glPixelStorei;
4318
+
4319
+ /** @suppress {duplicate } */
4320
+ var _glQueryCounterEXT = (id, target) => {
4321
+ GLctx.disjointTimerQueryExt['queryCounterEXT'](GL.queries[id], target);
4322
+ };
4323
+ var _emscripten_glQueryCounterEXT = _glQueryCounterEXT;
4324
+
4325
+ /** @suppress {duplicate } */
4080
4326
  var _glReadBuffer = x0 => GLctx.readBuffer(x0);
4327
+ var _emscripten_glReadBuffer = _glReadBuffer;
4081
4328
  var computeUnpackAlignedImageSize = (width, height, sizePerPixel, alignment) => {
4082
4329
  function roundedToNextMultipleOf(x, y) {
4083
4330
  return x + y - 1 & -y;
@@ -4130,6 +4377,8 @@ var WebRendererWasmFactory = (() => {
4130
4377
  var bytes = computeUnpackAlignedImageSize(width, height, sizePerPixel, GL.unpackAlignment);
4131
4378
  return heap.subarray(toTypedArrayIndex(pixels, heap), toTypedArrayIndex(pixels + bytes, heap));
4132
4379
  };
4380
+
4381
+ /** @suppress {duplicate } */
4133
4382
  var _glReadPixels = (x, y, width, height, format, type, pixels) => {
4134
4383
  if (GL.currentContext.version >= 2) {
4135
4384
  if (GLctx.currentPixelPackBufferBinding) {
@@ -4148,29 +4397,71 @@ var WebRendererWasmFactory = (() => {
4148
4397
  }
4149
4398
  GLctx.readPixels(x, y, width, height, format, type, pixelData);
4150
4399
  };
4400
+ var _emscripten_glReadPixels = _glReadPixels;
4401
+
4402
+ /** @suppress {duplicate } */
4151
4403
  var _glRenderbufferStorage = (x0, x1, x2, x3) => GLctx.renderbufferStorage(x0, x1, x2, x3);
4404
+ var _emscripten_glRenderbufferStorage = _glRenderbufferStorage;
4405
+
4406
+ /** @suppress {duplicate } */
4152
4407
  var _glRenderbufferStorageMultisample = (x0, x1, x2, x3, x4) => GLctx.renderbufferStorageMultisample(x0, x1, x2, x3, x4);
4408
+ var _emscripten_glRenderbufferStorageMultisample = _glRenderbufferStorageMultisample;
4409
+
4410
+ /** @suppress {duplicate } */
4153
4411
  var _glSamplerParameterf = (sampler, pname, param) => {
4154
4412
  GLctx.samplerParameterf(GL.samplers[sampler], pname, param);
4155
4413
  };
4414
+ var _emscripten_glSamplerParameterf = _glSamplerParameterf;
4415
+
4416
+ /** @suppress {duplicate } */
4156
4417
  var _glSamplerParameteri = (sampler, pname, param) => {
4157
4418
  GLctx.samplerParameteri(GL.samplers[sampler], pname, param);
4158
4419
  };
4420
+ var _emscripten_glSamplerParameteri = _glSamplerParameteri;
4421
+
4422
+ /** @suppress {duplicate } */
4159
4423
  var _glSamplerParameteriv = (sampler, pname, params) => {
4160
4424
  var param = HEAP32[params >> 2];
4161
4425
  GLctx.samplerParameteri(GL.samplers[sampler], pname, param);
4162
4426
  };
4427
+ var _emscripten_glSamplerParameteriv = _glSamplerParameteriv;
4428
+
4429
+ /** @suppress {duplicate } */
4163
4430
  var _glScissor = (x0, x1, x2, x3) => GLctx.scissor(x0, x1, x2, x3);
4431
+ var _emscripten_glScissor = _glScissor;
4432
+
4433
+ /** @suppress {duplicate } */
4164
4434
  var _glShaderSource = (shader, count, string, length) => {
4165
4435
  var source = GL.getSource(shader, count, string, length);
4166
4436
  GLctx.shaderSource(GL.shaders[shader], source);
4167
4437
  };
4438
+ var _emscripten_glShaderSource = _glShaderSource;
4439
+
4440
+ /** @suppress {duplicate } */
4168
4441
  var _glStencilFunc = (x0, x1, x2) => GLctx.stencilFunc(x0, x1, x2);
4442
+ var _emscripten_glStencilFunc = _glStencilFunc;
4443
+
4444
+ /** @suppress {duplicate } */
4169
4445
  var _glStencilFuncSeparate = (x0, x1, x2, x3) => GLctx.stencilFuncSeparate(x0, x1, x2, x3);
4446
+ var _emscripten_glStencilFuncSeparate = _glStencilFuncSeparate;
4447
+
4448
+ /** @suppress {duplicate } */
4170
4449
  var _glStencilMask = x0 => GLctx.stencilMask(x0);
4450
+ var _emscripten_glStencilMask = _glStencilMask;
4451
+
4452
+ /** @suppress {duplicate } */
4171
4453
  var _glStencilMaskSeparate = (x0, x1) => GLctx.stencilMaskSeparate(x0, x1);
4454
+ var _emscripten_glStencilMaskSeparate = _glStencilMaskSeparate;
4455
+
4456
+ /** @suppress {duplicate } */
4172
4457
  var _glStencilOp = (x0, x1, x2) => GLctx.stencilOp(x0, x1, x2);
4458
+ var _emscripten_glStencilOp = _glStencilOp;
4459
+
4460
+ /** @suppress {duplicate } */
4173
4461
  var _glStencilOpSeparate = (x0, x1, x2, x3) => GLctx.stencilOpSeparate(x0, x1, x2, x3);
4462
+ var _emscripten_glStencilOpSeparate = _glStencilOpSeparate;
4463
+
4464
+ /** @suppress {duplicate } */
4174
4465
  var _glTexImage2D = (target, level, internalFormat, width, height, border, format, type, pixels) => {
4175
4466
  if (GL.currentContext.version >= 2) {
4176
4467
  if (GLctx.currentPixelUnpackBufferBinding) {
@@ -4187,17 +4478,35 @@ var WebRendererWasmFactory = (() => {
4187
4478
  var pixelData = pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels) : null;
4188
4479
  GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData);
4189
4480
  };
4481
+ var _emscripten_glTexImage2D = _glTexImage2D;
4482
+
4483
+ /** @suppress {duplicate } */
4190
4484
  var _glTexParameterf = (x0, x1, x2) => GLctx.texParameterf(x0, x1, x2);
4485
+ var _emscripten_glTexParameterf = _glTexParameterf;
4486
+
4487
+ /** @suppress {duplicate } */
4191
4488
  var _glTexParameterfv = (target, pname, params) => {
4192
4489
  var param = HEAPF32[params >> 2];
4193
4490
  GLctx.texParameterf(target, pname, param);
4194
4491
  };
4492
+ var _emscripten_glTexParameterfv = _glTexParameterfv;
4493
+
4494
+ /** @suppress {duplicate } */
4195
4495
  var _glTexParameteri = (x0, x1, x2) => GLctx.texParameteri(x0, x1, x2);
4496
+ var _emscripten_glTexParameteri = _glTexParameteri;
4497
+
4498
+ /** @suppress {duplicate } */
4196
4499
  var _glTexParameteriv = (target, pname, params) => {
4197
4500
  var param = HEAP32[params >> 2];
4198
4501
  GLctx.texParameteri(target, pname, param);
4199
4502
  };
4503
+ var _emscripten_glTexParameteriv = _glTexParameteriv;
4504
+
4505
+ /** @suppress {duplicate } */
4200
4506
  var _glTexStorage2D = (x0, x1, x2, x3, x4) => GLctx.texStorage2D(x0, x1, x2, x3, x4);
4507
+ var _emscripten_glTexStorage2D = _glTexStorage2D;
4508
+
4509
+ /** @suppress {duplicate } */
4201
4510
  var _glTexSubImage2D = (target, level, xoffset, yoffset, width, height, format, type, pixels) => {
4202
4511
  if (GL.currentContext.version >= 2) {
4203
4512
  if (GLctx.currentPixelUnpackBufferBinding) {
@@ -4213,6 +4522,7 @@ var WebRendererWasmFactory = (() => {
4213
4522
  var pixelData = pixels ? emscriptenWebGLGetTexPixelData(type, format, width, height, pixels) : null;
4214
4523
  GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData);
4215
4524
  };
4525
+ var _emscripten_glTexSubImage2D = _glTexSubImage2D;
4216
4526
  var webglGetUniformLocation = location => {
4217
4527
  var p = GLctx.currentProgram;
4218
4528
  if (p) {
@@ -4230,10 +4540,15 @@ var WebRendererWasmFactory = (() => {
4230
4540
  GL.recordError(0x502 /*GL_INVALID_OPERATION*/);
4231
4541
  }
4232
4542
  };
4543
+
4544
+ /** @suppress {duplicate } */
4233
4545
  var _glUniform1f = (location, v0) => {
4234
4546
  GLctx.uniform1f(webglGetUniformLocation(location), v0);
4235
4547
  };
4548
+ var _emscripten_glUniform1f = _glUniform1f;
4236
4549
  var miniTempWebGLFloatBuffers = [];
4550
+
4551
+ /** @suppress {duplicate } */
4237
4552
  var _glUniform1fv = (location, count, value) => {
4238
4553
  if (GL.currentContext.version >= 2) {
4239
4554
  count && GLctx.uniform1fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count);
@@ -4250,10 +4565,16 @@ var WebRendererWasmFactory = (() => {
4250
4565
  }
4251
4566
  GLctx.uniform1fv(webglGetUniformLocation(location), view);
4252
4567
  };
4568
+ var _emscripten_glUniform1fv = _glUniform1fv;
4569
+
4570
+ /** @suppress {duplicate } */
4253
4571
  var _glUniform1i = (location, v0) => {
4254
4572
  GLctx.uniform1i(webglGetUniformLocation(location), v0);
4255
4573
  };
4574
+ var _emscripten_glUniform1i = _glUniform1i;
4256
4575
  var miniTempWebGLIntBuffers = [];
4576
+
4577
+ /** @suppress {duplicate } */
4257
4578
  var _glUniform1iv = (location, count, value) => {
4258
4579
  if (GL.currentContext.version >= 2) {
4259
4580
  count && GLctx.uniform1iv(webglGetUniformLocation(location), HEAP32, value >> 2, count);
@@ -4270,9 +4591,15 @@ var WebRendererWasmFactory = (() => {
4270
4591
  }
4271
4592
  GLctx.uniform1iv(webglGetUniformLocation(location), view);
4272
4593
  };
4594
+ var _emscripten_glUniform1iv = _glUniform1iv;
4595
+
4596
+ /** @suppress {duplicate } */
4273
4597
  var _glUniform2f = (location, v0, v1) => {
4274
4598
  GLctx.uniform2f(webglGetUniformLocation(location), v0, v1);
4275
4599
  };
4600
+ var _emscripten_glUniform2f = _glUniform2f;
4601
+
4602
+ /** @suppress {duplicate } */
4276
4603
  var _glUniform2fv = (location, count, value) => {
4277
4604
  if (GL.currentContext.version >= 2) {
4278
4605
  count && GLctx.uniform2fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count * 2);
@@ -4290,9 +4617,15 @@ var WebRendererWasmFactory = (() => {
4290
4617
  }
4291
4618
  GLctx.uniform2fv(webglGetUniformLocation(location), view);
4292
4619
  };
4620
+ var _emscripten_glUniform2fv = _glUniform2fv;
4621
+
4622
+ /** @suppress {duplicate } */
4293
4623
  var _glUniform2i = (location, v0, v1) => {
4294
4624
  GLctx.uniform2i(webglGetUniformLocation(location), v0, v1);
4295
4625
  };
4626
+ var _emscripten_glUniform2i = _glUniform2i;
4627
+
4628
+ /** @suppress {duplicate } */
4296
4629
  var _glUniform2iv = (location, count, value) => {
4297
4630
  if (GL.currentContext.version >= 2) {
4298
4631
  count && GLctx.uniform2iv(webglGetUniformLocation(location), HEAP32, value >> 2, count * 2);
@@ -4310,9 +4643,15 @@ var WebRendererWasmFactory = (() => {
4310
4643
  }
4311
4644
  GLctx.uniform2iv(webglGetUniformLocation(location), view);
4312
4645
  };
4646
+ var _emscripten_glUniform2iv = _glUniform2iv;
4647
+
4648
+ /** @suppress {duplicate } */
4313
4649
  var _glUniform3f = (location, v0, v1, v2) => {
4314
4650
  GLctx.uniform3f(webglGetUniformLocation(location), v0, v1, v2);
4315
4651
  };
4652
+ var _emscripten_glUniform3f = _glUniform3f;
4653
+
4654
+ /** @suppress {duplicate } */
4316
4655
  var _glUniform3fv = (location, count, value) => {
4317
4656
  if (GL.currentContext.version >= 2) {
4318
4657
  count && GLctx.uniform3fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count * 3);
@@ -4331,9 +4670,15 @@ var WebRendererWasmFactory = (() => {
4331
4670
  }
4332
4671
  GLctx.uniform3fv(webglGetUniformLocation(location), view);
4333
4672
  };
4673
+ var _emscripten_glUniform3fv = _glUniform3fv;
4674
+
4675
+ /** @suppress {duplicate } */
4334
4676
  var _glUniform3i = (location, v0, v1, v2) => {
4335
4677
  GLctx.uniform3i(webglGetUniformLocation(location), v0, v1, v2);
4336
4678
  };
4679
+ var _emscripten_glUniform3i = _glUniform3i;
4680
+
4681
+ /** @suppress {duplicate } */
4337
4682
  var _glUniform3iv = (location, count, value) => {
4338
4683
  if (GL.currentContext.version >= 2) {
4339
4684
  count && GLctx.uniform3iv(webglGetUniformLocation(location), HEAP32, value >> 2, count * 3);
@@ -4352,9 +4697,15 @@ var WebRendererWasmFactory = (() => {
4352
4697
  }
4353
4698
  GLctx.uniform3iv(webglGetUniformLocation(location), view);
4354
4699
  };
4700
+ var _emscripten_glUniform3iv = _glUniform3iv;
4701
+
4702
+ /** @suppress {duplicate } */
4355
4703
  var _glUniform4f = (location, v0, v1, v2, v3) => {
4356
4704
  GLctx.uniform4f(webglGetUniformLocation(location), v0, v1, v2, v3);
4357
4705
  };
4706
+ var _emscripten_glUniform4f = _glUniform4f;
4707
+
4708
+ /** @suppress {duplicate } */
4358
4709
  var _glUniform4fv = (location, count, value) => {
4359
4710
  if (GL.currentContext.version >= 2) {
4360
4711
  count && GLctx.uniform4fv(webglGetUniformLocation(location), HEAPF32, value >> 2, count * 4);
@@ -4378,9 +4729,15 @@ var WebRendererWasmFactory = (() => {
4378
4729
  }
4379
4730
  GLctx.uniform4fv(webglGetUniformLocation(location), view);
4380
4731
  };
4732
+ var _emscripten_glUniform4fv = _glUniform4fv;
4733
+
4734
+ /** @suppress {duplicate } */
4381
4735
  var _glUniform4i = (location, v0, v1, v2, v3) => {
4382
4736
  GLctx.uniform4i(webglGetUniformLocation(location), v0, v1, v2, v3);
4383
4737
  };
4738
+ var _emscripten_glUniform4i = _glUniform4i;
4739
+
4740
+ /** @suppress {duplicate } */
4384
4741
  var _glUniform4iv = (location, count, value) => {
4385
4742
  if (GL.currentContext.version >= 2) {
4386
4743
  count && GLctx.uniform4iv(webglGetUniformLocation(location), HEAP32, value >> 2, count * 4);
@@ -4400,6 +4757,9 @@ var WebRendererWasmFactory = (() => {
4400
4757
  }
4401
4758
  GLctx.uniform4iv(webglGetUniformLocation(location), view);
4402
4759
  };
4760
+ var _emscripten_glUniform4iv = _glUniform4iv;
4761
+
4762
+ /** @suppress {duplicate } */
4403
4763
  var _glUniformMatrix2fv = (location, count, transpose, value) => {
4404
4764
  if (GL.currentContext.version >= 2) {
4405
4765
  count && GLctx.uniformMatrix2fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 4);
@@ -4419,6 +4779,9 @@ var WebRendererWasmFactory = (() => {
4419
4779
  }
4420
4780
  GLctx.uniformMatrix2fv(webglGetUniformLocation(location), !!transpose, view);
4421
4781
  };
4782
+ var _emscripten_glUniformMatrix2fv = _glUniformMatrix2fv;
4783
+
4784
+ /** @suppress {duplicate } */
4422
4785
  var _glUniformMatrix3fv = (location, count, transpose, value) => {
4423
4786
  if (GL.currentContext.version >= 2) {
4424
4787
  count && GLctx.uniformMatrix3fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 9);
@@ -4438,77 +4801,306 @@ var WebRendererWasmFactory = (() => {
4438
4801
  view[i + 7] = HEAPF32[value + (4 * i + 28) >> 2];
4439
4802
  view[i + 8] = HEAPF32[value + (4 * i + 32) >> 2];
4440
4803
  }
4441
- } else {
4442
- var view = HEAPF32.subarray(value >> 2, value + count * 36 >> 2);
4804
+ } else {
4805
+ var view = HEAPF32.subarray(value >> 2, value + count * 36 >> 2);
4806
+ }
4807
+ GLctx.uniformMatrix3fv(webglGetUniformLocation(location), !!transpose, view);
4808
+ };
4809
+ var _emscripten_glUniformMatrix3fv = _glUniformMatrix3fv;
4810
+
4811
+ /** @suppress {duplicate } */
4812
+ var _glUniformMatrix4fv = (location, count, transpose, value) => {
4813
+ if (GL.currentContext.version >= 2) {
4814
+ count && GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 16);
4815
+ return;
4816
+ }
4817
+ if (count <= 18) {
4818
+ // avoid allocation when uploading few enough uniforms
4819
+ var view = miniTempWebGLFloatBuffers[16 * count];
4820
+ // hoist the heap out of the loop for size and for pthreads+growth.
4821
+ var heap = HEAPF32;
4822
+ value = value >> 2;
4823
+ for (var i = 0; i < 16 * count; i += 16) {
4824
+ var dst = value + i;
4825
+ view[i] = heap[dst];
4826
+ view[i + 1] = heap[dst + 1];
4827
+ view[i + 2] = heap[dst + 2];
4828
+ view[i + 3] = heap[dst + 3];
4829
+ view[i + 4] = heap[dst + 4];
4830
+ view[i + 5] = heap[dst + 5];
4831
+ view[i + 6] = heap[dst + 6];
4832
+ view[i + 7] = heap[dst + 7];
4833
+ view[i + 8] = heap[dst + 8];
4834
+ view[i + 9] = heap[dst + 9];
4835
+ view[i + 10] = heap[dst + 10];
4836
+ view[i + 11] = heap[dst + 11];
4837
+ view[i + 12] = heap[dst + 12];
4838
+ view[i + 13] = heap[dst + 13];
4839
+ view[i + 14] = heap[dst + 14];
4840
+ view[i + 15] = heap[dst + 15];
4841
+ }
4842
+ } else {
4843
+ var view = HEAPF32.subarray(value >> 2, value + count * 64 >> 2);
4844
+ }
4845
+ GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, view);
4846
+ };
4847
+ var _emscripten_glUniformMatrix4fv = _glUniformMatrix4fv;
4848
+
4849
+ /** @suppress {duplicate } */
4850
+ var _glUseProgram = program => {
4851
+ program = GL.programs[program];
4852
+ GLctx.useProgram(program);
4853
+ // Record the currently active program so that we can access the uniform
4854
+ // mapping table of that program.
4855
+ GLctx.currentProgram = program;
4856
+ };
4857
+ var _emscripten_glUseProgram = _glUseProgram;
4858
+
4859
+ /** @suppress {duplicate } */
4860
+ var _glVertexAttrib1f = (x0, x1) => GLctx.vertexAttrib1f(x0, x1);
4861
+ var _emscripten_glVertexAttrib1f = _glVertexAttrib1f;
4862
+
4863
+ /** @suppress {duplicate } */
4864
+ var _glVertexAttrib2fv = (index, v) => {
4865
+ GLctx.vertexAttrib2f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2]);
4866
+ };
4867
+ var _emscripten_glVertexAttrib2fv = _glVertexAttrib2fv;
4868
+
4869
+ /** @suppress {duplicate } */
4870
+ var _glVertexAttrib3fv = (index, v) => {
4871
+ GLctx.vertexAttrib3f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2]);
4872
+ };
4873
+ var _emscripten_glVertexAttrib3fv = _glVertexAttrib3fv;
4874
+
4875
+ /** @suppress {duplicate } */
4876
+ var _glVertexAttrib4fv = (index, v) => {
4877
+ GLctx.vertexAttrib4f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2], HEAPF32[v + 12 >> 2]);
4878
+ };
4879
+ var _emscripten_glVertexAttrib4fv = _glVertexAttrib4fv;
4880
+
4881
+ /** @suppress {duplicate } */
4882
+ var _glVertexAttribDivisor = (index, divisor) => {
4883
+ GLctx.vertexAttribDivisor(index, divisor);
4884
+ };
4885
+ var _emscripten_glVertexAttribDivisor = _glVertexAttribDivisor;
4886
+
4887
+ /** @suppress {duplicate } */
4888
+ var _glVertexAttribIPointer = (index, size, type, stride, ptr) => {
4889
+ GLctx.vertexAttribIPointer(index, size, type, stride, ptr);
4890
+ };
4891
+ var _emscripten_glVertexAttribIPointer = _glVertexAttribIPointer;
4892
+
4893
+ /** @suppress {duplicate } */
4894
+ var _glVertexAttribPointer = (index, size, type, normalized, stride, ptr) => {
4895
+ GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr);
4896
+ };
4897
+ var _emscripten_glVertexAttribPointer = _glVertexAttribPointer;
4898
+
4899
+ /** @suppress {duplicate } */
4900
+ var _glViewport = (x0, x1, x2, x3) => GLctx.viewport(x0, x1, x2, x3);
4901
+ var _emscripten_glViewport = _glViewport;
4902
+
4903
+ /** @suppress {duplicate } */
4904
+ var _glWaitSync = (sync, flags, timeout) => {
4905
+ // See WebGL2 vs GLES3 difference on GL_TIMEOUT_IGNORED above (https://www.khronos.org/registry/webgl/specs/latest/2.0/#5.15)
4906
+ timeout = Number(timeout);
4907
+ GLctx.waitSync(GL.syncs[sync], flags, timeout);
4908
+ };
4909
+ var _emscripten_glWaitSync = _glWaitSync;
4910
+ var _emscripten_request_animation_frame = (cb, userData) => requestAnimationFrame(timeStamp => getWasmTableEntry(cb)(timeStamp, userData));
4911
+ var getHeapMax = () =>
4912
+ // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate
4913
+ // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side
4914
+ // for any code that deals with heap sizes, which would require special
4915
+ // casing all heap size related code to treat 0 specially.
4916
+ 2147483648;
4917
+ var growMemory = size => {
4918
+ var b = wasmMemory.buffer;
4919
+ var pages = (size - b.byteLength + 65535) / 65536;
4920
+ try {
4921
+ // round size grow request up to wasm page size (fixed 64KB per spec)
4922
+ wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size
4923
+ updateMemoryViews();
4924
+ return 1 /*success*/;
4925
+ } catch (e) {
4926
+ err("growMemory: Attempted to grow heap from ".concat(b.byteLength, " bytes to ").concat(size, " bytes, but got error: ").concat(e));
4927
+ }
4928
+ // implicit 0 return to save code size (caller will cast "undefined" into 0
4929
+ // anyhow)
4930
+ };
4931
+ var _emscripten_resize_heap = requestedSize => {
4932
+ var oldSize = HEAPU8.length;
4933
+ // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
4934
+ requestedSize >>>= 0;
4935
+ // With multithreaded builds, races can happen (another thread might increase the size
4936
+ // in between), so return a failure, and let the caller retry.
4937
+ assert(requestedSize > oldSize);
4938
+
4939
+ // Memory resize rules:
4940
+ // 1. Always increase heap size to at least the requested size, rounded up
4941
+ // to next page multiple.
4942
+ // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap
4943
+ // geometrically: increase the heap size according to
4944
+ // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most
4945
+ // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB).
4946
+ // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap
4947
+ // linearly: increase the heap size by at least
4948
+ // MEMORY_GROWTH_LINEAR_STEP bytes.
4949
+ // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by
4950
+ // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest
4951
+ // 4. If we were unable to allocate as much memory, it may be due to
4952
+ // over-eager decision to excessively reserve due to (3) above.
4953
+ // Hence if an allocation fails, cut down on the amount of excess
4954
+ // growth, in an attempt to succeed to perform a smaller allocation.
4955
+
4956
+ // A limit is set for how much we can grow. We should not exceed that
4957
+ // (the wasm binary specifies it, so if we tried, we'd fail anyhow).
4958
+ var maxHeapSize = getHeapMax();
4959
+ if (requestedSize > maxHeapSize) {
4960
+ err("Cannot enlarge memory, requested ".concat(requestedSize, " bytes, but the limit is ").concat(maxHeapSize, " bytes!"));
4961
+ return false;
4962
+ }
4963
+ var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;
4964
+
4965
+ // Loop through potential heap size increases. If we attempt a too eager
4966
+ // reservation that fails, cut down on the attempted size and reserve a
4967
+ // smaller bump instead. (max 3 times, chosen somewhat arbitrarily)
4968
+ for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
4969
+ var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth
4970
+ // but limit overreserving (default to capping at +96MB overgrowth at most)
4971
+ overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
4972
+ var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
4973
+ var replacement = growMemory(newSize);
4974
+ if (replacement) {
4975
+ return true;
4976
+ }
4443
4977
  }
4444
- GLctx.uniformMatrix3fv(webglGetUniformLocation(location), !!transpose, view);
4978
+ err("Failed to grow the heap from ".concat(oldSize, " bytes to ").concat(newSize, " bytes, not enough memory!"));
4979
+ return false;
4445
4980
  };
4446
- var _glUniformMatrix4fv = (location, count, transpose, value) => {
4447
- if (GL.currentContext.version >= 2) {
4448
- count && GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, HEAPF32, value >> 2, count * 16);
4449
- return;
4450
- }
4451
- if (count <= 18) {
4452
- // avoid allocation when uploading few enough uniforms
4453
- var view = miniTempWebGLFloatBuffers[16 * count];
4454
- // hoist the heap out of the loop for size and for pthreads+growth.
4455
- var heap = HEAPF32;
4456
- value = value >> 2;
4457
- for (var i = 0; i < 16 * count; i += 16) {
4458
- var dst = value + i;
4459
- view[i] = heap[dst];
4460
- view[i + 1] = heap[dst + 1];
4461
- view[i + 2] = heap[dst + 2];
4462
- view[i + 3] = heap[dst + 3];
4463
- view[i + 4] = heap[dst + 4];
4464
- view[i + 5] = heap[dst + 5];
4465
- view[i + 6] = heap[dst + 6];
4466
- view[i + 7] = heap[dst + 7];
4467
- view[i + 8] = heap[dst + 8];
4468
- view[i + 9] = heap[dst + 9];
4469
- view[i + 10] = heap[dst + 10];
4470
- view[i + 11] = heap[dst + 11];
4471
- view[i + 12] = heap[dst + 12];
4472
- view[i + 13] = heap[dst + 13];
4473
- view[i + 14] = heap[dst + 14];
4474
- view[i + 15] = heap[dst + 15];
4981
+ var _emscripten_webgl_make_context_current = contextHandle => {
4982
+ var success = GL.makeContextCurrent(contextHandle);
4983
+ return success ? 0 : -5;
4984
+ };
4985
+ var ENV = {};
4986
+ var getExecutableName = () => {
4987
+ return thisProgram ;
4988
+ };
4989
+ var getEnvStrings = () => {
4990
+ if (!getEnvStrings.strings) {
4991
+ // Default values.
4992
+ // Browser language detection #8751
4993
+ var lang = (typeof navigator == 'object' && navigator.languages && navigator.languages[0] || 'C').replace('-', '_') + '.UTF-8';
4994
+ var env = {
4995
+ 'USER': 'web_user',
4996
+ 'LOGNAME': 'web_user',
4997
+ 'PATH': '/',
4998
+ 'PWD': '/',
4999
+ 'HOME': '/home/web_user',
5000
+ 'LANG': lang,
5001
+ '_': getExecutableName()
5002
+ };
5003
+ // Apply the user-provided values, if any.
5004
+ for (var x in ENV) {
5005
+ // x is a key in ENV; if ENV[x] is undefined, that means it was
5006
+ // explicitly set to be so. We allow user code to do that to
5007
+ // force variables with default values to remain unset.
5008
+ if (ENV[x] === undefined) delete env[x];else env[x] = ENV[x];
4475
5009
  }
4476
- } else {
4477
- var view = HEAPF32.subarray(value >> 2, value + count * 64 >> 2);
5010
+ var strings = [];
5011
+ for (var x in env) {
5012
+ strings.push("".concat(x, "=").concat(env[x]));
5013
+ }
5014
+ getEnvStrings.strings = strings;
4478
5015
  }
4479
- GLctx.uniformMatrix4fv(webglGetUniformLocation(location), !!transpose, view);
5016
+ return getEnvStrings.strings;
4480
5017
  };
4481
- var _glUseProgram = program => {
4482
- program = GL.programs[program];
4483
- GLctx.useProgram(program);
4484
- // Record the currently active program so that we can access the uniform
4485
- // mapping table of that program.
4486
- GLctx.currentProgram = program;
5018
+ var stringToAscii = (str, buffer) => {
5019
+ for (var i = 0; i < str.length; ++i) {
5020
+ assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff));
5021
+ HEAP8[buffer++] = str.charCodeAt(i);
5022
+ }
5023
+ // Null-terminate the string
5024
+ HEAP8[buffer] = 0;
4487
5025
  };
4488
- var _glVertexAttrib1f = (x0, x1) => GLctx.vertexAttrib1f(x0, x1);
4489
- var _glVertexAttrib2fv = (index, v) => {
4490
- GLctx.vertexAttrib2f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2]);
5026
+ var _environ_get = (__environ, environ_buf) => {
5027
+ var bufSize = 0;
5028
+ getEnvStrings().forEach((string, i) => {
5029
+ var ptr = environ_buf + bufSize;
5030
+ HEAPU32[__environ + i * 4 >> 2] = ptr;
5031
+ stringToAscii(string, ptr);
5032
+ bufSize += string.length + 1;
5033
+ });
5034
+ return 0;
4491
5035
  };
4492
- var _glVertexAttrib3fv = (index, v) => {
4493
- GLctx.vertexAttrib3f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2]);
5036
+ var _environ_sizes_get = (penviron_count, penviron_buf_size) => {
5037
+ var strings = getEnvStrings();
5038
+ HEAPU32[penviron_count >> 2] = strings.length;
5039
+ var bufSize = 0;
5040
+ strings.forEach(string => bufSize += string.length + 1);
5041
+ HEAPU32[penviron_buf_size >> 2] = bufSize;
5042
+ return 0;
4494
5043
  };
4495
- var _glVertexAttrib4fv = (index, v) => {
4496
- GLctx.vertexAttrib4f(index, HEAPF32[v >> 2], HEAPF32[v + 4 >> 2], HEAPF32[v + 8 >> 2], HEAPF32[v + 12 >> 2]);
5044
+ var runtimeKeepaliveCounter = 0;
5045
+ var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
5046
+ var _proc_exit = code => {
5047
+ if (!keepRuntimeAlive()) {
5048
+ ABORT = true;
5049
+ }
5050
+ quit_(code, new ExitStatus(code));
4497
5051
  };
4498
- var _glVertexAttribDivisor = (index, divisor) => {
4499
- GLctx.vertexAttribDivisor(index, divisor);
5052
+
5053
+ /** @suppress {duplicate } */
5054
+ /** @param {boolean|number=} implicit */
5055
+ var exitJS = (status, implicit) => {
5056
+ checkUnflushedContent();
5057
+
5058
+ // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down
5059
+ if (keepRuntimeAlive() && !implicit) {
5060
+ var msg = "program exited (with status: ".concat(status, "), but keepRuntimeAlive() is set (counter=").concat(runtimeKeepaliveCounter, ") due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)");
5061
+ readyPromiseReject(msg);
5062
+ err(msg);
5063
+ }
5064
+ _proc_exit(status);
4500
5065
  };
4501
- var _glVertexAttribIPointer = (index, size, type, stride, ptr) => {
4502
- GLctx.vertexAttribIPointer(index, size, type, stride, ptr);
5066
+ var _exit = exitJS;
5067
+ var _fd_close = fd => {
5068
+ abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM');
4503
5069
  };
4504
- var _glVertexAttribPointer = (index, size, type, normalized, stride, ptr) => {
4505
- GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr);
5070
+ function _fd_seek(fd, offset, whence, newOffset) {
5071
+ return 70;
5072
+ }
5073
+ var printCharBuffers = [null, [], []];
5074
+ var printChar = (stream, curr) => {
5075
+ var buffer = printCharBuffers[stream];
5076
+ assert(buffer);
5077
+ if (curr === 0 || curr === 10) {
5078
+ (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
5079
+ buffer.length = 0;
5080
+ } else {
5081
+ buffer.push(curr);
5082
+ }
4506
5083
  };
4507
- var _glViewport = (x0, x1, x2, x3) => GLctx.viewport(x0, x1, x2, x3);
4508
- var _glWaitSync = (sync, flags, timeout) => {
4509
- // See WebGL2 vs GLES3 difference on GL_TIMEOUT_IGNORED above (https://www.khronos.org/registry/webgl/specs/latest/2.0/#5.15)
4510
- timeout = Number(timeout);
4511
- GLctx.waitSync(GL.syncs[sync], flags, timeout);
5084
+ var flush_NO_FILESYSTEM = () => {
5085
+ // flush anything remaining in the buffers during shutdown
5086
+ _fflush(0);
5087
+ if (printCharBuffers[1].length) printChar(1, 10);
5088
+ if (printCharBuffers[2].length) printChar(2, 10);
5089
+ };
5090
+ var _fd_write = (fd, iov, iovcnt, pnum) => {
5091
+ // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0
5092
+ var num = 0;
5093
+ for (var i = 0; i < iovcnt; i++) {
5094
+ var ptr = HEAPU32[iov >> 2];
5095
+ var len = HEAPU32[iov + 4 >> 2];
5096
+ iov += 8;
5097
+ for (var j = 0; j < len; j++) {
5098
+ printChar(fd, HEAPU8[ptr + j]);
5099
+ }
5100
+ num += len;
5101
+ }
5102
+ HEAPU32[pnum >> 2] = num;
5103
+ return 0;
4512
5104
  };
4513
5105
  var isLeapYear = year => year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
4514
5106
  var arraySum = (array, index) => {
@@ -4990,305 +5582,349 @@ var WebRendererWasmFactory = (() => {
4990
5582
  /** @export */
4991
5583
  emscripten_get_now: _emscripten_get_now,
4992
5584
  /** @export */
4993
- emscripten_request_animation_frame: _emscripten_request_animation_frame,
5585
+ emscripten_glActiveTexture: _emscripten_glActiveTexture,
4994
5586
  /** @export */
4995
- emscripten_resize_heap: _emscripten_resize_heap,
5587
+ emscripten_glAttachShader: _emscripten_glAttachShader,
4996
5588
  /** @export */
4997
- emscripten_webgl_make_context_current: _emscripten_webgl_make_context_current,
5589
+ emscripten_glBeginQuery: _emscripten_glBeginQuery,
4998
5590
  /** @export */
4999
- environ_get: _environ_get,
5591
+ emscripten_glBeginQueryEXT: _emscripten_glBeginQueryEXT,
5000
5592
  /** @export */
5001
- environ_sizes_get: _environ_sizes_get,
5593
+ emscripten_glBindAttribLocation: _emscripten_glBindAttribLocation,
5002
5594
  /** @export */
5003
- exit: _exit,
5595
+ emscripten_glBindBuffer: _emscripten_glBindBuffer,
5004
5596
  /** @export */
5005
- fd_close: _fd_close,
5597
+ emscripten_glBindFramebuffer: _emscripten_glBindFramebuffer,
5006
5598
  /** @export */
5007
- fd_seek: _fd_seek,
5599
+ emscripten_glBindRenderbuffer: _emscripten_glBindRenderbuffer,
5008
5600
  /** @export */
5009
- fd_write: _fd_write,
5601
+ emscripten_glBindSampler: _emscripten_glBindSampler,
5010
5602
  /** @export */
5011
- glActiveTexture: _glActiveTexture,
5603
+ emscripten_glBindTexture: _emscripten_glBindTexture,
5012
5604
  /** @export */
5013
- glAttachShader: _glAttachShader,
5605
+ emscripten_glBindVertexArray: _emscripten_glBindVertexArray,
5014
5606
  /** @export */
5015
- glBindAttribLocation: _glBindAttribLocation,
5607
+ emscripten_glBindVertexArrayOES: _emscripten_glBindVertexArrayOES,
5016
5608
  /** @export */
5017
- glBindBuffer: _glBindBuffer,
5609
+ emscripten_glBlendColor: _emscripten_glBlendColor,
5018
5610
  /** @export */
5019
- glBindFramebuffer: _glBindFramebuffer,
5611
+ emscripten_glBlendEquation: _emscripten_glBlendEquation,
5020
5612
  /** @export */
5021
- glBindRenderbuffer: _glBindRenderbuffer,
5613
+ emscripten_glBlendFunc: _emscripten_glBlendFunc,
5022
5614
  /** @export */
5023
- glBindSampler: _glBindSampler,
5615
+ emscripten_glBlitFramebuffer: _emscripten_glBlitFramebuffer,
5024
5616
  /** @export */
5025
- glBindTexture: _glBindTexture,
5617
+ emscripten_glBufferData: _emscripten_glBufferData,
5026
5618
  /** @export */
5027
- glBindVertexArray: _glBindVertexArray,
5619
+ emscripten_glBufferSubData: _emscripten_glBufferSubData,
5028
5620
  /** @export */
5029
- glBindVertexArrayOES: _glBindVertexArrayOES,
5621
+ emscripten_glCheckFramebufferStatus: _emscripten_glCheckFramebufferStatus,
5030
5622
  /** @export */
5031
- glBlendColor: _glBlendColor,
5623
+ emscripten_glClear: _emscripten_glClear,
5032
5624
  /** @export */
5033
- glBlendEquation: _glBlendEquation,
5625
+ emscripten_glClearColor: _emscripten_glClearColor,
5034
5626
  /** @export */
5035
- glBlendFunc: _glBlendFunc,
5627
+ emscripten_glClearStencil: _emscripten_glClearStencil,
5036
5628
  /** @export */
5037
- glBlitFramebuffer: _glBlitFramebuffer,
5629
+ emscripten_glClientWaitSync: _emscripten_glClientWaitSync,
5038
5630
  /** @export */
5039
- glBufferData: _glBufferData,
5631
+ emscripten_glColorMask: _emscripten_glColorMask,
5040
5632
  /** @export */
5041
- glBufferSubData: _glBufferSubData,
5633
+ emscripten_glCompileShader: _emscripten_glCompileShader,
5042
5634
  /** @export */
5043
- glCheckFramebufferStatus: _glCheckFramebufferStatus,
5635
+ emscripten_glCompressedTexImage2D: _emscripten_glCompressedTexImage2D,
5044
5636
  /** @export */
5045
- glClear: _glClear,
5637
+ emscripten_glCompressedTexSubImage2D: _emscripten_glCompressedTexSubImage2D,
5046
5638
  /** @export */
5047
- glClearColor: _glClearColor,
5639
+ emscripten_glCopyBufferSubData: _emscripten_glCopyBufferSubData,
5048
5640
  /** @export */
5049
- glClearStencil: _glClearStencil,
5641
+ emscripten_glCopyTexSubImage2D: _emscripten_glCopyTexSubImage2D,
5050
5642
  /** @export */
5051
- glClientWaitSync: _glClientWaitSync,
5643
+ emscripten_glCreateProgram: _emscripten_glCreateProgram,
5052
5644
  /** @export */
5053
- glColorMask: _glColorMask,
5645
+ emscripten_glCreateShader: _emscripten_glCreateShader,
5054
5646
  /** @export */
5055
- glCompileShader: _glCompileShader,
5647
+ emscripten_glCullFace: _emscripten_glCullFace,
5056
5648
  /** @export */
5057
- glCompressedTexImage2D: _glCompressedTexImage2D,
5649
+ emscripten_glDeleteBuffers: _emscripten_glDeleteBuffers,
5058
5650
  /** @export */
5059
- glCompressedTexSubImage2D: _glCompressedTexSubImage2D,
5651
+ emscripten_glDeleteFramebuffers: _emscripten_glDeleteFramebuffers,
5060
5652
  /** @export */
5061
- glCopyBufferSubData: _glCopyBufferSubData,
5653
+ emscripten_glDeleteProgram: _emscripten_glDeleteProgram,
5062
5654
  /** @export */
5063
- glCopyTexSubImage2D: _glCopyTexSubImage2D,
5655
+ emscripten_glDeleteQueries: _emscripten_glDeleteQueries,
5064
5656
  /** @export */
5065
- glCreateProgram: _glCreateProgram,
5657
+ emscripten_glDeleteQueriesEXT: _emscripten_glDeleteQueriesEXT,
5066
5658
  /** @export */
5067
- glCreateShader: _glCreateShader,
5659
+ emscripten_glDeleteRenderbuffers: _emscripten_glDeleteRenderbuffers,
5068
5660
  /** @export */
5069
- glCullFace: _glCullFace,
5661
+ emscripten_glDeleteSamplers: _emscripten_glDeleteSamplers,
5070
5662
  /** @export */
5071
- glDeleteBuffers: _glDeleteBuffers,
5663
+ emscripten_glDeleteShader: _emscripten_glDeleteShader,
5072
5664
  /** @export */
5073
- glDeleteFramebuffers: _glDeleteFramebuffers,
5665
+ emscripten_glDeleteSync: _emscripten_glDeleteSync,
5074
5666
  /** @export */
5075
- glDeleteProgram: _glDeleteProgram,
5667
+ emscripten_glDeleteTextures: _emscripten_glDeleteTextures,
5076
5668
  /** @export */
5077
- glDeleteRenderbuffers: _glDeleteRenderbuffers,
5669
+ emscripten_glDeleteVertexArrays: _emscripten_glDeleteVertexArrays,
5078
5670
  /** @export */
5079
- glDeleteSamplers: _glDeleteSamplers,
5671
+ emscripten_glDeleteVertexArraysOES: _emscripten_glDeleteVertexArraysOES,
5080
5672
  /** @export */
5081
- glDeleteShader: _glDeleteShader,
5673
+ emscripten_glDepthMask: _emscripten_glDepthMask,
5082
5674
  /** @export */
5083
- glDeleteSync: _glDeleteSync,
5675
+ emscripten_glDisable: _emscripten_glDisable,
5084
5676
  /** @export */
5085
- glDeleteTextures: _glDeleteTextures,
5677
+ emscripten_glDisableVertexAttribArray: _emscripten_glDisableVertexAttribArray,
5086
5678
  /** @export */
5087
- glDeleteVertexArrays: _glDeleteVertexArrays,
5679
+ emscripten_glDrawArrays: _emscripten_glDrawArrays,
5088
5680
  /** @export */
5089
- glDeleteVertexArraysOES: _glDeleteVertexArraysOES,
5681
+ emscripten_glDrawArraysInstanced: _emscripten_glDrawArraysInstanced,
5090
5682
  /** @export */
5091
- glDepthMask: _glDepthMask,
5683
+ emscripten_glDrawArraysInstancedBaseInstanceWEBGL: _emscripten_glDrawArraysInstancedBaseInstanceWEBGL,
5092
5684
  /** @export */
5093
- glDisable: _glDisable,
5685
+ emscripten_glDrawBuffers: _emscripten_glDrawBuffers,
5094
5686
  /** @export */
5095
- glDisableVertexAttribArray: _glDisableVertexAttribArray,
5687
+ emscripten_glDrawElements: _emscripten_glDrawElements,
5096
5688
  /** @export */
5097
- glDrawArrays: _glDrawArrays,
5689
+ emscripten_glDrawElementsInstanced: _emscripten_glDrawElementsInstanced,
5098
5690
  /** @export */
5099
- glDrawArraysInstanced: _glDrawArraysInstanced,
5691
+ emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL: _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL,
5100
5692
  /** @export */
5101
- glDrawArraysInstancedBaseInstanceWEBGL: _glDrawArraysInstancedBaseInstanceWEBGL,
5693
+ emscripten_glDrawRangeElements: _emscripten_glDrawRangeElements,
5102
5694
  /** @export */
5103
- glDrawBuffers: _glDrawBuffers,
5695
+ emscripten_glEnable: _emscripten_glEnable,
5104
5696
  /** @export */
5105
- glDrawElements: _glDrawElements,
5697
+ emscripten_glEnableVertexAttribArray: _emscripten_glEnableVertexAttribArray,
5106
5698
  /** @export */
5107
- glDrawElementsInstanced: _glDrawElementsInstanced,
5699
+ emscripten_glEndQuery: _emscripten_glEndQuery,
5108
5700
  /** @export */
5109
- glDrawElementsInstancedBaseVertexBaseInstanceWEBGL: _glDrawElementsInstancedBaseVertexBaseInstanceWEBGL,
5701
+ emscripten_glEndQueryEXT: _emscripten_glEndQueryEXT,
5110
5702
  /** @export */
5111
- glDrawRangeElements: _glDrawRangeElements,
5703
+ emscripten_glFenceSync: _emscripten_glFenceSync,
5112
5704
  /** @export */
5113
- glEnable: _glEnable,
5705
+ emscripten_glFinish: _emscripten_glFinish,
5114
5706
  /** @export */
5115
- glEnableVertexAttribArray: _glEnableVertexAttribArray,
5707
+ emscripten_glFlush: _emscripten_glFlush,
5116
5708
  /** @export */
5117
- glFenceSync: _glFenceSync,
5709
+ emscripten_glFramebufferRenderbuffer: _emscripten_glFramebufferRenderbuffer,
5118
5710
  /** @export */
5119
- glFinish: _glFinish,
5711
+ emscripten_glFramebufferTexture2D: _emscripten_glFramebufferTexture2D,
5120
5712
  /** @export */
5121
- glFlush: _glFlush,
5713
+ emscripten_glFrontFace: _emscripten_glFrontFace,
5122
5714
  /** @export */
5123
- glFramebufferRenderbuffer: _glFramebufferRenderbuffer,
5715
+ emscripten_glGenBuffers: _emscripten_glGenBuffers,
5124
5716
  /** @export */
5125
- glFramebufferTexture2D: _glFramebufferTexture2D,
5717
+ emscripten_glGenFramebuffers: _emscripten_glGenFramebuffers,
5126
5718
  /** @export */
5127
- glFrontFace: _glFrontFace,
5719
+ emscripten_glGenQueries: _emscripten_glGenQueries,
5128
5720
  /** @export */
5129
- glGenBuffers: _glGenBuffers,
5721
+ emscripten_glGenQueriesEXT: _emscripten_glGenQueriesEXT,
5130
5722
  /** @export */
5131
- glGenFramebuffers: _glGenFramebuffers,
5723
+ emscripten_glGenRenderbuffers: _emscripten_glGenRenderbuffers,
5132
5724
  /** @export */
5133
- glGenRenderbuffers: _glGenRenderbuffers,
5725
+ emscripten_glGenSamplers: _emscripten_glGenSamplers,
5134
5726
  /** @export */
5135
- glGenSamplers: _glGenSamplers,
5727
+ emscripten_glGenTextures: _emscripten_glGenTextures,
5136
5728
  /** @export */
5137
- glGenTextures: _glGenTextures,
5729
+ emscripten_glGenVertexArrays: _emscripten_glGenVertexArrays,
5138
5730
  /** @export */
5139
- glGenVertexArrays: _glGenVertexArrays,
5731
+ emscripten_glGenVertexArraysOES: _emscripten_glGenVertexArraysOES,
5140
5732
  /** @export */
5141
- glGenVertexArraysOES: _glGenVertexArraysOES,
5733
+ emscripten_glGenerateMipmap: _emscripten_glGenerateMipmap,
5142
5734
  /** @export */
5143
- glGenerateMipmap: _glGenerateMipmap,
5735
+ emscripten_glGetBufferParameteriv: _emscripten_glGetBufferParameteriv,
5144
5736
  /** @export */
5145
- glGetBufferParameteriv: _glGetBufferParameteriv,
5737
+ emscripten_glGetError: _emscripten_glGetError,
5146
5738
  /** @export */
5147
- glGetError: _glGetError,
5739
+ emscripten_glGetFloatv: _emscripten_glGetFloatv,
5148
5740
  /** @export */
5149
- glGetFloatv: _glGetFloatv,
5741
+ emscripten_glGetFramebufferAttachmentParameteriv: _emscripten_glGetFramebufferAttachmentParameteriv,
5150
5742
  /** @export */
5151
- glGetFramebufferAttachmentParameteriv: _glGetFramebufferAttachmentParameteriv,
5743
+ emscripten_glGetIntegerv: _emscripten_glGetIntegerv,
5152
5744
  /** @export */
5153
- glGetIntegerv: _glGetIntegerv,
5745
+ emscripten_glGetProgramInfoLog: _emscripten_glGetProgramInfoLog,
5154
5746
  /** @export */
5155
- glGetProgramInfoLog: _glGetProgramInfoLog,
5747
+ emscripten_glGetProgramiv: _emscripten_glGetProgramiv,
5156
5748
  /** @export */
5157
- glGetProgramiv: _glGetProgramiv,
5749
+ emscripten_glGetQueryObjecti64vEXT: _emscripten_glGetQueryObjecti64vEXT,
5158
5750
  /** @export */
5159
- glGetRenderbufferParameteriv: _glGetRenderbufferParameteriv,
5751
+ emscripten_glGetQueryObjectui64vEXT: _emscripten_glGetQueryObjectui64vEXT,
5160
5752
  /** @export */
5161
- glGetShaderInfoLog: _glGetShaderInfoLog,
5753
+ emscripten_glGetQueryObjectuiv: _emscripten_glGetQueryObjectuiv,
5162
5754
  /** @export */
5163
- glGetShaderPrecisionFormat: _glGetShaderPrecisionFormat,
5755
+ emscripten_glGetQueryObjectuivEXT: _emscripten_glGetQueryObjectuivEXT,
5164
5756
  /** @export */
5165
- glGetShaderiv: _glGetShaderiv,
5757
+ emscripten_glGetQueryiv: _emscripten_glGetQueryiv,
5166
5758
  /** @export */
5167
- glGetString: _glGetString,
5759
+ emscripten_glGetQueryivEXT: _emscripten_glGetQueryivEXT,
5168
5760
  /** @export */
5169
- glGetStringi: _glGetStringi,
5761
+ emscripten_glGetRenderbufferParameteriv: _emscripten_glGetRenderbufferParameteriv,
5762
+ /** @export */
5763
+ emscripten_glGetShaderInfoLog: _emscripten_glGetShaderInfoLog,
5764
+ /** @export */
5765
+ emscripten_glGetShaderPrecisionFormat: _emscripten_glGetShaderPrecisionFormat,
5766
+ /** @export */
5767
+ emscripten_glGetShaderiv: _emscripten_glGetShaderiv,
5768
+ /** @export */
5769
+ emscripten_glGetString: _emscripten_glGetString,
5770
+ /** @export */
5771
+ emscripten_glGetStringi: _emscripten_glGetStringi,
5772
+ /** @export */
5773
+ emscripten_glGetUniformLocation: _emscripten_glGetUniformLocation,
5774
+ /** @export */
5775
+ emscripten_glInvalidateFramebuffer: _emscripten_glInvalidateFramebuffer,
5776
+ /** @export */
5777
+ emscripten_glInvalidateSubFramebuffer: _emscripten_glInvalidateSubFramebuffer,
5778
+ /** @export */
5779
+ emscripten_glIsSync: _emscripten_glIsSync,
5780
+ /** @export */
5781
+ emscripten_glIsTexture: _emscripten_glIsTexture,
5782
+ /** @export */
5783
+ emscripten_glLineWidth: _emscripten_glLineWidth,
5784
+ /** @export */
5785
+ emscripten_glLinkProgram: _emscripten_glLinkProgram,
5170
5786
  /** @export */
5171
- glGetUniformLocation: _glGetUniformLocation,
5787
+ emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL: _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL,
5172
5788
  /** @export */
5173
- glInvalidateFramebuffer: _glInvalidateFramebuffer,
5789
+ emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL: _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL,
5174
5790
  /** @export */
5175
- glInvalidateSubFramebuffer: _glInvalidateSubFramebuffer,
5791
+ emscripten_glPixelStorei: _emscripten_glPixelStorei,
5176
5792
  /** @export */
5177
- glIsSync: _glIsSync,
5793
+ emscripten_glQueryCounterEXT: _emscripten_glQueryCounterEXT,
5178
5794
  /** @export */
5179
- glIsTexture: _glIsTexture,
5795
+ emscripten_glReadBuffer: _emscripten_glReadBuffer,
5180
5796
  /** @export */
5181
- glLineWidth: _glLineWidth,
5797
+ emscripten_glReadPixels: _emscripten_glReadPixels,
5182
5798
  /** @export */
5183
- glLinkProgram: _glLinkProgram,
5799
+ emscripten_glRenderbufferStorage: _emscripten_glRenderbufferStorage,
5184
5800
  /** @export */
5185
- glMultiDrawArraysInstancedBaseInstanceWEBGL: _glMultiDrawArraysInstancedBaseInstanceWEBGL,
5801
+ emscripten_glRenderbufferStorageMultisample: _emscripten_glRenderbufferStorageMultisample,
5186
5802
  /** @export */
5187
- glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL: _glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL,
5803
+ emscripten_glSamplerParameterf: _emscripten_glSamplerParameterf,
5188
5804
  /** @export */
5189
- glPixelStorei: _glPixelStorei,
5805
+ emscripten_glSamplerParameteri: _emscripten_glSamplerParameteri,
5190
5806
  /** @export */
5191
- glReadBuffer: _glReadBuffer,
5807
+ emscripten_glSamplerParameteriv: _emscripten_glSamplerParameteriv,
5192
5808
  /** @export */
5193
- glReadPixels: _glReadPixels,
5809
+ emscripten_glScissor: _emscripten_glScissor,
5194
5810
  /** @export */
5195
- glRenderbufferStorage: _glRenderbufferStorage,
5811
+ emscripten_glShaderSource: _emscripten_glShaderSource,
5196
5812
  /** @export */
5197
- glRenderbufferStorageMultisample: _glRenderbufferStorageMultisample,
5813
+ emscripten_glStencilFunc: _emscripten_glStencilFunc,
5198
5814
  /** @export */
5199
- glSamplerParameterf: _glSamplerParameterf,
5815
+ emscripten_glStencilFuncSeparate: _emscripten_glStencilFuncSeparate,
5200
5816
  /** @export */
5201
- glSamplerParameteri: _glSamplerParameteri,
5817
+ emscripten_glStencilMask: _emscripten_glStencilMask,
5202
5818
  /** @export */
5203
- glSamplerParameteriv: _glSamplerParameteriv,
5819
+ emscripten_glStencilMaskSeparate: _emscripten_glStencilMaskSeparate,
5204
5820
  /** @export */
5205
- glScissor: _glScissor,
5821
+ emscripten_glStencilOp: _emscripten_glStencilOp,
5206
5822
  /** @export */
5207
- glShaderSource: _glShaderSource,
5823
+ emscripten_glStencilOpSeparate: _emscripten_glStencilOpSeparate,
5208
5824
  /** @export */
5209
- glStencilFunc: _glStencilFunc,
5825
+ emscripten_glTexImage2D: _emscripten_glTexImage2D,
5210
5826
  /** @export */
5211
- glStencilFuncSeparate: _glStencilFuncSeparate,
5827
+ emscripten_glTexParameterf: _emscripten_glTexParameterf,
5212
5828
  /** @export */
5213
- glStencilMask: _glStencilMask,
5829
+ emscripten_glTexParameterfv: _emscripten_glTexParameterfv,
5214
5830
  /** @export */
5215
- glStencilMaskSeparate: _glStencilMaskSeparate,
5831
+ emscripten_glTexParameteri: _emscripten_glTexParameteri,
5216
5832
  /** @export */
5217
- glStencilOp: _glStencilOp,
5833
+ emscripten_glTexParameteriv: _emscripten_glTexParameteriv,
5218
5834
  /** @export */
5219
- glStencilOpSeparate: _glStencilOpSeparate,
5835
+ emscripten_glTexStorage2D: _emscripten_glTexStorage2D,
5220
5836
  /** @export */
5221
- glTexImage2D: _glTexImage2D,
5837
+ emscripten_glTexSubImage2D: _emscripten_glTexSubImage2D,
5222
5838
  /** @export */
5223
- glTexParameterf: _glTexParameterf,
5839
+ emscripten_glUniform1f: _emscripten_glUniform1f,
5224
5840
  /** @export */
5225
- glTexParameterfv: _glTexParameterfv,
5841
+ emscripten_glUniform1fv: _emscripten_glUniform1fv,
5226
5842
  /** @export */
5227
- glTexParameteri: _glTexParameteri,
5843
+ emscripten_glUniform1i: _emscripten_glUniform1i,
5228
5844
  /** @export */
5229
- glTexParameteriv: _glTexParameteriv,
5845
+ emscripten_glUniform1iv: _emscripten_glUniform1iv,
5230
5846
  /** @export */
5231
- glTexStorage2D: _glTexStorage2D,
5847
+ emscripten_glUniform2f: _emscripten_glUniform2f,
5232
5848
  /** @export */
5233
- glTexSubImage2D: _glTexSubImage2D,
5849
+ emscripten_glUniform2fv: _emscripten_glUniform2fv,
5234
5850
  /** @export */
5235
- glUniform1f: _glUniform1f,
5851
+ emscripten_glUniform2i: _emscripten_glUniform2i,
5236
5852
  /** @export */
5237
- glUniform1fv: _glUniform1fv,
5853
+ emscripten_glUniform2iv: _emscripten_glUniform2iv,
5238
5854
  /** @export */
5239
- glUniform1i: _glUniform1i,
5855
+ emscripten_glUniform3f: _emscripten_glUniform3f,
5240
5856
  /** @export */
5241
- glUniform1iv: _glUniform1iv,
5857
+ emscripten_glUniform3fv: _emscripten_glUniform3fv,
5242
5858
  /** @export */
5243
- glUniform2f: _glUniform2f,
5859
+ emscripten_glUniform3i: _emscripten_glUniform3i,
5244
5860
  /** @export */
5245
- glUniform2fv: _glUniform2fv,
5861
+ emscripten_glUniform3iv: _emscripten_glUniform3iv,
5246
5862
  /** @export */
5247
- glUniform2i: _glUniform2i,
5863
+ emscripten_glUniform4f: _emscripten_glUniform4f,
5248
5864
  /** @export */
5249
- glUniform2iv: _glUniform2iv,
5865
+ emscripten_glUniform4fv: _emscripten_glUniform4fv,
5250
5866
  /** @export */
5251
- glUniform3f: _glUniform3f,
5867
+ emscripten_glUniform4i: _emscripten_glUniform4i,
5252
5868
  /** @export */
5253
- glUniform3fv: _glUniform3fv,
5869
+ emscripten_glUniform4iv: _emscripten_glUniform4iv,
5254
5870
  /** @export */
5255
- glUniform3i: _glUniform3i,
5871
+ emscripten_glUniformMatrix2fv: _emscripten_glUniformMatrix2fv,
5256
5872
  /** @export */
5257
- glUniform3iv: _glUniform3iv,
5873
+ emscripten_glUniformMatrix3fv: _emscripten_glUniformMatrix3fv,
5258
5874
  /** @export */
5259
- glUniform4f: _glUniform4f,
5875
+ emscripten_glUniformMatrix4fv: _emscripten_glUniformMatrix4fv,
5260
5876
  /** @export */
5261
- glUniform4fv: _glUniform4fv,
5877
+ emscripten_glUseProgram: _emscripten_glUseProgram,
5262
5878
  /** @export */
5263
- glUniform4i: _glUniform4i,
5879
+ emscripten_glVertexAttrib1f: _emscripten_glVertexAttrib1f,
5264
5880
  /** @export */
5265
- glUniform4iv: _glUniform4iv,
5881
+ emscripten_glVertexAttrib2fv: _emscripten_glVertexAttrib2fv,
5266
5882
  /** @export */
5267
- glUniformMatrix2fv: _glUniformMatrix2fv,
5883
+ emscripten_glVertexAttrib3fv: _emscripten_glVertexAttrib3fv,
5268
5884
  /** @export */
5269
- glUniformMatrix3fv: _glUniformMatrix3fv,
5885
+ emscripten_glVertexAttrib4fv: _emscripten_glVertexAttrib4fv,
5270
5886
  /** @export */
5271
- glUniformMatrix4fv: _glUniformMatrix4fv,
5887
+ emscripten_glVertexAttribDivisor: _emscripten_glVertexAttribDivisor,
5888
+ /** @export */
5889
+ emscripten_glVertexAttribIPointer: _emscripten_glVertexAttribIPointer,
5890
+ /** @export */
5891
+ emscripten_glVertexAttribPointer: _emscripten_glVertexAttribPointer,
5892
+ /** @export */
5893
+ emscripten_glViewport: _emscripten_glViewport,
5894
+ /** @export */
5895
+ emscripten_glWaitSync: _emscripten_glWaitSync,
5896
+ /** @export */
5897
+ emscripten_request_animation_frame: _emscripten_request_animation_frame,
5898
+ /** @export */
5899
+ emscripten_resize_heap: _emscripten_resize_heap,
5900
+ /** @export */
5901
+ emscripten_webgl_make_context_current: _emscripten_webgl_make_context_current,
5902
+ /** @export */
5903
+ environ_get: _environ_get,
5904
+ /** @export */
5905
+ environ_sizes_get: _environ_sizes_get,
5906
+ /** @export */
5907
+ exit: _exit,
5272
5908
  /** @export */
5273
- glUseProgram: _glUseProgram,
5909
+ fd_close: _fd_close,
5274
5910
  /** @export */
5275
- glVertexAttrib1f: _glVertexAttrib1f,
5911
+ fd_seek: _fd_seek,
5276
5912
  /** @export */
5277
- glVertexAttrib2fv: _glVertexAttrib2fv,
5913
+ fd_write: _fd_write,
5278
5914
  /** @export */
5279
- glVertexAttrib3fv: _glVertexAttrib3fv,
5915
+ glBindFramebuffer: _glBindFramebuffer,
5280
5916
  /** @export */
5281
- glVertexAttrib4fv: _glVertexAttrib4fv,
5917
+ glClear: _glClear,
5282
5918
  /** @export */
5283
- glVertexAttribDivisor: _glVertexAttribDivisor,
5919
+ glClearColor: _glClearColor,
5284
5920
  /** @export */
5285
- glVertexAttribIPointer: _glVertexAttribIPointer,
5921
+ glClearStencil: _glClearStencil,
5286
5922
  /** @export */
5287
- glVertexAttribPointer: _glVertexAttribPointer,
5923
+ glGetIntegerv: _glGetIntegerv,
5288
5924
  /** @export */
5289
- glViewport: _glViewport,
5925
+ glGetString: _glGetString,
5290
5926
  /** @export */
5291
- glWaitSync: _glWaitSync,
5927
+ glGetStringi: _glGetStringi,
5292
5928
  /** @export */
5293
5929
  invoke_ii,
5294
5930
  /** @export */
@@ -5302,6 +5938,8 @@ var WebRendererWasmFactory = (() => {
5302
5938
  /** @export */
5303
5939
  invoke_iiiiiii,
5304
5940
  /** @export */
5941
+ invoke_iiiiiiii,
5942
+ /** @export */
5305
5943
  invoke_v,
5306
5944
  /** @export */
5307
5945
  invoke_vi,
@@ -5312,8 +5950,6 @@ var WebRendererWasmFactory = (() => {
5312
5950
  /** @export */
5313
5951
  invoke_viiii,
5314
5952
  /** @export */
5315
- invoke_viiiii,
5316
- /** @export */
5317
5953
  invoke_viiiiii,
5318
5954
  /** @export */
5319
5955
  invoke_viiiiiiiii,
@@ -5410,60 +6046,60 @@ var WebRendererWasmFactory = (() => {
5410
6046
  _setThrew(1, 0);
5411
6047
  }
5412
6048
  }
5413
- function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
6049
+ function invoke_v(index) {
5414
6050
  var sp = stackSave();
5415
6051
  try {
5416
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9);
6052
+ getWasmTableEntry(index)();
5417
6053
  } catch (e) {
5418
6054
  stackRestore(sp);
5419
6055
  if (e !== e + 0) throw e;
5420
6056
  _setThrew(1, 0);
5421
6057
  }
5422
6058
  }
5423
- function invoke_v(index) {
6059
+ function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
5424
6060
  var sp = stackSave();
5425
6061
  try {
5426
- getWasmTableEntry(index)();
6062
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5427
6063
  } catch (e) {
5428
6064
  stackRestore(sp);
5429
6065
  if (e !== e + 0) throw e;
5430
6066
  _setThrew(1, 0);
5431
6067
  }
5432
6068
  }
5433
- function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
6069
+ function invoke_viiiiiiiii(index, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
5434
6070
  var sp = stackSave();
5435
6071
  try {
5436
- getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
6072
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7, a8, a9);
5437
6073
  } catch (e) {
5438
6074
  stackRestore(sp);
5439
6075
  if (e !== e + 0) throw e;
5440
6076
  _setThrew(1, 0);
5441
6077
  }
5442
6078
  }
5443
- function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
6079
+ function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
5444
6080
  var sp = stackSave();
5445
6081
  try {
5446
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
6082
+ getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
5447
6083
  } catch (e) {
5448
6084
  stackRestore(sp);
5449
6085
  if (e !== e + 0) throw e;
5450
6086
  _setThrew(1, 0);
5451
6087
  }
5452
6088
  }
5453
- function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
6089
+ function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
5454
6090
  var sp = stackSave();
5455
6091
  try {
5456
- return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6);
6092
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5);
5457
6093
  } catch (e) {
5458
6094
  stackRestore(sp);
5459
6095
  if (e !== e + 0) throw e;
5460
6096
  _setThrew(1, 0);
5461
6097
  }
5462
6098
  }
5463
- function invoke_viiiii(index, a1, a2, a3, a4, a5) {
6099
+ function invoke_iiiiiiii(index, a1, a2, a3, a4, a5, a6, a7) {
5464
6100
  var sp = stackSave();
5465
6101
  try {
5466
- getWasmTableEntry(index)(a1, a2, a3, a4, a5);
6102
+ return getWasmTableEntry(index)(a1, a2, a3, a4, a5, a6, a7);
5467
6103
  } catch (e) {
5468
6104
  stackRestore(sp);
5469
6105
  if (e !== e + 0) throw e;