freedreno/ir3: correct # of dest components for intrinsics

Don't rely on intr->num_components having a valid value.  It doesn't
seem to anymore for non-vectorized intrinsics.

Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Rob Clark 2017-11-09 10:50:44 -05:00
parent 3fcf18634c
commit 86154acb57

View file

@ -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;
}