1hlsl.basic.geom
2Shader version: 500
3invocations = -1
4max_vertices = 4
5input primitive = triangles
6output primitive = line_strip
70:? Sequence
80:16  Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
90:16    Function Parameters:
100:16      'VertexID' ( in 3-element array of uint)
110:16      'test' ( in 3-element array of uint)
120:16      'OutputStream' ( out structure{ temp float myfloat,  temp int something})
130:?     Sequence
140:19      move second child to first child ( temp float)
150:19        myfloat: direct index for structure ( temp float)
160:19          'Vert' ( temp structure{ temp float myfloat,  temp int something})
170:19          Constant:
180:19            0 (const int)
190:19        Convert uint to float ( temp float)
200:19          add ( temp uint)
210:19            add ( temp uint)
220:19              direct index ( temp uint)
230:19                'test' ( in 3-element array of uint)
240:19                Constant:
250:19                  0 (const int)
260:19              direct index ( temp uint)
270:19                'test' ( in 3-element array of uint)
280:19                Constant:
290:19                  1 (const int)
300:19            direct index ( temp uint)
310:19              'test' ( in 3-element array of uint)
320:19              Constant:
330:19                2 (const int)
340:20      move second child to first child ( temp int)
350:20        something: direct index for structure ( temp int)
360:20          'Vert' ( temp structure{ temp float myfloat,  temp int something})
370:20          Constant:
380:20            1 (const int)
390:20        Convert uint to int ( temp int)
400:20          direct index ( temp uint)
410:20            'VertexID' ( in 3-element array of uint)
420:20            Constant:
430:20              0 (const int)
440:22      Sequence
450:22        Sequence
460:22          move second child to first child ( temp float)
470:?             'OutputStream.myfloat' (layout( location=0) out float)
480:22            myfloat: direct index for structure ( temp float)
490:22              'Vert' ( temp structure{ temp float myfloat,  temp int something})
500:22              Constant:
510:22                0 (const int)
520:22          move second child to first child ( temp int)
530:?             'OutputStream.something' (layout( location=1) out int)
540:22            something: direct index for structure ( temp int)
550:22              'Vert' ( temp structure{ temp float myfloat,  temp int something})
560:22              Constant:
570:22                1 (const int)
580:22        EmitVertex ( temp void)
590:23      Sequence
600:23        Sequence
610:23          move second child to first child ( temp float)
620:?             'OutputStream.myfloat' (layout( location=0) out float)
630:23            myfloat: direct index for structure ( temp float)
640:23              'Vert' ( temp structure{ temp float myfloat,  temp int something})
650:23              Constant:
660:23                0 (const int)
670:23          move second child to first child ( temp int)
680:?             'OutputStream.something' (layout( location=1) out int)
690:23            something: direct index for structure ( temp int)
700:23              'Vert' ( temp structure{ temp float myfloat,  temp int something})
710:23              Constant:
720:23                1 (const int)
730:23        EmitVertex ( temp void)
740:24      EndPrimitive ( temp void)
750:16  Function Definition: main( ( temp void)
760:16    Function Parameters:
770:?     Sequence
780:16      move second child to first child ( temp 3-element array of uint)
790:?         'VertexID' ( temp 3-element array of uint)
800:?         'VertexID' (layout( location=0) in 3-element array of uint)
810:16      move second child to first child ( temp 3-element array of uint)
820:?         'test' ( temp 3-element array of uint)
830:?         'test' (layout( location=1) in 3-element array of uint)
840:16      Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
850:?         'VertexID' ( temp 3-element array of uint)
860:?         'test' ( temp 3-element array of uint)
870:?         'OutputStream' ( temp structure{ temp float myfloat,  temp int something})
880:?   Linker Objects
890:?     'VertexID' (layout( location=0) in 3-element array of uint)
900:?     'test' (layout( location=1) in 3-element array of uint)
910:?     'OutputStream.myfloat' (layout( location=0) out float)
920:?     'OutputStream.something' (layout( location=1) out int)
93
94
95Linked geometry stage:
96
97
98Shader version: 500
99invocations = 1
100max_vertices = 4
101input primitive = triangles
102output primitive = line_strip
1030:? Sequence
1040:16  Function Definition: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
1050:16    Function Parameters:
1060:16      'VertexID' ( in 3-element array of uint)
1070:16      'test' ( in 3-element array of uint)
1080:16      'OutputStream' ( out structure{ temp float myfloat,  temp int something})
1090:?     Sequence
1100:19      move second child to first child ( temp float)
1110:19        myfloat: direct index for structure ( temp float)
1120:19          'Vert' ( temp structure{ temp float myfloat,  temp int something})
1130:19          Constant:
1140:19            0 (const int)
1150:19        Convert uint to float ( temp float)
1160:19          add ( temp uint)
1170:19            add ( temp uint)
1180:19              direct index ( temp uint)
1190:19                'test' ( in 3-element array of uint)
1200:19                Constant:
1210:19                  0 (const int)
1220:19              direct index ( temp uint)
1230:19                'test' ( in 3-element array of uint)
1240:19                Constant:
1250:19                  1 (const int)
1260:19            direct index ( temp uint)
1270:19              'test' ( in 3-element array of uint)
1280:19              Constant:
1290:19                2 (const int)
1300:20      move second child to first child ( temp int)
1310:20        something: direct index for structure ( temp int)
1320:20          'Vert' ( temp structure{ temp float myfloat,  temp int something})
1330:20          Constant:
1340:20            1 (const int)
1350:20        Convert uint to int ( temp int)
1360:20          direct index ( temp uint)
1370:20            'VertexID' ( in 3-element array of uint)
1380:20            Constant:
1390:20              0 (const int)
1400:22      Sequence
1410:22        Sequence
1420:22          move second child to first child ( temp float)
1430:?             'OutputStream.myfloat' (layout( location=0) out float)
1440:22            myfloat: direct index for structure ( temp float)
1450:22              'Vert' ( temp structure{ temp float myfloat,  temp int something})
1460:22              Constant:
1470:22                0 (const int)
1480:22          move second child to first child ( temp int)
1490:?             'OutputStream.something' (layout( location=1) out int)
1500:22            something: direct index for structure ( temp int)
1510:22              'Vert' ( temp structure{ temp float myfloat,  temp int something})
1520:22              Constant:
1530:22                1 (const int)
1540:22        EmitVertex ( temp void)
1550:23      Sequence
1560:23        Sequence
1570:23          move second child to first child ( temp float)
1580:?             'OutputStream.myfloat' (layout( location=0) out float)
1590:23            myfloat: direct index for structure ( temp float)
1600:23              'Vert' ( temp structure{ temp float myfloat,  temp int something})
1610:23              Constant:
1620:23                0 (const int)
1630:23          move second child to first child ( temp int)
1640:?             'OutputStream.something' (layout( location=1) out int)
1650:23            something: direct index for structure ( temp int)
1660:23              'Vert' ( temp structure{ temp float myfloat,  temp int something})
1670:23              Constant:
1680:23                1 (const int)
1690:23        EmitVertex ( temp void)
1700:24      EndPrimitive ( temp void)
1710:16  Function Definition: main( ( temp void)
1720:16    Function Parameters:
1730:?     Sequence
1740:16      move second child to first child ( temp 3-element array of uint)
1750:?         'VertexID' ( temp 3-element array of uint)
1760:?         'VertexID' (layout( location=0) in 3-element array of uint)
1770:16      move second child to first child ( temp 3-element array of uint)
1780:?         'test' ( temp 3-element array of uint)
1790:?         'test' (layout( location=1) in 3-element array of uint)
1800:16      Function Call: @main(u1[3];u1[3];struct-PSInput-f1-i11; ( temp void)
1810:?         'VertexID' ( temp 3-element array of uint)
1820:?         'test' ( temp 3-element array of uint)
1830:?         'OutputStream' ( temp structure{ temp float myfloat,  temp int something})
1840:?   Linker Objects
1850:?     'VertexID' (layout( location=0) in 3-element array of uint)
1860:?     'test' (layout( location=1) in 3-element array of uint)
1870:?     'OutputStream.myfloat' (layout( location=0) out float)
1880:?     'OutputStream.something' (layout( location=1) out int)
189
190// Module Version 10000
191// Generated by (magic number): 80007
192// Id's are bound by 68
193
194                              Capability Geometry
195               1:             ExtInstImport  "GLSL.std.450"
196                              MemoryModel Logical GLSL450
197                              EntryPoint Geometry 4  "main" 42 46 55 58
198                              ExecutionMode 4 Triangles
199                              ExecutionMode 4 Invocations 1
200                              ExecutionMode 4 OutputLineStrip
201                              ExecutionMode 4 OutputVertices 4
202                              Source HLSL 500
203                              Name 4  "main"
204                              Name 12  "PSInput"
205                              MemberName 12(PSInput) 0  "myfloat"
206                              MemberName 12(PSInput) 1  "something"
207                              Name 18  "@main(u1[3];u1[3];struct-PSInput-f1-i11;"
208                              Name 15  "VertexID"
209                              Name 16  "test"
210                              Name 17  "OutputStream"
211                              Name 20  "Vert"
212                              Name 42  "OutputStream.myfloat"
213                              Name 46  "OutputStream.something"
214                              Name 53  "VertexID"
215                              Name 55  "VertexID"
216                              Name 57  "test"
217                              Name 58  "test"
218                              Name 60  "OutputStream"
219                              Name 61  "param"
220                              Name 63  "param"
221                              Name 65  "param"
222                              Decorate 42(OutputStream.myfloat) Location 0
223                              Decorate 46(OutputStream.something) Location 1
224                              Decorate 55(VertexID) Location 0
225                              Decorate 58(test) Location 1
226               2:             TypeVoid
227               3:             TypeFunction 2
228               6:             TypeInt 32 0
229               7:      6(int) Constant 3
230               8:             TypeArray 6(int) 7
231               9:             TypePointer Function 8
232              10:             TypeFloat 32
233              11:             TypeInt 32 1
234     12(PSInput):             TypeStruct 10(float) 11(int)
235              13:             TypePointer Function 12(PSInput)
236              14:             TypeFunction 2 9(ptr) 9(ptr) 13(ptr)
237              21:     11(int) Constant 0
238              22:             TypePointer Function 6(int)
239              25:     11(int) Constant 1
240              29:     11(int) Constant 2
241              34:             TypePointer Function 10(float)
242              39:             TypePointer Function 11(int)
243              41:             TypePointer Output 10(float)
24442(OutputStream.myfloat):     41(ptr) Variable Output
245              45:             TypePointer Output 11(int)
24646(OutputStream.something):     45(ptr) Variable Output
247              54:             TypePointer Input 8
248    55(VertexID):     54(ptr) Variable Input
249        58(test):     54(ptr) Variable Input
250         4(main):           2 Function None 3
251               5:             Label
252    53(VertexID):      9(ptr) Variable Function
253        57(test):      9(ptr) Variable Function
25460(OutputStream):     13(ptr) Variable Function
255       61(param):      9(ptr) Variable Function
256       63(param):      9(ptr) Variable Function
257       65(param):     13(ptr) Variable Function
258              56:           8 Load 55(VertexID)
259                              Store 53(VertexID) 56
260              59:           8 Load 58(test)
261                              Store 57(test) 59
262              62:           8 Load 53(VertexID)
263                              Store 61(param) 62
264              64:           8 Load 57(test)
265                              Store 63(param) 64
266              66:           2 FunctionCall 18(@main(u1[3];u1[3];struct-PSInput-f1-i11;) 61(param) 63(param) 65(param)
267              67: 12(PSInput) Load 65(param)
268                              Store 60(OutputStream) 67
269                              Return
270                              FunctionEnd
27118(@main(u1[3];u1[3];struct-PSInput-f1-i11;):           2 Function None 14
272    15(VertexID):      9(ptr) FunctionParameter
273        16(test):      9(ptr) FunctionParameter
27417(OutputStream):     13(ptr) FunctionParameter
275              19:             Label
276        20(Vert):     13(ptr) Variable Function
277              23:     22(ptr) AccessChain 16(test) 21
278              24:      6(int) Load 23
279              26:     22(ptr) AccessChain 16(test) 25
280              27:      6(int) Load 26
281              28:      6(int) IAdd 24 27
282              30:     22(ptr) AccessChain 16(test) 29
283              31:      6(int) Load 30
284              32:      6(int) IAdd 28 31
285              33:   10(float) ConvertUToF 32
286              35:     34(ptr) AccessChain 20(Vert) 21
287                              Store 35 33
288              36:     22(ptr) AccessChain 15(VertexID) 21
289              37:      6(int) Load 36
290              38:     11(int) Bitcast 37
291              40:     39(ptr) AccessChain 20(Vert) 25
292                              Store 40 38
293              43:     34(ptr) AccessChain 20(Vert) 21
294              44:   10(float) Load 43
295                              Store 42(OutputStream.myfloat) 44
296              47:     39(ptr) AccessChain 20(Vert) 25
297              48:     11(int) Load 47
298                              Store 46(OutputStream.something) 48
299                              EmitVertex
300              49:     34(ptr) AccessChain 20(Vert) 21
301              50:   10(float) Load 49
302                              Store 42(OutputStream.myfloat) 50
303              51:     39(ptr) AccessChain 20(Vert) 25
304              52:     11(int) Load 51
305                              Store 46(OutputStream.something) 52
306                              EmitVertex
307                              EndPrimitive
308                              Return
309                              FunctionEnd
310