Right, we had to do the same for buffer variables to prevent losing writes to the underlying buffer.
Reviewed-by: Iago Toral Quiroga <ito...@igalia.com> On Thu, 2016-01-21 at 16:47 -0800, Jordan Justen wrote: > Fixes: dEQP-GLES31.functional.compute.basic.shared_atomic_op_multiple_groups > > From: https://android.googlesource.com/platform/external/deqp > > Reported-by: Ilia Mirkin <imir...@alum.mit.edu> > Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com> > --- > src/glsl/opt_tree_grafting.cpp | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/src/glsl/opt_tree_grafting.cpp b/src/glsl/opt_tree_grafting.cpp > index cd58213..e4b72b6 100644 > --- a/src/glsl/opt_tree_grafting.cpp > +++ b/src/glsl/opt_tree_grafting.cpp > @@ -361,11 +361,12 @@ tree_grafting_basic_block(ir_instruction *bb_first, > if (!lhs_var) > continue; > > - if (lhs_var->data.mode == ir_var_function_out || > - lhs_var->data.mode == ir_var_function_inout || > - lhs_var->data.mode == ir_var_shader_out || > - lhs_var->data.mode == ir_var_shader_storage) > - continue; > + if (lhs_var->data.mode == ir_var_function_out || > + lhs_var->data.mode == ir_var_function_inout || > + lhs_var->data.mode == ir_var_shader_out || > + lhs_var->data.mode == ir_var_shader_storage || > + lhs_var->data.mode == ir_var_shader_shared) > + continue; > > ir_variable_refcount_entry *entry = > info->refs->get_variable_entry(lhs_var); > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev