mesa: add GLSL_REPORT_ERRORS debug flag
If the MESA_GLSL env var contains "errors", GLSL compilation and link errors will be reported to stderr. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
parent
1c333745f3
commit
0161691f35
|
@ -2355,6 +2355,7 @@ struct gl_shader_program
|
|||
#define GLSL_NOP_VERT 0x20 /**< Force no-op vertex shaders */
|
||||
#define GLSL_NOP_FRAG 0x40 /**< Force no-op fragment shaders */
|
||||
#define GLSL_USE_PROG 0x80 /**< Log glUseProgram calls */
|
||||
#define GLSL_REPORT_ERRORS 0x100 /**< Print compilation errors */
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -83,6 +83,8 @@ get_shader_flags(void)
|
|||
flags |= GLSL_UNIFORMS;
|
||||
if (strstr(env, "useprog"))
|
||||
flags |= GLSL_USE_PROG;
|
||||
if (strstr(env, "errors"))
|
||||
flags |= GLSL_REPORT_ERRORS;
|
||||
}
|
||||
|
||||
return flags;
|
||||
|
@ -673,6 +675,12 @@ compile_shader(struct gl_context *ctx, GLuint shaderObj)
|
|||
* compilation was successful.
|
||||
*/
|
||||
_mesa_glsl_compile_shader(ctx, sh);
|
||||
|
||||
if (sh->CompileStatus == GL_FALSE &&
|
||||
(ctx->Shader.Flags & GLSL_REPORT_ERRORS)) {
|
||||
_mesa_debug(ctx, "Error compiling shader %u:\n%s\n",
|
||||
sh->Name, sh->InfoLog);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -703,6 +711,12 @@ link_program(struct gl_context *ctx, GLuint program)
|
|||
|
||||
_mesa_glsl_link_shader(ctx, shProg);
|
||||
|
||||
if (shProg->LinkStatus == GL_FALSE &&
|
||||
(ctx->Shader.Flags & GLSL_REPORT_ERRORS)) {
|
||||
_mesa_debug(ctx, "Error linking program %u:\n%s\n",
|
||||
shProg->Name, shProg->InfoLog);
|
||||
}
|
||||
|
||||
/* debug code */
|
||||
if (0) {
|
||||
GLuint i;
|
||||
|
|
Loading…
Reference in New Issue