Explorar o código

libobs-opengl: Log shader compiler errors

Colin Edwards %!s(int64=6) %!d(string=hai) anos
pai
achega
d7d5d6b87d
Modificáronse 1 ficheiros con 13 adicións e 1 borrados
  1. 13 1
      libobs-opengl/gl-shader.c

+ 13 - 1
libobs-opengl/gl-shader.c

@@ -220,8 +220,20 @@ static bool gl_shader_init(struct gs_shader *shader,
 	if (!gl_success("glGetShaderiv"))
 	if (!gl_success("glGetShaderiv"))
 		return false;
 		return false;
 
 
-	if (!compiled)
+	if (!compiled) {
+		GLint infoLength = 0;
+		glGetShaderiv(shader->obj, GL_INFO_LOG_LENGTH, &infoLength);
+
+		char *infoLog = malloc(sizeof(char) * infoLength);
+
+		GLsizei returnedLength = 0;
+		glGetShaderInfoLog(shader->obj, infoLength, &returnedLength, infoLog);
+		blog(LOG_ERROR, "Error compiling shader:\n%s\n", infoLog);
+
+		free(infoLog);
+
 		success = false;
 		success = false;
+	}
 
 
 	gl_get_shader_info(shader->obj, file, error_string);
 	gl_get_shader_info(shader->obj, file, error_string);