summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConnor Abbott <[email protected]>2015-08-03 15:04:13 -0700
committerIago Toral Quiroga <[email protected]>2015-11-23 08:36:12 +0100
commitfb93dd7aa8f2cac520bbbd3fc2af807bd2573480 (patch)
tree49bf9cf49c13a0c5ca41fef898e5b920dfd9170a
parentd982922b184930a4ceed1d97b772cce5c371865d (diff)
nir/builder: only read meaningful channels in nir_swizzle()
This way the caller doesn't have to initialize all 4 channels when they aren't using them. v2: Fix signed/unsigned comparison warning (Iago) Reviewed-by: Iago Toral Quiroga <[email protected]> Reviewed-by: Matt Turner <[email protected]>
-rw-r--r--src/glsl/nir/nir_builder.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/nir/nir_builder.h b/src/glsl/nir/nir_builder.h
index d09f929405b..b909f483579 100644
--- a/src/glsl/nir/nir_builder.h
+++ b/src/glsl/nir/nir_builder.h
@@ -242,7 +242,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 (unsigned i = 0; i < num_components; i++)
alu_src.swizzle[i] = swiz[i];
return use_fmov ? nir_fmov_alu(build, alu_src, num_components) :