Procházet zdrojové kódy

Dump more info when a shader can't be created

Popov72 před 4 roky
rodič
revize
9bdc9b2973
1 změnil soubory, kde provedl 4 přidání a 1 odebrání
  1. 4 1
      src/Engines/thinEngine.ts

+ 4 - 1
src/Engines/thinEngine.ts

@@ -2249,10 +2249,13 @@ export class ThinEngine {
 
 
     private _compileRawShader(source: string, type: string): WebGLShader {
     private _compileRawShader(source: string, type: string): WebGLShader {
         var gl = this._gl;
         var gl = this._gl;
+
+        while (gl.getError() != gl.NO_ERROR) { }
+
         var shader = gl.createShader(type === "vertex" ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER);
         var shader = gl.createShader(type === "vertex" ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER);
 
 
         if (!shader) {
         if (!shader) {
-            throw new Error(`Something went wrong while creating a gl ${type} shader object. gl error=${gl.getError()}`);
+            throw new Error(`Something went wrong while creating a gl ${type} shader object. gl error=${gl.getError()}, gl isContextLost=${gl.isContextLost()}, _contextWasLost=${this._contextWasLost}`);
         }
         }
 
 
         gl.shaderSource(shader, source);
         gl.shaderSource(shader, source);