| #version 450 |
| |
| layout(vertices = 4) out; |
| |
| layout(location = 0) out vec4 v0[]; |
| layout(location = 1) patch out vec4 v1[2]; |
| layout(location = 3) patch out vec4 v3; |
| |
| void write_in_func() |
| { |
| v0[gl_InvocationID] = vec4(1.0); |
| v0[gl_InvocationID].z = 3.0; |
| if (gl_InvocationID == 0) |
| { |
| v1[0] = vec4(2.0); |
| v1[0].x = 3.0; |
| v1[1] = vec4(2.0); |
| v1[1].x = 5.0; |
| } |
| v3 = vec4(5.0); |
| gl_out[gl_InvocationID].gl_Position = vec4(10.0); |
| gl_out[gl_InvocationID].gl_Position.z = 20.0; |
| gl_out[gl_InvocationID].gl_PointSize = 40.0; |
| } |
| |
| void main() |
| { |
| write_in_func(); |
| } |