1hlsl.semantic.vert
2Shader version: 500
30:? Sequence
40:10  Function Definition: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
50:10    Function Parameters:
60:10      'ins' ( in structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
70:?     Sequence
80:12      Branch: Return with expression
90:12        's' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
100:10  Function Definition: main( ( temp void)
110:10    Function Parameters:
120:?     Sequence
130:10      Sequence
140:10        move second child to first child ( temp float)
150:10          clip0: direct index for structure ( temp float)
160:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
170:10            Constant:
180:10              0 (const int)
190:?           'ins.clip0' (layout( location=0) in float)
200:10        move second child to first child ( temp float)
210:10          clip1: direct index for structure ( temp float)
220:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
230:10            Constant:
240:10              1 (const int)
250:?           'ins.clip1' (layout( location=1) in float)
260:10        move second child to first child ( temp float)
270:10          cull0: direct index for structure ( temp float)
280:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
290:10            Constant:
300:10              2 (const int)
310:?           'ins.cull0' (layout( location=0) in float)
320:10        move second child to first child ( temp float)
330:10          cull1: direct index for structure ( temp float)
340:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
350:10            Constant:
360:10              3 (const int)
370:?           'ins.cull1' (layout( location=1) in float)
380:10        move second child to first child ( temp int)
390:10          ii: direct index for structure ( temp int)
400:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
410:10            Constant:
420:10              4 (const int)
430:?           'ins.ii' ( in int InstanceIndex)
440:10      Sequence
450:10        move second child to first child ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
460:10          'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
470:10          Function Call: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
480:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
490:?         Sequence
500:10          move second child to first child ( temp float)
510:10            direct index ( out float ClipDistance)
520:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
530:10              Constant:
540:10                0 (const int)
550:10            clip0: direct index for structure ( temp float)
560:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
570:10              Constant:
580:10                0 (const int)
590:?         Sequence
600:10          move second child to first child ( temp float)
610:10            direct index ( out float ClipDistance)
620:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
630:10              Constant:
640:10                1 (const int)
650:10            clip1: direct index for structure ( temp float)
660:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
670:10              Constant:
680:10                1 (const int)
690:?         Sequence
700:10          move second child to first child ( temp float)
710:10            direct index ( out float CullDistance)
720:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
730:10              Constant:
740:10                0 (const int)
750:10            cull0: direct index for structure ( temp float)
760:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
770:10              Constant:
780:10                2 (const int)
790:?         Sequence
800:10          move second child to first child ( temp float)
810:10            direct index ( out float CullDistance)
820:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
830:10              Constant:
840:10                1 (const int)
850:10            cull1: direct index for structure ( temp float)
860:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
870:10              Constant:
880:10                3 (const int)
890:10        move second child to first child ( temp int)
900:?           '@entryPointOutput.ii' (layout( location=0) out int)
910:10          ii: direct index for structure ( temp int)
920:10            'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
930:10            Constant:
940:10              4 (const int)
950:?   Linker Objects
960:?     '@entryPointOutput.ii' (layout( location=0) out int)
970:?     'ins.ii' ( in int InstanceIndex)
980:?     'ins.clip0' (layout( location=0) in float)
990:?     'ins.clip1' (layout( location=1) in float)
1000:?     'ins.cull0' (layout( location=0) in float)
1010:?     'ins.cull1' (layout( location=1) in float)
1020:?     '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
1030:?     '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
104
105
106Linked vertex stage:
107
108
109Shader version: 500
1100:? Sequence
1110:10  Function Definition: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1120:10    Function Parameters:
1130:10      'ins' ( in structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1140:?     Sequence
1150:12      Branch: Return with expression
1160:12        's' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1170:10  Function Definition: main( ( temp void)
1180:10    Function Parameters:
1190:?     Sequence
1200:10      Sequence
1210:10        move second child to first child ( temp float)
1220:10          clip0: direct index for structure ( temp float)
1230:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1240:10            Constant:
1250:10              0 (const int)
1260:?           'ins.clip0' (layout( location=0) in float)
1270:10        move second child to first child ( temp float)
1280:10          clip1: direct index for structure ( temp float)
1290:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1300:10            Constant:
1310:10              1 (const int)
1320:?           'ins.clip1' (layout( location=1) in float)
1330:10        move second child to first child ( temp float)
1340:10          cull0: direct index for structure ( temp float)
1350:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1360:10            Constant:
1370:10              2 (const int)
1380:?           'ins.cull0' (layout( location=0) in float)
1390:10        move second child to first child ( temp float)
1400:10          cull1: direct index for structure ( temp float)
1410:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1420:10            Constant:
1430:10              3 (const int)
1440:?           'ins.cull1' (layout( location=1) in float)
1450:10        move second child to first child ( temp int)
1460:10          ii: direct index for structure ( temp int)
1470:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1480:10            Constant:
1490:10              4 (const int)
1500:?           'ins.ii' ( in int InstanceIndex)
1510:10      Sequence
1520:10        move second child to first child ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1530:10          'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1540:10          Function Call: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1550:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1560:?         Sequence
1570:10          move second child to first child ( temp float)
1580:10            direct index ( out float ClipDistance)
1590:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
1600:10              Constant:
1610:10                0 (const int)
1620:10            clip0: direct index for structure ( temp float)
1630:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1640:10              Constant:
1650:10                0 (const int)
1660:?         Sequence
1670:10          move second child to first child ( temp float)
1680:10            direct index ( out float ClipDistance)
1690:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
1700:10              Constant:
1710:10                1 (const int)
1720:10            clip1: direct index for structure ( temp float)
1730:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1740:10              Constant:
1750:10                1 (const int)
1760:?         Sequence
1770:10          move second child to first child ( temp float)
1780:10            direct index ( out float CullDistance)
1790:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
1800:10              Constant:
1810:10                0 (const int)
1820:10            cull0: direct index for structure ( temp float)
1830:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1840:10              Constant:
1850:10                2 (const int)
1860:?         Sequence
1870:10          move second child to first child ( temp float)
1880:10            direct index ( out float CullDistance)
1890:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
1900:10              Constant:
1910:10                1 (const int)
1920:10            cull1: direct index for structure ( temp float)
1930:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
1940:10              Constant:
1950:10                3 (const int)
1960:10        move second child to first child ( temp int)
1970:?           '@entryPointOutput.ii' (layout( location=0) out int)
1980:10          ii: direct index for structure ( temp int)
1990:10            'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
2000:10            Constant:
2010:10              4 (const int)
2020:?   Linker Objects
2030:?     '@entryPointOutput.ii' (layout( location=0) out int)
2040:?     'ins.ii' ( in int InstanceIndex)
2050:?     'ins.clip0' (layout( location=0) in float)
2060:?     'ins.clip1' (layout( location=1) in float)
2070:?     'ins.cull0' (layout( location=0) in float)
2080:?     'ins.cull1' (layout( location=1) in float)
2090:?     '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
2100:?     '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
211
212Validation failed
213// Module Version 10000
214// Generated by (magic number): 8000a
215// Id's are bound by 70
216
217                              Capability Shader
218                              Capability ClipDistance
219                              Capability CullDistance
220               1:             ExtInstImport  "GLSL.std.450"
221                              MemoryModel Logical GLSL450
222                              EntryPoint Vertex 4  "main" 21 26 30 34 39 51 59 67
223                              Source HLSL 500
224                              Name 4  "main"
225                              Name 8  "S"
226                              MemberName 8(S) 0  "clip0"
227                              MemberName 8(S) 1  "clip1"
228                              MemberName 8(S) 2  "cull0"
229                              MemberName 8(S) 3  "cull1"
230                              MemberName 8(S) 4  "ii"
231                              Name 12  "@main(struct-S-f1-f1-f1-f1-i11;"
232                              Name 11  "ins"
233                              Name 14  "s"
234                              Name 18  "ins"
235                              Name 21  "ins.clip0"
236                              Name 26  "ins.clip1"
237                              Name 30  "ins.cull0"
238                              Name 34  "ins.cull1"
239                              Name 39  "ins.ii"
240                              Name 43  "flattenTemp"
241                              Name 44  "param"
242                              Name 51  "@entryPointOutput.clip1"
243                              Name 59  "@entryPointOutput.cull1"
244                              Name 67  "@entryPointOutput.ii"
245                              Decorate 21(ins.clip0) Location 0
246                              Decorate 26(ins.clip1) Location 1
247                              Decorate 30(ins.cull0) Location 0
248                              Decorate 34(ins.cull1) Location 1
249                              Decorate 39(ins.ii) BuiltIn InstanceIndex
250                              Decorate 51(@entryPointOutput.clip1) BuiltIn ClipDistance
251                              Decorate 59(@entryPointOutput.cull1) BuiltIn CullDistance
252                              Decorate 67(@entryPointOutput.ii) Location 0
253               2:             TypeVoid
254               3:             TypeFunction 2
255               6:             TypeFloat 32
256               7:             TypeInt 32 1
257            8(S):             TypeStruct 6(float) 6(float) 6(float) 6(float) 7(int)
258               9:             TypePointer Function 8(S)
259              10:             TypeFunction 8(S) 9(ptr)
260              19:      7(int) Constant 0
261              20:             TypePointer Input 6(float)
262   21(ins.clip0):     20(ptr) Variable Input
263              23:             TypePointer Function 6(float)
264              25:      7(int) Constant 1
265   26(ins.clip1):     20(ptr) Variable Input
266              29:      7(int) Constant 2
267   30(ins.cull0):     20(ptr) Variable Input
268              33:      7(int) Constant 3
269   34(ins.cull1):     20(ptr) Variable Input
270              37:      7(int) Constant 4
271              38:             TypePointer Input 7(int)
272      39(ins.ii):     38(ptr) Variable Input
273              41:             TypePointer Function 7(int)
274              47:             TypeInt 32 0
275              48:     47(int) Constant 2
276              49:             TypeArray 6(float) 48
277              50:             TypePointer Output 49
27851(@entryPointOutput.clip1):     50(ptr) Variable Output
279              54:             TypePointer Output 6(float)
28059(@entryPointOutput.cull1):     50(ptr) Variable Output
281              66:             TypePointer Output 7(int)
28267(@entryPointOutput.ii):     66(ptr) Variable Output
283         4(main):           2 Function None 3
284               5:             Label
285         18(ins):      9(ptr) Variable Function
286 43(flattenTemp):      9(ptr) Variable Function
287       44(param):      9(ptr) Variable Function
288              22:    6(float) Load 21(ins.clip0)
289              24:     23(ptr) AccessChain 18(ins) 19
290                              Store 24 22
291              27:    6(float) Load 26(ins.clip1)
292              28:     23(ptr) AccessChain 18(ins) 25
293                              Store 28 27
294              31:    6(float) Load 30(ins.cull0)
295              32:     23(ptr) AccessChain 18(ins) 29
296                              Store 32 31
297              35:    6(float) Load 34(ins.cull1)
298              36:     23(ptr) AccessChain 18(ins) 33
299                              Store 36 35
300              40:      7(int) Load 39(ins.ii)
301              42:     41(ptr) AccessChain 18(ins) 37
302                              Store 42 40
303              45:        8(S) Load 18(ins)
304                              Store 44(param) 45
305              46:        8(S) FunctionCall 12(@main(struct-S-f1-f1-f1-f1-i11;) 44(param)
306                              Store 43(flattenTemp) 46
307              52:     23(ptr) AccessChain 43(flattenTemp) 19
308              53:    6(float) Load 52
309              55:     54(ptr) AccessChain 51(@entryPointOutput.clip1) 19
310                              Store 55 53
311              56:     23(ptr) AccessChain 43(flattenTemp) 25
312              57:    6(float) Load 56
313              58:     54(ptr) AccessChain 51(@entryPointOutput.clip1) 25
314                              Store 58 57
315              60:     23(ptr) AccessChain 43(flattenTemp) 29
316              61:    6(float) Load 60
317              62:     54(ptr) AccessChain 59(@entryPointOutput.cull1) 19
318                              Store 62 61
319              63:     23(ptr) AccessChain 43(flattenTemp) 33
320              64:    6(float) Load 63
321              65:     54(ptr) AccessChain 59(@entryPointOutput.cull1) 25
322                              Store 65 64
323              68:     41(ptr) AccessChain 43(flattenTemp) 37
324              69:      7(int) Load 68
325                              Store 67(@entryPointOutput.ii) 69
326                              Return
327                              FunctionEnd
32812(@main(struct-S-f1-f1-f1-f1-i11;):        8(S) Function None 10
329         11(ins):      9(ptr) FunctionParameter
330              13:             Label
331           14(s):      9(ptr) Variable Function
332              15:        8(S) Load 14(s)
333                              ReturnValue 15
334                              FunctionEnd
335