glsl2: Don't tree-grafting out assignment to an out variable.
authorEric Anholt <eric@anholt.net>
Thu, 5 Aug 2010 19:24:36 +0000 (12:24 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 5 Aug 2010 19:56:03 +0000 (12:56 -0700)
Fixes:
glsl-deadcode-varying.

src/glsl/ir_tree_grafting.cpp

index 38034a6197797f208aca36a5d9532ad2c6302f03..1a742f412cb8f7f84ecf23044adfc48a00172ffd 100644 (file)
@@ -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 ||