1hlsl.tristream-append.geom
2Shader version: 500
3invocations = -1
4max_vertices = 3
5input primitive = triangles
6output primitive = triangle_strip
70:? Sequence
80:8  Function Definition: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
90:8    Function Parameters:
100:8      'output' ( in structure{})
110:8      'TriStream' ( out structure{})
120:?     Sequence
130:9      Sequence
140:9        Sequence
150:9          move second child to first child ( temp structure{})
160:9            'TriStream' ( out structure{})
170:9            'output' ( in structure{})
180:9        EmitVertex ( temp void)
190:14  Function Definition: @main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1; ( temp void)
200:14    Function Parameters:
210:14      'input' ( in 3-element array of structure{})
220:14      'TriStream' ( out structure{})
230:?     Sequence
240:15      Function Call: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
250:15        direct index ( temp structure{})
260:15          'input' ( in 3-element array of structure{})
270:15          Constant:
280:15            0 (const int)
290:15        'TriStream' ( out structure{})
300:16      Function Call: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
310:16        direct index ( temp structure{})
320:16          'input' ( in 3-element array of structure{})
330:16          Constant:
340:16            1 (const int)
350:16        'TriStream' ( out structure{})
360:17      Function Call: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
370:17        direct index ( temp structure{})
380:17          'input' ( in 3-element array of structure{})
390:17          Constant:
400:17            2 (const int)
410:17        'TriStream' ( out structure{})
420:14  Function Definition: main( ( temp void)
430:14    Function Parameters:
440:?     Sequence
450:14      Sequence
460:14        move second child to first child ( temp structure{})
470:14          direct index ( temp structure{})
480:?             'input' ( temp 3-element array of structure{})
490:14            Constant:
500:14              0 (const int)
510:14          direct index ( in structure{})
520:?             'input' ( in 3-element array of structure{})
530:14            Constant:
540:14              0 (const int)
550:14        move second child to first child ( temp structure{})
560:14          direct index ( temp structure{})
570:?             'input' ( temp 3-element array of structure{})
580:14            Constant:
590:14              1 (const int)
600:14          direct index ( in structure{})
610:?             'input' ( in 3-element array of structure{})
620:14            Constant:
630:14              1 (const int)
640:14        move second child to first child ( temp structure{})
650:14          direct index ( temp structure{})
660:?             'input' ( temp 3-element array of structure{})
670:14            Constant:
680:14              2 (const int)
690:14          direct index ( in structure{})
700:?             'input' ( in 3-element array of structure{})
710:14            Constant:
720:14              2 (const int)
730:14      Function Call: @main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1; ( temp void)
740:?         'input' ( temp 3-element array of structure{})
750:?         'TriStream' ( temp structure{})
760:?   Linker Objects
77
78
79Linked geometry stage:
80
81
82Shader version: 500
83invocations = 1
84max_vertices = 3
85input primitive = triangles
86output primitive = triangle_strip
870:? Sequence
880:8  Function Definition: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
890:8    Function Parameters:
900:8      'output' ( in structure{})
910:8      'TriStream' ( out structure{})
920:?     Sequence
930:9      Sequence
940:9        Sequence
950:9          move second child to first child ( temp structure{})
960:9            'TriStream' ( out structure{})
970:9            'output' ( in structure{})
980:9        EmitVertex ( temp void)
990:14  Function Definition: @main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1; ( temp void)
1000:14    Function Parameters:
1010:14      'input' ( in 3-element array of structure{})
1020:14      'TriStream' ( out structure{})
1030:?     Sequence
1040:15      Function Call: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
1050:15        direct index ( temp structure{})
1060:15          'input' ( in 3-element array of structure{})
1070:15          Constant:
1080:15            0 (const int)
1090:15        'TriStream' ( out structure{})
1100:16      Function Call: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
1110:16        direct index ( temp structure{})
1120:16          'input' ( in 3-element array of structure{})
1130:16          Constant:
1140:16            1 (const int)
1150:16        'TriStream' ( out structure{})
1160:17      Function Call: EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1; ( temp void)
1170:17        direct index ( temp structure{})
1180:17          'input' ( in 3-element array of structure{})
1190:17          Constant:
1200:17            2 (const int)
1210:17        'TriStream' ( out structure{})
1220:14  Function Definition: main( ( temp void)
1230:14    Function Parameters:
1240:?     Sequence
1250:14      Sequence
1260:14        move second child to first child ( temp structure{})
1270:14          direct index ( temp structure{})
1280:?             'input' ( temp 3-element array of structure{})
1290:14            Constant:
1300:14              0 (const int)
1310:14          direct index ( in structure{})
1320:?             'input' ( in 3-element array of structure{})
1330:14            Constant:
1340:14              0 (const int)
1350:14        move second child to first child ( temp structure{})
1360:14          direct index ( temp structure{})
1370:?             'input' ( temp 3-element array of structure{})
1380:14            Constant:
1390:14              1 (const int)
1400:14          direct index ( in structure{})
1410:?             'input' ( in 3-element array of structure{})
1420:14            Constant:
1430:14              1 (const int)
1440:14        move second child to first child ( temp structure{})
1450:14          direct index ( temp structure{})
1460:?             'input' ( temp 3-element array of structure{})
1470:14            Constant:
1480:14              2 (const int)
1490:14          direct index ( in structure{})
1500:?             'input' ( in 3-element array of structure{})
1510:14            Constant:
1520:14              2 (const int)
1530:14      Function Call: @main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1; ( temp void)
1540:?         'input' ( temp 3-element array of structure{})
1550:?         'TriStream' ( temp structure{})
1560:?   Linker Objects
157
158Validation failed
159// Module Version 10000
160// Generated by (magic number): 8000a
161// Id's are bound by 66
162
163                              Capability Geometry
164               1:             ExtInstImport  "GLSL.std.450"
165                              MemoryModel Logical GLSL450
166                              EntryPoint Geometry 4  "main"
167                              ExecutionMode 4 Triangles
168                              ExecutionMode 4 Invocations 1
169                              ExecutionMode 4 OutputTriangleStrip
170                              ExecutionMode 4 OutputVertices 3
171                              Source HLSL 500
172                              Name 4  "main"
173                              Name 6  "GSPS_INPUT"
174                              Name 11  "EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1;"
175                              Name 9  "output"
176                              Name 10  "TriStream"
177                              Name 20  "@main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1;"
178                              Name 18  "input"
179                              Name 19  "TriStream"
180                              Name 23  "TriStream"
181                              Name 27  "param"
182                              Name 30  "param"
183                              Name 34  "param"
184                              Name 37  "param"
185                              Name 41  "param"
186                              Name 44  "param"
187                              Name 47  "input"
188                              Name 49  "input"
189                              Name 60  "TriStream"
190                              Name 61  "param"
191                              Name 63  "param"
192               2:             TypeVoid
193               3:             TypeFunction 2
194   6(GSPS_INPUT):             TypeStruct
195               7:             TypePointer Function 6(GSPS_INPUT)
196               8:             TypeFunction 2 7(ptr) 7(ptr)
197              13:             TypeInt 32 0
198              14:     13(int) Constant 3
199              15:             TypeArray 6(GSPS_INPUT) 14
200              16:             TypePointer Function 15
201              17:             TypeFunction 2 16(ptr) 7(ptr)
202              22:             TypePointer Output 6(GSPS_INPUT)
203   23(TriStream):     22(ptr) Variable Output
204              25:             TypeInt 32 1
205              26:     25(int) Constant 0
206              33:     25(int) Constant 1
207              40:     25(int) Constant 2
208              48:             TypePointer Input 15
209       49(input):     48(ptr) Variable Input
210              50:             TypePointer Input 6(GSPS_INPUT)
211         4(main):           2 Function None 3
212               5:             Label
213       47(input):     16(ptr) Variable Function
214   60(TriStream):      7(ptr) Variable Function
215       61(param):     16(ptr) Variable Function
216       63(param):      7(ptr) Variable Function
217              51:     50(ptr) AccessChain 49(input) 26
218              52:6(GSPS_INPUT) Load 51
219              53:      7(ptr) AccessChain 47(input) 26
220                              Store 53 52
221              54:     50(ptr) AccessChain 49(input) 33
222              55:6(GSPS_INPUT) Load 54
223              56:      7(ptr) AccessChain 47(input) 33
224                              Store 56 55
225              57:     50(ptr) AccessChain 49(input) 40
226              58:6(GSPS_INPUT) Load 57
227              59:      7(ptr) AccessChain 47(input) 40
228                              Store 59 58
229              62:          15 Load 47(input)
230                              Store 61(param) 62
231              64:           2 FunctionCall 20(@main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1;) 61(param) 63(param)
232              65:6(GSPS_INPUT) Load 63(param)
233                              Store 60(TriStream) 65
234                              Return
235                              FunctionEnd
23611(EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1;):           2 Function None 8
237       9(output):      7(ptr) FunctionParameter
238   10(TriStream):      7(ptr) FunctionParameter
239              12:             Label
240              24:6(GSPS_INPUT) Load 9(output)
241                              Store 23(TriStream) 24
242                              EmitVertex
243                              Return
244                              FunctionEnd
24520(@main(struct-GSPS_INPUT1[3];struct-GSPS_INPUT1;):           2 Function None 17
246       18(input):     16(ptr) FunctionParameter
247   19(TriStream):      7(ptr) FunctionParameter
248              21:             Label
249       27(param):      7(ptr) Variable Function
250       30(param):      7(ptr) Variable Function
251       34(param):      7(ptr) Variable Function
252       37(param):      7(ptr) Variable Function
253       41(param):      7(ptr) Variable Function
254       44(param):      7(ptr) Variable Function
255              28:      7(ptr) AccessChain 18(input) 26
256              29:6(GSPS_INPUT) Load 28
257                              Store 27(param) 29
258              31:           2 FunctionCall 11(EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1;) 27(param) 30(param)
259              32:6(GSPS_INPUT) Load 30(param)
260                              Store 19(TriStream) 32
261              35:      7(ptr) AccessChain 18(input) 33
262              36:6(GSPS_INPUT) Load 35
263                              Store 34(param) 36
264              38:           2 FunctionCall 11(EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1;) 34(param) 37(param)
265              39:6(GSPS_INPUT) Load 37(param)
266                              Store 19(TriStream) 39
267              42:      7(ptr) AccessChain 18(input) 40
268              43:6(GSPS_INPUT) Load 42
269                              Store 41(param) 43
270              45:           2 FunctionCall 11(EmitVertex(struct-GSPS_INPUT1;struct-GSPS_INPUT1;) 41(param) 44(param)
271              46:6(GSPS_INPUT) Load 44(param)
272                              Store 19(TriStream) 46
273                              Return
274                              FunctionEnd
275