nir: Support sysval tess levels in SPIR-V to NIR
[mesa.git] / src / compiler / spirv / vtn_subgroup.c
index eb255c4106cd2f47db02f54718f1fdc9d010a783..8d17845c1a0c420b83624b399c484c12dd2745f2 100644 (file)
@@ -252,7 +252,8 @@ vtn_handle_subgroup(struct vtn_builder *b, SpvOp opcode,
       }
       nir_intrinsic_instr *intrin =
          nir_intrinsic_instr_create(b->nb.shader, op);
-      intrin->num_components = src0->num_components;
+      if (nir_intrinsic_infos[op].src_components[0] == 0)
+         intrin->num_components = src0->num_components;
       intrin->src[0] = nir_src_for_ssa(src0);
       nir_ssa_dest_init_for_type(&intrin->instr, &intrin->dest,
                                  val->type->type, NULL);