Mesa (glsl2): glsl2: Don't tree-grafting out assignment to an out variable.

Eric Anholt anholt at kemper.freedesktop.org
Thu Aug 5 19:59:55 UTC 2010


Module: Mesa
Branch: glsl2
Commit: b259eb28049fc06ebc75a7714834b9ed037a3454
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b259eb28049fc06ebc75a7714834b9ed037a3454

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Aug  5 12:24:36 2010 -0700

glsl2: Don't tree-grafting out assignment to an out variable.

Fixes:
glsl-deadcode-varying.

---

 src/glsl/ir_tree_grafting.cpp |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/glsl/ir_tree_grafting.cpp b/src/glsl/ir_tree_grafting.cpp
index 38034a6..1a742f4 100644
--- a/src/glsl/ir_tree_grafting.cpp
+++ b/src/glsl/ir_tree_grafting.cpp
@@ -319,6 +319,10 @@ tree_grafting_basic_block(ir_instruction *bb_first,
       if (!lhs_var)
 	 continue;
 
+      if (lhs_var->mode == ir_var_out ||
+	  lhs_var->mode == ir_var_inout)
+	 continue;
+
       struct variable_entry *entry = info->refs->get_variable_entry(lhs_var);
 
       if (!entry->declaration ||




More information about the mesa-commit mailing list