aboutsummaryrefslogtreecommitdiff
path: root/src/library_gl.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-09-04 14:54:42 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-04 14:54:42 -0700
commitd2a3ea8ca82533ac4dae07605aa56dee8bee9558 (patch)
treed7ad8fb4535cd9a4bb98053ec49c5bb9e8a8fbe9 /src/library_gl.js
parentfb96dbf7e0599e8052bd315f3f8e41d448e66449 (diff)
handle glBufferData usages that are not in WebGL; fixes #1589
Diffstat (limited to 'src/library_gl.js')
-rw-r--r--src/library_gl.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 5184f4fd..16ea5531 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -657,6 +657,20 @@ var LibraryGL = {
glBufferData__sig: 'viiii',
glBufferData: function(target, size, data, usage) {
+ switch (usage) { // fix usages, WebGL only has *_DRAW
+ case 0x88E1: // GL_STREAM_READ
+ case 0x88E2: // GL_STREAM_COPY
+ usage = 0x88E0; // GL_STREAM_DRAW
+ break;
+ case 0x88E5: // GL_STATIC_READ
+ case 0x88E6: // GL_STATIC_COPY
+ usage = 0x88E4; // GL_STATIC_DRAW
+ break;
+ case 0x88E9: // GL_DYNAMIC_READ
+ case 0x88EA: // GL_DYNAMIC_COPY
+ usage = 0x88E8; // GL_DYNAMIC_DRAW
+ break;
+ }
Module.ctx.bufferData(target, HEAPU8.subarray(data, data+size), usage);
},