[Mesa-dev] [PATCH 02/12] nir/builder: only read meaningful channels in nir_swizzle()

Timothy Arceri t_arceri at yahoo.com.au
Fri Aug 14 17:07:04 PDT 2015


On Fri, 2015-08-14 at 15:30 -0700, Connor Abbott wrote:
> This way the caller doesn't have to initialize all 4 channels when they
> aren't using them.
> 
> Signed-off-by: Connor Abbott <connor.w.abbott at intel.com>
> ---
>  src/glsl/nir/nir_builder.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/glsl/nir/nir_builder.h b/src/glsl/nir/nir_builder.h
> index 1745453..9592b8a 100644
> --- a/src/glsl/nir/nir_builder.h
> +++ b/src/glsl/nir/nir_builder.h
> @@ -235,7 +235,7 @@ nir_swizzle(nir_builder *build, nir_ssa_def *src, 
> unsigned swiz[4],
>  {
>     nir_alu_src alu_src = { NIR_SRC_INIT };
>     alu_src.src = nir_src_for_ssa(src);
> -   for (int i = 0; i < 4; i++)
> +   for (int i = 0; i < num_components; i++)


Any reason you can't do this in nir_ssa_for_src() also?

>        alu_src.swizzle[i] = swiz[i];
>  
>     return use_fmov ? nir_fmov_alu(build, alu_src, num_components) :


More information about the mesa-dev mailing list