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

Reply via email to