[Mesa-dev] [PATCH] glsl: Disable tree grafting optimization for shared variables

Iago Toral itoral at igalia.com
Fri Jan 22 04:01:29 PST 2016


Right, we had to do the same for buffer variables to prevent losing
writes to the underlying buffer.

Reviewed-by: Iago Toral Quiroga <itoral at 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 <imirkin at alum.mit.edu>
> Signed-off-by: Jordan Justen <jordan.l.justen at 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);
>  




More information about the mesa-dev mailing list