diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-09-06 18:34:38 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-09-06 18:34:38 -0700 |
commit | 38890204ed1f5f8dd34cced7c42fc9cf42dccab5 (patch) | |
tree | 0b6d76adc047a0c81c9e0caf0dbbae93c5461948 /src/library_gl.js | |
parent | b5b49215d4a40566380a769f47a9c1cce74a28b0 (diff) | |
parent | fce749a7066e51d57967889fab0600c285885b4b (diff) |
Merge branch 'incoming'
Diffstat (limited to 'src/library_gl.js')
-rw-r--r-- | src/library_gl.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js index c134ad97..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); }, @@ -3398,6 +3412,7 @@ var LibraryGL = { // does not work for glBegin/End, where we generate renderer components dynamically and then // disable them ourselves, but it does help with glDrawElements/Arrays. if (!this.modifiedClientAttributes) { + GL.immediate.vertexCounter = (GL.immediate.stride * count) / 4; // XXX assuming float return; } this.modifiedClientAttributes = false; |