On Wed, Apr 4, 2018 at 4:16 PM, Caio Marcelo de Oliveira Filho <
caio.olive...@intel.com> wrote:

> In the emit_copies() function, the use of "newv" and "temp" names made
> sense when only copies from temporaries to the new variables were
> being done. But now there are other calls to copy with other pairings,
> and "temp" doesn't always refer to a temporary created in this
> pass. Use the names "dest" and "src" instead.
> ---
>  .../nir/nir_lower_io_to_temporaries.c         | 22 +++++++++----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/src/compiler/nir/nir_lower_io_to_temporaries.c
> b/src/compiler/nir/nir_lower_io_to_temporaries.c
> index 301ba65892..c3e1207f4e 100644
> --- a/src/compiler/nir/nir_lower_io_to_temporaries.c
> +++ b/src/compiler/nir/nir_lower_io_to_temporaries.c
> @@ -40,34 +40,34 @@ struct lower_io_state {
>  };
>
>  static void
> -emit_copies(nir_cursor cursor, nir_shader *shader, struct exec_list
> *new_vars,
> -          struct exec_list *old_vars)
> +emit_copies(nir_cursor cursor, nir_shader *shader, struct exec_list
> *dest_vars,
> +            struct exec_list *src_vars)
>  {
> -   assert(exec_list_length(new_vars) == exec_list_length(old_vars));
> +   assert(exec_list_length(dest_vars) == exec_list_length(src_vars));
>
> -   foreach_two_lists(new_node, new_vars, old_node, old_vars) {
> -      nir_variable *newv = exec_node_data(nir_variable, new_node, node);
> -      nir_variable *temp = exec_node_data(nir_variable, old_node, node);
> +   foreach_two_lists(new_node, dest_vars, old_node, src_vars) {
> +      nir_variable *dest = exec_node_data(nir_variable, new_node, node);
> +      nir_variable *src = exec_node_data(nir_variable, old_node, node);
>

We probably want to use src_node and dst_node here.

Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>

I've made the above change and will push once Jenkins comes back one more
time.

--Jason


>
>        /* No need to copy the contents of a non-fb_fetch_output output
> variable
>         * to the temporary allocated for it, since its initial value is
>         * undefined.
>         */
> -      if (temp->data.mode == nir_var_shader_out &&
> -          !temp->data.fb_fetch_output)
> +      if (src->data.mode == nir_var_shader_out &&
> +          !src->data.fb_fetch_output)
>           continue;
>
>        /* Can't copy the contents of the temporary back to a read-only
>         * interface variable.  The value of the temporary won't have been
>         * modified by the shader anyway.
>         */
> -      if (newv->data.read_only)
> +      if (dest->data.read_only)
>           continue;
>
>        nir_intrinsic_instr *copy =
>           nir_intrinsic_instr_create(shader, nir_intrinsic_copy_var);
> -      copy->variables[0] = nir_deref_var_create(copy, newv);
> -      copy->variables[1] = nir_deref_var_create(copy, temp);
> +      copy->variables[0] = nir_deref_var_create(copy, dest);
> +      copy->variables[1] = nir_deref_var_create(copy, src);
>
>        nir_instr_insert(cursor, &copy->instr);
>     }
> --
> 2.17.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to