glsl_to_nir: fix is_helper_invocation
[mesa.git] / src / compiler / glsl / glsl_to_nir.cpp
index a6b9f44277f88e3e86ef69cb8cd046623652c2b7..733e0430e5fd67af6455890bb9014df6bd64eed6 100644 (file)
@@ -165,6 +165,12 @@ public:
          }
       }
 
+      if (!glsl_type_is_vector_or_scalar(ir->return_type) &&
+          !ir->return_type->is_void()) {
+         unsupported = true;
+         return visit_stop;
+      }
+
       return visit_continue;
    }
 
@@ -1580,7 +1586,6 @@ nir_visitor::visit(ir_call *ir)
       }
       case nir_intrinsic_is_helper_invocation: {
          nir_ssa_dest_init(&instr->instr, &instr->dest, 1, 1, NULL);
-         instr->num_components = 1;
          nir_builder_instr_insert(&b, &instr->instr);
          break;
       }