summaryrefslogtreecommitdiff
path: root/frontend/_wasm/output.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/_wasm/output.js')
-rw-r--r--frontend/_wasm/output.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/frontend/_wasm/output.js b/frontend/_wasm/output.js
index ee8462a..6043271 100644
--- a/frontend/_wasm/output.js
+++ b/frontend/_wasm/output.js
@@ -2509,6 +2509,26 @@ var ASM_CONSTS = {
return id;
}
+ function _glDeleteBuffers(n, buffers) {
+ for (var i = 0; i < n; i++) {
+ var id = HEAP32[(((buffers)+(i*4))>>2)];
+ var buffer = GL.buffers[id];
+
+ // From spec: "glDeleteBuffers silently ignores 0's and names that do not
+ // correspond to existing buffer objects."
+ if (!buffer) continue;
+
+ GLctx.deleteBuffer(buffer);
+ buffer.name = 0;
+ GL.buffers[id] = null;
+
+ if (id == GLctx.currentArrayBufferBinding) GLctx.currentArrayBufferBinding = 0;
+ if (id == GLctx.currentElementArrayBufferBinding) GLctx.currentElementArrayBufferBinding = 0;
+ if (id == GLctx.currentPixelPackBufferBinding) GLctx.currentPixelPackBufferBinding = 0;
+ if (id == GLctx.currentPixelUnpackBufferBinding) GLctx.currentPixelUnpackBufferBinding = 0;
+ }
+ }
+
function _glDeleteProgram(id) {
if (!id) return;
var program = GL.programs[id];
@@ -2533,6 +2553,14 @@ var ASM_CONSTS = {
GL.shaders[id] = null;
}
+ function _glDeleteVertexArrays(n, vaos) {
+ for (var i = 0; i < n; i++) {
+ var id = HEAP32[(((vaos)+(i*4))>>2)];
+ GLctx['deleteVertexArray'](GL.vaos[id]);
+ GL.vaos[id] = null;
+ }
+ }
+
function _glDepthFunc(x0) { GLctx['depthFunc'](x0) }
function _glDepthMask(flag) {
@@ -2832,8 +2860,10 @@ var asmLibraryArg = {
"glCompileShader": _glCompileShader,
"glCreateProgram": _glCreateProgram,
"glCreateShader": _glCreateShader,
+ "glDeleteBuffers": _glDeleteBuffers,
"glDeleteProgram": _glDeleteProgram,
"glDeleteShader": _glDeleteShader,
+ "glDeleteVertexArrays": _glDeleteVertexArrays,
"glDepthFunc": _glDepthFunc,
"glDepthMask": _glDepthMask,
"glDrawArrays": _glDrawArrays,