aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-03-31 14:05:56 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-03-31 14:17:29 -0700
commitf1416eb63e0a127aace21108333511d408adf415 (patch)
tree6b021ee16f0229434c4f99e89ba2e5a232581535 /src
parent0ab1802b4d10ba893a9b3c82b92805fad7590dc6 (diff)
invalidate renderers using stride
Diffstat (limited to 'src')
-rw-r--r--src/library_gl.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 1d37ca91..0912b5da 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -1801,6 +1801,7 @@ var LibraryGL = {
lastRenderer: null, // used to avoid cleaning up and re-preparing the same renderer
lastArrayBuffer: null, // used in conjunction with lastRenderer
lastProgram: null, // ""
+ lastStride: -1, // ""
// The following data structures are used for OpenGL Immediate Mode matrix routines.
matrix: {},
@@ -2071,6 +2072,7 @@ var LibraryGL = {
var canSkip = this == lastRenderer &&
arrayBuffer == GL.immediate.lastArrayBuffer &&
(GL.currProgram || this.program) == GL.immediate.lastProgram &&
+ GL.immediate.stride == GL.immediate.lastStride &&
!GL.immediate.matricesModified;
if (!canSkip && lastRenderer) lastRenderer.cleanup();
#endif
@@ -2091,6 +2093,7 @@ var LibraryGL = {
GL.immediate.lastRenderer = this;
GL.immediate.lastArrayBuffer = arrayBuffer;
GL.immediate.lastProgram = GL.currProgram || this.program;
+ GL.immediate.lastStride == GL.immediate.stride;
GL.immediate.matricesModified = false;
#endif