[Mesa-dev] [PATCH 39/65] glsl: don't crash when dumping shaders if some come from cache
Timothy Arceri
timothy.arceri at collabora.com
Fri Apr 29 13:33:38 UTC 2016
---
src/mesa/drivers/dri/i965/brw_link.cpp | 6 +++++-
src/mesa/main/shaderapi.c | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
index d4bbd8b..7809b4c 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -176,7 +176,11 @@ process_glsl_ir(gl_shader_stage stage,
fprintf(stderr, "GLSL IR for linked %s program %d:\n",
_mesa_shader_stage_to_string(shader->Stage),
shader_prog->Name);
- _mesa_print_ir(stderr, shader->ir, NULL);
+ if (shader->ir) {
+ _mesa_print_ir(stderr, shader->ir, NULL);
+ } else {
+ fprintf(stderr, "No IR to print shader may be from cache\n");
+ }
fprintf(stderr, "\n");
}
}
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 3e54709..9857bbc 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -989,7 +989,11 @@ _mesa_compile_shader(struct gl_context *ctx, struct gl_shader *sh)
if (ctx->_Shader->Flags & GLSL_DUMP) {
if (sh->CompileStatus) {
_mesa_log("GLSL IR for shader %d:\n", sh->Name);
- _mesa_print_ir(_mesa_get_log_file(), sh->ir, NULL);
+ if (sh->ir) {
+ _mesa_print_ir(_mesa_get_log_file(), sh->ir, NULL);
+ } else {
+ _mesa_log("No IR to print shader may be from cache\n");
+ }
_mesa_log("\n\n");
} else {
_mesa_log("GLSL shader %d failed to compile.\n", sh->Name);
--
2.5.5
More information about the mesa-dev
mailing list