spirv: do not set num_components for non-vectorized mbcnt_amd intrinsic

Fixes: 167fa2887f ("nir/validate: validate intr->num_components")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5493>
This commit is contained in:
Samuel Pitoiset 2020-06-16 09:08:02 +02:00 committed by Marge Bot
parent b2e9d21fdd
commit 4d13e35315
1 changed files with 2 additions and 1 deletions

View File

@ -91,7 +91,8 @@ vtn_handle_amd_shader_ballot_instruction(struct vtn_builder *b, SpvOp ext_opcode
nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(b->nb.shader, op);
nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest, dest_type, NULL);
intrin->num_components = intrin->dest.ssa.num_components;
if (nir_intrinsic_infos[op].src_components[0] == 0)
intrin->num_components = intrin->dest.ssa.num_components;
for (unsigned i = 0; i < num_args; i++)
intrin->src[i] = nir_src_for_ssa(vtn_ssa_value(b, w[i + 5])->def);