From f56391b8bbd7317ac8ae71dcff2a4c3ded28eacb Mon Sep 17 00:00:00 2001 From: Giuppe Date: Sun, 14 Mar 2021 03:11:40 +0100 Subject: [PATCH] fix: Shader compiler is giving warnings only when there are errors present --- src/lime/graphics/opengl/GLShader.hx | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/lime/graphics/opengl/GLShader.hx b/src/lime/graphics/opengl/GLShader.hx index d54c13259..5488a9d1d 100644 --- a/src/lime/graphics/opengl/GLShader.hx +++ b/src/lime/graphics/opengl/GLShader.hx @@ -26,18 +26,27 @@ public static function fromSource(gl:WebGLRenderContext, source:String, type:Int var shader = gl.createShader(type); gl.shaderSource(shader, source); gl.compileShader(shader); + var shaderInfoLog = gl.getShaderInfoLog(shader); + var compileStatus = gl.getShaderParameter(shader, gl.COMPILE_STATUS); - if (gl.getShaderParameter(shader, gl.COMPILE_STATUS) == 0) + if (shaderInfoLog != null || compileStatus == 0) { var message; - if (type == gl.VERTEX_SHADER) message = "Error compiling vertex shader"; - else if (type == gl.FRAGMENT_SHADER) message = "Error compiling fragment shader"; - else - message = "Error compiling unknown shader type"; + if (compileStatus == 0) message = "Error "; + else message = "Info "; - message += "\n" + gl.getShaderInfoLog(shader); - Log.error(message); + if (type == gl.VERTEX_SHADER) message = "compiling vertex shader"; + else if (type == gl.FRAGMENT_SHADER) message = "compiling fragment shader"; + else + message = "compiling unknown shader type"; + + message += "\n" + shaderInfoLog; + + if(compileStatus == 0) + Log.error(message); + else if(shaderInfoLog != null) + Log.debug(message); } return shader;