• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1hlsl.semantic.geom
2Shader version: 500
3invocations = -1
4max_vertices = 4
5input primitive = triangles
6output primitive = line_strip
70:? Sequence
80:13  Function Definition: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void)
90:13    Function Parameters:
100:13      'VertexID' ( in 3-element array of uint)
110:13      'OutputStream' ( out structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
120:?     Sequence
130:15      Sequence
140:15        Sequence
150:15          move second child to first child ( temp float)
160:?             'OutputStream.clip0' ( out float Position)
170:15            clip0: direct index for structure ( temp float)
180:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
190:15              Constant:
200:15                0 (const int)
210:?           Sequence
220:15            move second child to first child ( temp float)
230:15              direct index ( out float ClipDistance)
240:?                 'OutputStream.clip0' ( out 1-element array of float ClipDistance)
250:15                Constant:
260:15                  0 (const int)
270:15              clip0: direct index for structure ( temp float)
280:15                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
290:15                Constant:
300:15                  1 (const int)
310:?           Sequence
320:15            move second child to first child ( temp float)
330:15              direct index ( out float CullDistance)
340:?                 'OutputStream.cull0' ( out 1-element array of float CullDistance)
350:15                Constant:
360:15                  0 (const int)
370:15              cull0: direct index for structure ( temp float)
380:15                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
390:15                Constant:
400:15                  2 (const int)
410:15          move second child to first child ( temp uint)
420:?             'OutputStream.vpai' ( out uint ViewportIndex)
430:15            vpai: direct index for structure ( temp uint)
440:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
450:15              Constant:
460:15                3 (const int)
470:15          move second child to first child ( temp uint)
480:?             'OutputStream.rtai' ( out uint Layer)
490:15            rtai: direct index for structure ( temp uint)
500:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
510:15              Constant:
520:15                4 (const int)
530:15          move second child to first child ( temp int)
540:?             'OutputStream.ii' (layout( location=0) out int)
550:15            ii: direct index for structure ( temp int)
560:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
570:15              Constant:
580:15                5 (const int)
590:15        EmitVertex ( temp void)
600:13  Function Definition: main( ( temp void)
610:13    Function Parameters:
620:?     Sequence
630:13      move second child to first child ( temp 3-element array of uint)
640:?         'VertexID' ( temp 3-element array of uint)
650:?         'VertexID' (layout( location=0) in 3-element array of uint)
660:13      Function Call: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void)
670:?         'VertexID' ( temp 3-element array of uint)
680:?         'OutputStream' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
690:21  Function Definition: notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11; ( temp void)
700:21    Function Parameters:
710:21      'VertexID' ( in 2-element array of uint)
720:21      'OutputStream' ( out structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
730:?     Sequence
740:23      Sequence
750:23        Sequence
760:23          move second child to first child ( temp float)
770:?             'OutputStream.clip0' ( out float Position)
780:23            clip0: direct index for structure ( temp float)
790:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
800:23              Constant:
810:23                0 (const int)
820:?           Sequence
830:23            move second child to first child ( temp float)
840:23              direct index ( out float ClipDistance)
850:?                 'OutputStream.clip0' ( out 1-element array of float ClipDistance)
860:23                Constant:
870:23                  0 (const int)
880:23              clip0: direct index for structure ( temp float)
890:23                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
900:23                Constant:
910:23                  1 (const int)
920:?           Sequence
930:23            move second child to first child ( temp float)
940:23              direct index ( out float CullDistance)
950:?                 'OutputStream.cull0' ( out 1-element array of float CullDistance)
960:23                Constant:
970:23                  0 (const int)
980:23              cull0: direct index for structure ( temp float)
990:23                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1000:23                Constant:
1010:23                  2 (const int)
1020:23          move second child to first child ( temp uint)
1030:?             'OutputStream.vpai' ( out uint ViewportIndex)
1040:23            vpai: direct index for structure ( temp uint)
1050:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1060:23              Constant:
1070:23                3 (const int)
1080:23          move second child to first child ( temp uint)
1090:?             'OutputStream.rtai' ( out uint Layer)
1100:23            rtai: direct index for structure ( temp uint)
1110:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1120:23              Constant:
1130:23                4 (const int)
1140:23          move second child to first child ( temp int)
1150:?             'OutputStream.ii' (layout( location=0) out int)
1160:23            ii: direct index for structure ( temp int)
1170:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1180:23              Constant:
1190:23                5 (const int)
1200:23        EmitVertex ( temp void)
1210:?   Linker Objects
1220:?     'VertexID' (layout( location=0) in 3-element array of uint)
1230:?     'OutputStream.clip0' ( out float Position)
1240:?     'OutputStream.vpai' ( out uint ViewportIndex)
1250:?     'OutputStream.rtai' ( out uint Layer)
1260:?     'OutputStream.ii' (layout( location=0) out int)
1270:?     'OutputStream.clip0' ( out 1-element array of float ClipDistance)
1280:?     'OutputStream.cull0' ( out 1-element array of float CullDistance)
129
130
131Linked geometry stage:
132
133
134Shader version: 500
135invocations = 1
136max_vertices = 4
137input primitive = triangles
138output primitive = line_strip
1390:? Sequence
1400:13  Function Definition: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void)
1410:13    Function Parameters:
1420:13      'VertexID' ( in 3-element array of uint)
1430:13      'OutputStream' ( out structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1440:?     Sequence
1450:15      Sequence
1460:15        Sequence
1470:15          move second child to first child ( temp float)
1480:?             'OutputStream.clip0' ( out float Position)
1490:15            clip0: direct index for structure ( temp float)
1500:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1510:15              Constant:
1520:15                0 (const int)
1530:?           Sequence
1540:15            move second child to first child ( temp float)
1550:15              direct index ( out float ClipDistance)
1560:?                 'OutputStream.clip0' ( out 1-element array of float ClipDistance)
1570:15                Constant:
1580:15                  0 (const int)
1590:15              clip0: direct index for structure ( temp float)
1600:15                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1610:15                Constant:
1620:15                  1 (const int)
1630:?           Sequence
1640:15            move second child to first child ( temp float)
1650:15              direct index ( out float CullDistance)
1660:?                 'OutputStream.cull0' ( out 1-element array of float CullDistance)
1670:15                Constant:
1680:15                  0 (const int)
1690:15              cull0: direct index for structure ( temp float)
1700:15                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1710:15                Constant:
1720:15                  2 (const int)
1730:15          move second child to first child ( temp uint)
1740:?             'OutputStream.vpai' ( out uint ViewportIndex)
1750:15            vpai: direct index for structure ( temp uint)
1760:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1770:15              Constant:
1780:15                3 (const int)
1790:15          move second child to first child ( temp uint)
1800:?             'OutputStream.rtai' ( out uint Layer)
1810:15            rtai: direct index for structure ( temp uint)
1820:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1830:15              Constant:
1840:15                4 (const int)
1850:15          move second child to first child ( temp int)
1860:?             'OutputStream.ii' (layout( location=0) out int)
1870:15            ii: direct index for structure ( temp int)
1880:15              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
1890:15              Constant:
1900:15                5 (const int)
1910:15        EmitVertex ( temp void)
1920:13  Function Definition: main( ( temp void)
1930:13    Function Parameters:
1940:?     Sequence
1950:13      move second child to first child ( temp 3-element array of uint)
1960:?         'VertexID' ( temp 3-element array of uint)
1970:?         'VertexID' (layout( location=0) in 3-element array of uint)
1980:13      Function Call: @main(u1[3];struct-S-f1-f1-f1-u1-u1-i11; ( temp void)
1990:?         'VertexID' ( temp 3-element array of uint)
2000:?         'OutputStream' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2010:21  Function Definition: notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11; ( temp void)
2020:21    Function Parameters:
2030:21      'VertexID' ( in 2-element array of uint)
2040:21      'OutputStream' ( out structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2050:?     Sequence
2060:23      Sequence
2070:23        Sequence
2080:23          move second child to first child ( temp float)
2090:?             'OutputStream.clip0' ( out float Position)
2100:23            clip0: direct index for structure ( temp float)
2110:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2120:23              Constant:
2130:23                0 (const int)
2140:?           Sequence
2150:23            move second child to first child ( temp float)
2160:23              direct index ( out float ClipDistance)
2170:?                 'OutputStream.clip0' ( out 1-element array of float ClipDistance)
2180:23                Constant:
2190:23                  0 (const int)
2200:23              clip0: direct index for structure ( temp float)
2210:23                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2220:23                Constant:
2230:23                  1 (const int)
2240:?           Sequence
2250:23            move second child to first child ( temp float)
2260:23              direct index ( out float CullDistance)
2270:?                 'OutputStream.cull0' ( out 1-element array of float CullDistance)
2280:23                Constant:
2290:23                  0 (const int)
2300:23              cull0: direct index for structure ( temp float)
2310:23                's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2320:23                Constant:
2330:23                  2 (const int)
2340:23          move second child to first child ( temp uint)
2350:?             'OutputStream.vpai' ( out uint ViewportIndex)
2360:23            vpai: direct index for structure ( temp uint)
2370:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2380:23              Constant:
2390:23                3 (const int)
2400:23          move second child to first child ( temp uint)
2410:?             'OutputStream.rtai' ( out uint Layer)
2420:23            rtai: direct index for structure ( temp uint)
2430:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2440:23              Constant:
2450:23                4 (const int)
2460:23          move second child to first child ( temp int)
2470:?             'OutputStream.ii' (layout( location=0) out int)
2480:23            ii: direct index for structure ( temp int)
2490:23              's' ( temp structure{ temp float clip0,  temp float clip0,  temp float cull0,  temp uint vpai,  temp uint rtai,  temp int ii})
2500:23              Constant:
2510:23                5 (const int)
2520:23        EmitVertex ( temp void)
2530:?   Linker Objects
2540:?     'VertexID' (layout( location=0) in 3-element array of uint)
2550:?     'OutputStream.clip0' ( out float Position)
2560:?     'OutputStream.vpai' ( out uint ViewportIndex)
2570:?     'OutputStream.rtai' ( out uint Layer)
2580:?     'OutputStream.ii' (layout( location=0) out int)
2590:?     'OutputStream.clip0' ( out 1-element array of float ClipDistance)
2600:?     'OutputStream.cull0' ( out 1-element array of float CullDistance)
261
262Validation failed
263// Module Version 10000
264// Generated by (magic number): 8000a
265// Id's are bound by 88
266
267                              Capability Geometry
268                              Capability ClipDistance
269                              Capability CullDistance
270                              Capability MultiViewport
271               1:             ExtInstImport  "GLSL.std.450"
272                              MemoryModel Logical GLSL450
273                              EntryPoint Geometry 4  "main" 28 37 42 48 53 58 65
274                              ExecutionMode 4 Triangles
275                              ExecutionMode 4 Invocations 1
276                              ExecutionMode 4 OutputLineStrip
277                              ExecutionMode 4 OutputVertices 4
278                              Source HLSL 500
279                              Name 4  "main"
280                              Name 12  "S"
281                              MemberName 12(S) 0  "clip0"
282                              MemberName 12(S) 1  "clip0"
283                              MemberName 12(S) 2  "cull0"
284                              MemberName 12(S) 3  "vpai"
285                              MemberName 12(S) 4  "rtai"
286                              MemberName 12(S) 5  "ii"
287                              Name 17  "@main(u1[3];struct-S-f1-f1-f1-u1-u1-i11;"
288                              Name 15  "VertexID"
289                              Name 16  "OutputStream"
290                              Name 25  "notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11;"
291                              Name 23  "VertexID"
292                              Name 24  "OutputStream"
293                              Name 28  "OutputStream.clip0"
294                              Name 29  "s"
295                              Name 37  "OutputStream.clip0"
296                              Name 42  "OutputStream.cull0"
297                              Name 48  "OutputStream.vpai"
298                              Name 53  "OutputStream.rtai"
299                              Name 58  "OutputStream.ii"
300                              Name 63  "VertexID"
301                              Name 65  "VertexID"
302                              Name 67  "OutputStream"
303                              Name 68  "param"
304                              Name 70  "param"
305                              Name 73  "s"
306                              Decorate 28(OutputStream.clip0) BuiltIn Position
307                              Decorate 37(OutputStream.clip0) BuiltIn ClipDistance
308                              Decorate 42(OutputStream.cull0) BuiltIn CullDistance
309                              Decorate 48(OutputStream.vpai) BuiltIn ViewportIndex
310                              Decorate 53(OutputStream.rtai) BuiltIn Layer
311                              Decorate 58(OutputStream.ii) Location 0
312                              Decorate 65(VertexID) Location 0
313               2:             TypeVoid
314               3:             TypeFunction 2
315               6:             TypeInt 32 0
316               7:      6(int) Constant 3
317               8:             TypeArray 6(int) 7
318               9:             TypePointer Function 8
319              10:             TypeFloat 32
320              11:             TypeInt 32 1
321           12(S):             TypeStruct 10(float) 10(float) 10(float) 6(int) 6(int) 11(int)
322              13:             TypePointer Function 12(S)
323              14:             TypeFunction 2 9(ptr) 13(ptr)
324              19:      6(int) Constant 2
325              20:             TypeArray 6(int) 19
326              21:             TypePointer Function 20
327              22:             TypeFunction 2 21(ptr) 13(ptr)
328              27:             TypePointer Output 10(float)
32928(OutputStream.clip0):     27(ptr) Variable Output
330              30:     11(int) Constant 0
331              31:             TypePointer Function 10(float)
332              34:      6(int) Constant 1
333              35:             TypeArray 10(float) 34
334              36:             TypePointer Output 35
33537(OutputStream.clip0):     36(ptr) Variable Output
336              38:     11(int) Constant 1
33742(OutputStream.cull0):     36(ptr) Variable Output
338              43:     11(int) Constant 2
339              47:             TypePointer Output 6(int)
34048(OutputStream.vpai):     47(ptr) Variable Output
341              49:     11(int) Constant 3
342              50:             TypePointer Function 6(int)
34353(OutputStream.rtai):     47(ptr) Variable Output
344              54:     11(int) Constant 4
345              57:             TypePointer Output 11(int)
34658(OutputStream.ii):     57(ptr) Variable Output
347              59:     11(int) Constant 5
348              60:             TypePointer Function 11(int)
349              64:             TypePointer Input 8
350    65(VertexID):     64(ptr) Variable Input
351         4(main):           2 Function None 3
352               5:             Label
353    63(VertexID):      9(ptr) Variable Function
35467(OutputStream):     13(ptr) Variable Function
355       68(param):      9(ptr) Variable Function
356       70(param):     13(ptr) Variable Function
357              66:           8 Load 65(VertexID)
358                              Store 63(VertexID) 66
359              69:           8 Load 63(VertexID)
360                              Store 68(param) 69
361              71:           2 FunctionCall 17(@main(u1[3];struct-S-f1-f1-f1-u1-u1-i11;) 68(param) 70(param)
362              72:       12(S) Load 70(param)
363                              Store 67(OutputStream) 72
364                              Return
365                              FunctionEnd
36617(@main(u1[3];struct-S-f1-f1-f1-u1-u1-i11;):           2 Function None 14
367    15(VertexID):      9(ptr) FunctionParameter
36816(OutputStream):     13(ptr) FunctionParameter
369              18:             Label
370           29(s):     13(ptr) Variable Function
371              32:     31(ptr) AccessChain 29(s) 30
372              33:   10(float) Load 32
373                              Store 28(OutputStream.clip0) 33
374              39:     31(ptr) AccessChain 29(s) 38
375              40:   10(float) Load 39
376              41:     27(ptr) AccessChain 37(OutputStream.clip0) 30
377                              Store 41 40
378              44:     31(ptr) AccessChain 29(s) 43
379              45:   10(float) Load 44
380              46:     27(ptr) AccessChain 42(OutputStream.cull0) 30
381                              Store 46 45
382              51:     50(ptr) AccessChain 29(s) 49
383              52:      6(int) Load 51
384                              Store 48(OutputStream.vpai) 52
385              55:     50(ptr) AccessChain 29(s) 54
386              56:      6(int) Load 55
387                              Store 53(OutputStream.rtai) 56
388              61:     60(ptr) AccessChain 29(s) 59
389              62:     11(int) Load 61
390                              Store 58(OutputStream.ii) 62
391                              EmitVertex
392                              Return
393                              FunctionEnd
39425(notmain(u1[2];struct-S-f1-f1-f1-u1-u1-i11;):           2 Function None 22
395    23(VertexID):     21(ptr) FunctionParameter
39624(OutputStream):     13(ptr) FunctionParameter
397              26:             Label
398           73(s):     13(ptr) Variable Function
399              74:     31(ptr) AccessChain 73(s) 30
400              75:   10(float) Load 74
401                              Store 28(OutputStream.clip0) 75
402              76:     31(ptr) AccessChain 73(s) 38
403              77:   10(float) Load 76
404              78:     27(ptr) AccessChain 37(OutputStream.clip0) 30
405                              Store 78 77
406              79:     31(ptr) AccessChain 73(s) 43
407              80:   10(float) Load 79
408              81:     27(ptr) AccessChain 42(OutputStream.cull0) 30
409                              Store 81 80
410              82:     50(ptr) AccessChain 73(s) 49
411              83:      6(int) Load 82
412                              Store 48(OutputStream.vpai) 83
413              84:     50(ptr) AccessChain 73(s) 54
414              85:      6(int) Load 84
415                              Store 53(OutputStream.rtai) 85
416              86:     60(ptr) AccessChain 73(s) 59
417              87:     11(int) Load 86
418                              Store 58(OutputStream.ii) 87
419                              EmitVertex
420                              Return
421                              FunctionEnd
422