Module: Mesa Branch: 9.1 Commit: 5aa8baea8661ed5a500638181cebcb6b83db0585 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5aa8baea8661ed5a500638181cebcb6b83db0585
Author: Matt Turner <[email protected]> Date: Thu Apr 11 09:55:42 2013 -0700 i965: NULL check prog on shader compilation failure. Also change if (shader) to if (prog) for consistency. Reviewed-by: Eric Anholt <[email protected]> (cherry picked from commit 32a8e877666f7c3798d736bb6f05ad2f41356ebf) --- src/mesa/drivers/dri/i965/brw_fs.cpp | 10 ++++++---- src/mesa/drivers/dri/i965/brw_vec4.cpp | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 565bc63..63985ab 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2881,7 +2881,7 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, shader = (brw_shader *) prog->_LinkedShaders[MESA_SHADER_FRAGMENT]; if (unlikely(INTEL_DEBUG & DEBUG_WM)) { - if (shader) { + if (prog) { printf("GLSL IR for native fragment shader %d:\n", prog->Name); _mesa_print_ir(shader->ir, NULL); printf("\n\n"); @@ -2896,11 +2896,13 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, */ fs_visitor v(brw, c, prog, fp, 8); if (!v.run()) { - prog->LinkStatus = false; - ralloc_strcat(&prog->InfoLog, v.fail_msg); + if (prog) { + prog->LinkStatus = false; + ralloc_strcat(&prog->InfoLog, v.fail_msg); + } _mesa_problem(NULL, "Failed to compile fragment shader: %s\n", - v.fail_msg); + v.fail_msg); return NULL; } diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp b/src/mesa/drivers/dri/i965/brw_vec4.cpp index 2295713..63003d5 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -1362,7 +1362,7 @@ brw_vs_emit(struct brw_context *brw, shader = (brw_shader *) prog->_LinkedShaders[MESA_SHADER_VERTEX]; if (unlikely(INTEL_DEBUG & DEBUG_VS)) { - if (shader) { + if (prog) { printf("GLSL IR for native vertex shader %d:\n", prog->Name); _mesa_print_ir(shader->ir, NULL); printf("\n\n"); @@ -1375,8 +1375,10 @@ brw_vs_emit(struct brw_context *brw, vec4_visitor v(brw, c, prog, shader, mem_ctx); if (!v.run()) { - prog->LinkStatus = false; - ralloc_strcat(&prog->InfoLog, v.fail_msg); + if (prog) { + prog->LinkStatus = false; + ralloc_strcat(&prog->InfoLog, v.fail_msg); + } return NULL; } _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
