5 input primitive = triangles
6 output primitive = line_strip
8 0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
9 0:16 Function Parameters:
10 0:16 'VertexID' ( in 3-element array of uint)
11 0:16 'test' ( in 3-element array of uint)
12 0:16 'OutputStream' ( out structure{ temp float myfloat, temp int something})
14 0:19 move second child to first child ( temp float)
15 0:19 myfloat: direct index for structure ( temp float)
16 0:19 'Vert' ( temp structure{ temp float myfloat, temp int something})
19 0:19 Convert uint to float ( temp float)
22 0:19 direct index ( temp uint)
23 0:19 'test' ( in 3-element array of uint)
26 0:19 direct index ( temp uint)
27 0:19 'test' ( in 3-element array of uint)
30 0:19 direct index ( temp uint)
31 0:19 'test' ( in 3-element array of uint)
34 0:20 move second child to first child ( temp int)
35 0:20 something: direct index for structure ( temp int)
36 0:20 'Vert' ( temp structure{ temp float myfloat, temp int something})
39 0:20 Convert uint to int ( temp int)
40 0:20 direct index ( temp uint)
41 0:20 'VertexID' ( in 3-element array of uint)
45 0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something})
46 0:22 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
47 0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
48 0:22 EmitVertex ( temp void)
50 0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something})
51 0:23 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
52 0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
53 0:23 EmitVertex ( temp void)
54 0:24 EndPrimitive ( temp void)
55 0:16 Function Definition: main( ( temp void)
56 0:16 Function Parameters:
58 0:16 move second child to first child ( temp 3-element array of uint)
59 0:? 'VertexID' ( temp 3-element array of uint)
60 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
61 0:16 move second child to first child ( temp 3-element array of uint)
62 0:? 'test' ( temp 3-element array of uint)
63 0:? 'test' (layout( location=1) in 3-element array of uint)
64 0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
65 0:? 'VertexID' ( temp 3-element array of uint)
66 0:? 'test' ( temp 3-element array of uint)
67 0:? 'OutputStream' ( temp structure{ temp float myfloat, temp int something})
69 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
70 0:? 'test' (layout( location=1) in 3-element array of uint)
71 0:? 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
74 Linked geometry stage:
80 input primitive = triangles
81 output primitive = line_strip
83 0:16 Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
84 0:16 Function Parameters:
85 0:16 'VertexID' ( in 3-element array of uint)
86 0:16 'test' ( in 3-element array of uint)
87 0:16 'OutputStream' ( out structure{ temp float myfloat, temp int something})
89 0:19 move second child to first child ( temp float)
90 0:19 myfloat: direct index for structure ( temp float)
91 0:19 'Vert' ( temp structure{ temp float myfloat, temp int something})
94 0:19 Convert uint to float ( temp float)
97 0:19 direct index ( temp uint)
98 0:19 'test' ( in 3-element array of uint)
101 0:19 direct index ( temp uint)
102 0:19 'test' ( in 3-element array of uint)
105 0:19 direct index ( temp uint)
106 0:19 'test' ( in 3-element array of uint)
109 0:20 move second child to first child ( temp int)
110 0:20 something: direct index for structure ( temp int)
111 0:20 'Vert' ( temp structure{ temp float myfloat, temp int something})
114 0:20 Convert uint to int ( temp int)
115 0:20 direct index ( temp uint)
116 0:20 'VertexID' ( in 3-element array of uint)
120 0:22 move second child to first child ( temp structure{ temp float myfloat, temp int something})
121 0:22 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
122 0:22 'Vert' ( temp structure{ temp float myfloat, temp int something})
123 0:22 EmitVertex ( temp void)
125 0:23 move second child to first child ( temp structure{ temp float myfloat, temp int something})
126 0:23 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
127 0:23 'Vert' ( temp structure{ temp float myfloat, temp int something})
128 0:23 EmitVertex ( temp void)
129 0:24 EndPrimitive ( temp void)
130 0:16 Function Definition: main( ( temp void)
131 0:16 Function Parameters:
133 0:16 move second child to first child ( temp 3-element array of uint)
134 0:? 'VertexID' ( temp 3-element array of uint)
135 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
136 0:16 move second child to first child ( temp 3-element array of uint)
137 0:? 'test' ( temp 3-element array of uint)
138 0:? 'test' (layout( location=1) in 3-element array of uint)
139 0:16 Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
140 0:? 'VertexID' ( temp 3-element array of uint)
141 0:? 'test' ( temp 3-element array of uint)
142 0:? 'OutputStream' ( temp structure{ temp float myfloat, temp int something})
144 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
145 0:? 'test' (layout( location=1) in 3-element array of uint)
146 0:? 'OutputStream' (layout( location=0) out structure{ temp float myfloat, temp int something})
148 // Module Version 10000
149 // Generated by (magic number): 80001
150 // Id's are bound by 60
153 1: ExtInstImport "GLSL.std.450"
154 MemoryModel Logical GLSL450
155 EntryPoint Geometry 4 "main" 42 47 50
156 ExecutionMode 4 Triangles
157 ExecutionMode 4 Invocations 1
158 ExecutionMode 4 OutputLineStrip
159 ExecutionMode 4 OutputVertices 4
163 MemberName 12(PSInput) 0 "myfloat"
164 MemberName 12(PSInput) 1 "something"
165 Name 18 "@main(u1[3];u1[3];struct-PSInput-f1-i11;"
168 Name 17 "OutputStream"
170 Name 42 "OutputStream"
175 Name 52 "OutputStream"
179 Decorate 42(OutputStream) Location 0
180 Decorate 47(VertexID) Location 0
181 Decorate 50(test) Location 1
186 8: TypeArray 6(int) 7
187 9: TypePointer Function 8
190 12(PSInput): TypeStruct 10(float) 11(int)
191 13: TypePointer Function 12(PSInput)
192 14: TypeFunction 2 9(ptr) 9(ptr) 13(ptr)
193 21: 11(int) Constant 0
194 22: TypePointer Function 6(int)
195 25: 11(int) Constant 1
196 29: 11(int) Constant 2
197 34: TypePointer Function 10(float)
198 39: TypePointer Function 11(int)
199 41: TypePointer Output 12(PSInput)
200 42(OutputStream): 41(ptr) Variable Output
201 46: TypePointer Input 8
202 47(VertexID): 46(ptr) Variable Input
203 50(test): 46(ptr) Variable Input
204 4(main): 2 Function None 3
206 45(VertexID): 9(ptr) Variable Function
207 49(test): 9(ptr) Variable Function
208 52(OutputStream): 13(ptr) Variable Function
209 53(param): 9(ptr) Variable Function
210 55(param): 9(ptr) Variable Function
211 57(param): 13(ptr) Variable Function
212 48: 8 Load 47(VertexID)
213 Store 45(VertexID) 48
216 54: 8 Load 45(VertexID)
220 58: 2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 53(param) 55(param) 57(param)
221 59: 12(PSInput) Load 57(param)
222 Store 52(OutputStream) 59
225 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;): 2 Function None 14
226 15(VertexID): 9(ptr) FunctionParameter
227 16(test): 9(ptr) FunctionParameter
228 17(OutputStream): 13(ptr) FunctionParameter
230 20(Vert): 13(ptr) Variable Function
231 23: 22(ptr) AccessChain 16(test) 21
233 26: 22(ptr) AccessChain 16(test) 25
235 28: 6(int) IAdd 24 27
236 30: 22(ptr) AccessChain 16(test) 29
238 32: 6(int) IAdd 28 31
239 33: 10(float) ConvertUToF 32
240 35: 34(ptr) AccessChain 20(Vert) 21
242 36: 22(ptr) AccessChain 15(VertexID) 21
244 38: 11(int) Bitcast 37
245 40: 39(ptr) AccessChain 20(Vert) 25
247 43: 12(PSInput) Load 20(Vert)
248 Store 42(OutputStream) 43
250 44: 12(PSInput) Load 20(Vert)
251 Store 42(OutputStream) 44