summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
index d5db8e57ffb..ef7a752014d 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler_nir.c
@@ -1418,7 +1418,12 @@ emit_intrinsic(struct ir3_compile *ctx, nir_intrinsic_instr *intr)
int idx;
if (info->has_dest) {
- dst = get_dst(ctx, &intr->dest, intr->num_components);
+ unsigned n;
+ if (info->dest_components)
+ n = info->dest_components;
+ else
+ n = intr->num_components;
+ dst = get_dst(ctx, &intr->dest, n);
} else {
dst = NULL;
}