diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index df3bef2..e921d6d 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -176,6 +176,12 @@ { const gl = this.gl; + // restore a context if it was previously lost + if (gl.isContextLost() && gl.getExtension('WEBGL_lose_context')) + { + gl.getExtension('WEBGL_lose_context').restoreContext(); + } + // create a texture manager... this.textureManager = new TextureManager(this); this.textureGC = new TextureGarbageCollector(this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index df3bef2..e921d6d 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -176,6 +176,12 @@ { const gl = this.gl; + // restore a context if it was previously lost + if (gl.isContextLost() && gl.getExtension('WEBGL_lose_context')) + { + gl.getExtension('WEBGL_lose_context').restoreContext(); + } + // create a texture manager... this.textureManager = new TextureManager(this); this.textureGC = new TextureGarbageCollector(this); diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 14ae0f3..8326e63 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -13,6 +13,13 @@ { const createTempContext = !gl; + // @if DEBUG + if (maxIfs === 0) + { + throw new Error('Invalid value of `0` passed to `checkMaxIfStatementsInShader`'); + } + // @endif + if (createTempContext) { const tinyCanvas = document.createElement('canvas');