Since the backing storage for these is shared we cannot ensure that the
value won't change by writes from other threads.
---
 src/glsl/opt_copy_propagation.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/opt_copy_propagation.cpp 
b/src/glsl/opt_copy_propagation.cpp
index 806027b..f206995 100644
--- a/src/glsl/opt_copy_propagation.cpp
+++ b/src/glsl/opt_copy_propagation.cpp
@@ -330,7 +330,7 @@ ir_copy_propagation_visitor::add_copy(ir_assignment *ir)
          */
         ir->condition = new(ralloc_parent(ir)) ir_constant(false);
         this->progress = true;
-      } else {
+      } else if (lhs_var->data.mode != ir_var_shader_storage) {
         entry = new(this->acp) acp_entry(lhs_var, rhs_var);
         this->acp->push_tail(entry);
       }
-- 
1.9.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to