changeset 26:67647ed860f0

Improve shader compilation error reporting.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 22 Nov 2019 07:37:41 +0200
parents 2403030a0352
children 097184bd34a8
files gldragon.cpp
diffstat 1 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/gldragon.cpp	Fri Nov 22 06:47:13 2019 +0200
+++ b/gldragon.cpp	Fri Nov 22 07:37:41 2019 +0200
@@ -268,10 +268,21 @@
         return true;
     else
     {
-        char err[512];
-        glGetShaderInfoLog(shader, sizeof(err), NULL, err);
-        printf("ERROR: %s\n",
-            err);
+        GLint bufLen = 0;
+        glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &bufLen);
+
+        if (bufLen > 0)
+        {
+            char *buf = new char[bufLen];
+            glGetShaderInfoLog(shader, bufLen, NULL, buf);
+            printf("ERROR: Shader compliation error:\n%s\n",
+                buf);
+            delete buf;
+        }
+        else
+        {
+            printf("ERROR: Shader compilation error occured, but no error information got.\n");
+        }
         return false;
     }
 }