maths and bugs
[vg.git] / src / vg / vg_shader.h
index da611869280c95602c46b005bd2a8eb62bf09cf4..0f1303bc3c540768e3218c57f5047af7c3c3e462 100644 (file)
@@ -66,17 +66,26 @@ struct vg_shader
 static GLuint vg_shader_subshader( const char *src, GLint gliShaderType )
 {
        GLint shader = glCreateShader( gliShaderType );
+
+   if( shader == GL_NONE )
+   {
+      vg_error( "Could not 'glCreateShader()'\n" );
+      return 0;
+   }
+
        glShaderSource( shader, 2, (const char *[2]){ vg_shader_gl_ver, src }, NULL );
        glCompileShader( shader );
 
-       int success;
-       char infoLog[512];
-       glGetShaderiv( shader, GL_COMPILE_STATUS, &success );
+       GLint status;
+       glGetShaderiv( shader, GL_COMPILE_STATUS, &status );
 
-       if( !success )
+       if( status != GL_TRUE )
        {
-               glGetShaderInfoLog( shader, 512, NULL, infoLog );
-               vg_error( "Error info:\n%s\n", infoLog );
+      GLchar info[1024];
+      GLsizei len;
+
+               glGetShaderInfoLog( shader, sizeof(info), &len, info );
+               vg_error( "Error info:\n%s\n", info );
                return 0;
        }