[Scummvm-git-logs] scummvm master -> 710dac80298938eff62d0796947d80b36d4f79ea

aquadran noreply at scummvm.org
Sun Mar 6 08:03:40 UTC 2022


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
710dac8029 OPENGL: Improve error handling for GL compiler by using dynamic allocated buffers.


Commit: 710dac80298938eff62d0796947d80b36d4f79ea
    https://github.com/scummvm/scummvm/commit/710dac80298938eff62d0796947d80b36d4f79ea
Author: Paweł Kołodziejski (aquadran at gmail.com)
Date: 2022-03-06T09:03:36+01:00

Commit Message:
OPENGL: Improve error handling for GL compiler by using dynamic allocated buffers.

Changed paths:
    graphics/opengl/shader.cpp


diff --git a/graphics/opengl/shader.cpp b/graphics/opengl/shader.cpp
index c5fd77974e6..8fc9fcb791a 100644
--- a/graphics/opengl/shader.cpp
+++ b/graphics/opengl/shader.cpp
@@ -110,9 +110,11 @@ static GLuint createDirectShader(const char *shaderSource, GLenum shaderType, co
 	GLint status;
 	glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
 	if (status != GL_TRUE) {
-		char buffer[512];
-		glGetShaderInfoLog(shader, 512, NULL, buffer);
-		error("Could not compile shader %s: %s", name.c_str(), buffer);
+		GLint logSize;
+		glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &logSize);
+		GLchar *log = new GLchar[logSize];
+		glGetShaderInfoLog(shader, logSize, nullptr, log);
+		error("Could not compile shader %s: %s", name.c_str(), log);
 	}
 
 	return shader;
@@ -135,9 +137,11 @@ static GLuint createCompatShader(const char *shaderSource, GLenum shaderType, co
 	GLint status;
 	glGetShaderiv(shader, GL_COMPILE_STATUS, &status);
 	if (status != GL_TRUE) {
-		char buffer[512];
-		glGetShaderInfoLog(shader, 512, NULL, buffer);
-		error("Could not compile shader %s: %s", name.c_str(), buffer);
+		GLint logSize;
+		glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &logSize);
+		GLchar *log = new GLchar[logSize];
+		glGetShaderInfoLog(shader, logSize, nullptr, log);
+		error("Could not compile shader %s: %s", name.c_str(), log);
 	}
 
 	return shader;
@@ -184,9 +188,11 @@ ShaderGL::ShaderGL(const Common::String &name, GLuint vertexShader, GLuint fragm
 	GLint status;
 	glGetProgramiv(shaderProgram, GL_LINK_STATUS, &status);
 	if (status != GL_TRUE) {
-		char buffer[512];
-		glGetProgramInfoLog(shaderProgram, 512, NULL, buffer);
-		error("Could not link shader %s: %s", name.c_str(), buffer);
+		GLint logSize;
+		glGetShaderiv(shaderProgram, GL_INFO_LOG_LENGTH, &logSize);
+		GLchar *log = new GLchar[logSize];
+		glGetShaderInfoLog(shaderProgram, logSize, nullptr, log);
+		error("Could not link shader %s: %s", name.c_str(), log);
 	}
 
 	glDetachShader(shaderProgram, vertexShader);




More information about the Scummvm-git-logs mailing list