#version 450 layout(triangles) in; layout(max_vertices = 3, triangle_strip) out; struct SceneOut { vec4 pos; }; void _main(vec4 positions[3], SceneOut OUT) { for (int i = 0; i < 3; i++) { SceneOut o; o.pos = positions[i]; gl_Position = o.pos; EmitVertex(); } EndPrimitive(); } void main() { vec4 _35_unrolled[3]; for (int i = 0; i < int(3); i++) { _35_unrolled[i] = gl_in[i].gl_Position; } vec4 positions[3] = _35_unrolled; vec4 param[3] = positions; SceneOut param_1; _main(param, param_1); SceneOut OUT = param_1; }