| #version 450 |
| |
| layout(ccw, quads, fractional_even_spacing) in; |
| |
| layout(location = 0) in vec4 vColor[]; |
| layout(location = 1) patch in vec4 vColors; |
| layout(location = 2) in Block |
| { |
| vec4 a; |
| vec4 b; |
| } blocks[]; |
| |
| struct Foo |
| { |
| vec4 a; |
| vec4 b; |
| }; |
| layout(location = 4) patch in Foo vFoo; |
| |
| void set_from_function() |
| { |
| gl_Position = blocks[0].a; |
| gl_Position += blocks[0].b; |
| gl_Position += blocks[1].a; |
| gl_Position += blocks[1].b; |
| gl_Position += vColor[0]; |
| gl_Position += vColor[1]; |
| gl_Position += vColors; |
| gl_Position += vFoo.a; |
| gl_Position += vFoo.b; |
| } |
| |
| void main() |
| { |
| set_from_function(); |
| } |