[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