On Sat, 2018-09-22 at 16:39 -0500, Jason Ekstrand wrote:
> Previously, we would create temporary variables and fill them out.
> Instead, we create as many function parameters as we need and pass
> them
> through as SSA defs.

(...)

>  void
>  vtn_handle_function_call(struct vtn_builder *b, SpvOp opcode,
>                           const uint32_t *w, unsigned count)
> @@ -86,12 +215,8 @@ vtn_handle_function_call(struct vtn_builder *b,
> SpvOp opcode,
>           call->params[param_idx++] =
>              nir_src_for_ssa(vtn_pointer_to_ssa(b, pointer));
>        } else {
> -         /* This is a regular SSA value and we need a temporary */
> -         nir_variable *tmp =
> -            nir_local_variable_create(b->nb.impl, arg_type->type,
> "arg_tmp");
> -         nir_deref_instr *tmp_deref = nir_build_deref_var(&b->nb,
> tmp);
> -         vtn_local_store(b, vtn_ssa_value(b, arg_id), tmp_deref);
> -         call->params[param_idx++] = nir_src_for_ssa(&tmp_deref-
> >dest.ssa);
> +         vtn_ssa_value_add_to_call_params(b, vtn_ssa_value(b, w[4 +
> i]),

arg_id instead of w[4 + i] for consistency?

Iago


> +                                          arg_type, call,
> &param_idx);
>        }
>     }
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to