#include using namespace metal; template T tint_dot4(vec a, vec b) { return a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3]; } struct tint_symbol { float4 value [[position]]; }; void dot_e994c7() { uint res = tint_dot4(uint4(), uint4()); } float4 vertex_main_inner() { dot_e994c7(); return float4(); } vertex tint_symbol vertex_main() { float4 const inner_result = vertex_main_inner(); tint_symbol wrapper_result = {}; wrapper_result.value = inner_result; return wrapper_result; } fragment void fragment_main() { dot_e994c7(); return; } kernel void compute_main() { dot_e994c7(); return; }