1#version 460 2 3layout(points) in; 4layout(triangle_strip, max_vertices=3) out; 5 6in vec4 vgo1[]; 7in vec2 vgo2[]; 8 9layout(location = 5) in outBlock { 10 vec4 o3; 11} inBlock[]; 12 13out vec4 gfo1; 14out vec2 gfo2; 15 16layout(location = 5) out outBlock { 17 vec4 o3; 18} gf_out; 19 20uniform vec2 u1; 21uniform vec3 u2 = vec3(0); // initializer not present in fragment stage 22uniform vec4 u3 = vec4(0); // initializer matches initializer in fragment stage 23 24uniform crossStageBlock2 { 25 uniform vec4 a; 26 vec2 b; 27} blockName1 [2]; // instance name different from frag 28 29void main() 30{ 31 for (int i = 0; i < 3; i++) { 32 gfo1 = vec4(0); 33 gfo2 = vec2(0); 34 gf_out.o3 = inBlock[i].o3; 35 EmitVertex(); 36 } 37 EndPrimitive(); 38} 39 40