[Mesa-dev] [PATCH 1/6] nir: Make a 'var' temporary in nir_lower_io.

Jason Ekstrand jason at jlekstrand.net
Thu Jul 14 19:37:09 UTC 2016


On Thu, Jul 14, 2016 at 10:49 AM, Kenneth Graunke <kenneth at whitecape.org>
wrote:

> Less typing and word wrapping issues than intrin->variables[0]->var.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/compiler/nir/nir_lower_io.c | 28 ++++++++++++----------------
>  1 file changed, 12 insertions(+), 16 deletions(-)
>
> diff --git a/src/compiler/nir/nir_lower_io.c
> b/src/compiler/nir/nir_lower_io.c
> index c25790a..9b53eff 100644
> --- a/src/compiler/nir/nir_lower_io.c
> +++ b/src/compiler/nir/nir_lower_io.c
> @@ -265,7 +265,8 @@ nir_lower_io_block(nir_block *block,
>           continue;
>        }
>
> -      nir_variable_mode mode = intrin->variables[0]->var->data.mode;
> +      nir_variable *var = intrin->variables[0]->var;
> +      nir_variable_mode mode = var->data.mode;
>
>        if ((state->modes & mode) == 0)
>           continue;
> @@ -280,9 +281,9 @@ nir_lower_io_block(nir_block *block,
>
>        switch (intrin->intrinsic) {
>        case nir_intrinsic_load_var: {
> -         bool per_vertex =
> -            is_per_vertex_input(state, intrin->variables[0]->var) ||
> -            is_per_vertex_output(state, intrin->variables[0]->var);
> +         const bool per_vertex =
> +            is_per_vertex_input(state, var) ||
> +            is_per_vertex_output(state, var);
>
>           nir_ssa_def *offset;
>           nir_ssa_def *vertex_index;
> @@ -297,15 +298,13 @@ nir_lower_io_block(nir_block *block,
>           load->num_components = intrin->num_components;
>
>           nir_intrinsic_set_base(load,
> -            intrin->variables[0]->var->data.driver_location);
> +            var->data.driver_location);
>

Does this still need to be wrapped?


>           if (mode == nir_var_shader_in || mode == nir_var_shader_out) {
> -            nir_intrinsic_set_component(load,
> -               intrin->variables[0]->var->data.location_frac);
> +            nir_intrinsic_set_component(load, var->data.location_frac);
>           }
>
>           if (load->intrinsic == nir_intrinsic_load_uniform) {
> -            nir_intrinsic_set_range(load,
> -               state->type_size(intrin->variables[0]->var->type));
> +            nir_intrinsic_set_range(load, state->type_size(var->type));
>           }
>
>           if (per_vertex)
> @@ -334,8 +333,7 @@ nir_lower_io_block(nir_block *block,
>           nir_ssa_def *offset;
>           nir_ssa_def *vertex_index;
>
> -         bool per_vertex =
> -            is_per_vertex_output(state, intrin->variables[0]->var);
> +         const bool per_vertex = is_per_vertex_output(state, var);
>
>           offset = get_io_offset(b, intrin->variables[0],
>                                  per_vertex ? &vertex_index : NULL,
> @@ -349,10 +347,9 @@ nir_lower_io_block(nir_block *block,
>           nir_src_copy(&store->src[0], &intrin->src[0], store);
>
>           nir_intrinsic_set_base(store,
> -            intrin->variables[0]->var->data.driver_location);
> +            var->data.driver_location);
>

Same here

Other than that, nice cleanup!

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>


>           if (mode == nir_var_shader_out) {
> -            nir_intrinsic_set_component(store,
> -               intrin->variables[0]->var->data.location_frac);
> +            nir_intrinsic_set_component(store, var->data.location_frac);
>           }
>           nir_intrinsic_set_write_mask(store,
> nir_intrinsic_write_mask(intrin));
>
> @@ -389,8 +386,7 @@ nir_lower_io_block(nir_block *block,
>
>           atomic->src[0] = nir_src_for_ssa(offset);
>
> -         atomic->const_index[0] =
> -            intrin->variables[0]->var->data.driver_location;
> +         atomic->const_index[0] = var->data.driver_location;
>
>           for (unsigned i = 0;
>                i < nir_op_infos[intrin->intrinsic].num_inputs;
> --
> 2.9.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160714/95ac476d/attachment-0001.html>


More information about the mesa-dev mailing list