compare_id = write_construct(bool_vec_type_id, column_ids, n_elems);
}
+ else
+ throw internal_error("unsupported types for non-scalar equality comparison");
- if(compare_id)
- r_expression_result_id = write_expression(combine_op, result_type_id, compare_id);
+ r_expression_result_id = write_expression(combine_op, result_type_id, compare_id);
return;
}
}
BuiltinSemantic semantic = get_builtin_semantic(var.name);
writer.write_op_decorate(var_id, DECO_BUILTIN, semantic);
}
- if(var.sampling=="flat")
+ if(var.interpolation=="flat")
writer.write_op_decorate(var_id, DECO_FLAT);
if(var.sampling=="centroid")
writer.write_op_decorate(var_id, DECO_CENTROID);
for(Node *n: dependencies)
if(const VariableDeclaration *var = dynamic_cast<const VariableDeclaration *>(n))
if(!var->interface.empty())
- writer.write(get_id(*n));
+ writer.write(allocate_forward_id(*n));
writer.end_op(OP_ENTRY_POINT);