1hlsl.clipdistance-5.vert
2Shader version: 500
30:? Sequence
40:11  Function Definition: @main(struct-VS_INPUT-vf41; ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
50:11    Function Parameters:
60:11      'v' ( const (read only) structure{ temp 4-component vector of float Position})
70:?     Sequence
80:13      move second child to first child ( temp 4-component vector of float)
90:13        Position: direct index for structure ( temp 4-component vector of float)
100:13          'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
110:13          Constant:
120:13            0 (const int)
130:13        Constant:
140:13          0.000000
150:13          0.000000
160:13          0.000000
170:13          0.000000
180:15      move second child to first child ( temp float)
190:15        direct index ( temp float)
200:15          direct index ( temp 2-component vector of float)
210:15            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
220:15              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
230:15              Constant:
240:15                1 (const int)
250:15            Constant:
260:15              0 (const int)
270:15          Constant:
280:15            0 (const int)
290:15        Constant:
300:15          1.000000
310:16      move second child to first child ( temp float)
320:16        direct index ( temp float)
330:16          direct index ( temp 2-component vector of float)
340:16            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
350:16              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
360:16              Constant:
370:16                1 (const int)
380:16            Constant:
390:16              0 (const int)
400:16          Constant:
410:16            1 (const int)
420:16        Constant:
430:16          2.000000
440:17      move second child to first child ( temp float)
450:17        direct index ( temp float)
460:17          direct index ( temp 2-component vector of float)
470:17            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
480:17              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
490:17              Constant:
500:17                1 (const int)
510:17            Constant:
520:17              1 (const int)
530:17          Constant:
540:17            0 (const int)
550:17        Constant:
560:17          3.000000
570:18      move second child to first child ( temp float)
580:18        direct index ( temp float)
590:18          direct index ( temp 2-component vector of float)
600:18            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
610:18              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
620:18              Constant:
630:18                1 (const int)
640:18            Constant:
650:18              1 (const int)
660:18          Constant:
670:18            1 (const int)
680:18        Constant:
690:18          4.000000
700:20      Branch: Return with expression
710:20        'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
720:11  Function Definition: main( ( temp void)
730:11    Function Parameters:
740:?     Sequence
750:11      Sequence
760:11        move second child to first child ( temp 4-component vector of float)
770:11          Position: direct index for structure ( temp 4-component vector of float)
780:?             'v' ( temp structure{ temp 4-component vector of float Position})
790:11            Constant:
800:11              0 (const int)
810:?           'v.Position' (layout( location=0) in 4-component vector of float)
820:11      Sequence
830:11        move second child to first child ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
840:11          'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
850:11          Function Call: @main(struct-VS_INPUT-vf41; ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
860:?             'v' ( temp structure{ temp 4-component vector of float Position})
870:11        move second child to first child ( temp 4-component vector of float)
880:?           '@entryPointOutput.Position' ( out 4-component vector of float Position)
890:11          Position: direct index for structure ( temp 4-component vector of float)
900:11            'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
910:11            Constant:
920:11              0 (const int)
930:?         Sequence
940:11          move second child to first child ( temp float)
950:11            direct index ( out float ClipDistance)
960:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
970:11              Constant:
980:11                0 (const int)
990:11            direct index ( temp float)
1000:11              direct index ( temp 2-component vector of float)
1010:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1020:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1030:11                  Constant:
1040:11                    1 (const int)
1050:11                Constant:
1060:11                  0 (const int)
1070:11              Constant:
1080:11                0 (const int)
1090:11          move second child to first child ( temp float)
1100:11            direct index ( out float ClipDistance)
1110:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
1120:11              Constant:
1130:11                1 (const int)
1140:11            direct index ( temp float)
1150:11              direct index ( temp 2-component vector of float)
1160:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1170:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1180:11                  Constant:
1190:11                    1 (const int)
1200:11                Constant:
1210:11                  0 (const int)
1220:11              Constant:
1230:11                1 (const int)
1240:11          move second child to first child ( temp float)
1250:11            direct index ( out float ClipDistance)
1260:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
1270:11              Constant:
1280:11                2 (const int)
1290:11            direct index ( temp float)
1300:11              direct index ( temp 2-component vector of float)
1310:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1320:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1330:11                  Constant:
1340:11                    1 (const int)
1350:11                Constant:
1360:11                  1 (const int)
1370:11              Constant:
1380:11                0 (const int)
1390:11          move second child to first child ( temp float)
1400:11            direct index ( out float ClipDistance)
1410:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
1420:11              Constant:
1430:11                3 (const int)
1440:11            direct index ( temp float)
1450:11              direct index ( temp 2-component vector of float)
1460:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1470:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1480:11                  Constant:
1490:11                    1 (const int)
1500:11                Constant:
1510:11                  1 (const int)
1520:11              Constant:
1530:11                1 (const int)
1540:?   Linker Objects
1550:?     '@entryPointOutput.Position' ( out 4-component vector of float Position)
1560:?     'v.Position' (layout( location=0) in 4-component vector of float)
1570:?     '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
158
159
160Linked vertex stage:
161
162
163Shader version: 500
1640:? Sequence
1650:11  Function Definition: @main(struct-VS_INPUT-vf41; ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1660:11    Function Parameters:
1670:11      'v' ( const (read only) structure{ temp 4-component vector of float Position})
1680:?     Sequence
1690:13      move second child to first child ( temp 4-component vector of float)
1700:13        Position: direct index for structure ( temp 4-component vector of float)
1710:13          'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1720:13          Constant:
1730:13            0 (const int)
1740:13        Constant:
1750:13          0.000000
1760:13          0.000000
1770:13          0.000000
1780:13          0.000000
1790:15      move second child to first child ( temp float)
1800:15        direct index ( temp float)
1810:15          direct index ( temp 2-component vector of float)
1820:15            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1830:15              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1840:15              Constant:
1850:15                1 (const int)
1860:15            Constant:
1870:15              0 (const int)
1880:15          Constant:
1890:15            0 (const int)
1900:15        Constant:
1910:15          1.000000
1920:16      move second child to first child ( temp float)
1930:16        direct index ( temp float)
1940:16          direct index ( temp 2-component vector of float)
1950:16            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1960:16              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1970:16              Constant:
1980:16                1 (const int)
1990:16            Constant:
2000:16              0 (const int)
2010:16          Constant:
2020:16            1 (const int)
2030:16        Constant:
2040:16          2.000000
2050:17      move second child to first child ( temp float)
2060:17        direct index ( temp float)
2070:17          direct index ( temp 2-component vector of float)
2080:17            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
2090:17              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2100:17              Constant:
2110:17                1 (const int)
2120:17            Constant:
2130:17              1 (const int)
2140:17          Constant:
2150:17            0 (const int)
2160:17        Constant:
2170:17          3.000000
2180:18      move second child to first child ( temp float)
2190:18        direct index ( temp float)
2200:18          direct index ( temp 2-component vector of float)
2210:18            ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
2220:18              'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2230:18              Constant:
2240:18                1 (const int)
2250:18            Constant:
2260:18              1 (const int)
2270:18          Constant:
2280:18            1 (const int)
2290:18        Constant:
2300:18          4.000000
2310:20      Branch: Return with expression
2320:20        'Output' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2330:11  Function Definition: main( ( temp void)
2340:11    Function Parameters:
2350:?     Sequence
2360:11      Sequence
2370:11        move second child to first child ( temp 4-component vector of float)
2380:11          Position: direct index for structure ( temp 4-component vector of float)
2390:?             'v' ( temp structure{ temp 4-component vector of float Position})
2400:11            Constant:
2410:11              0 (const int)
2420:?           'v.Position' (layout( location=0) in 4-component vector of float)
2430:11      Sequence
2440:11        move second child to first child ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2450:11          'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2460:11          Function Call: @main(struct-VS_INPUT-vf41; ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2470:?             'v' ( temp structure{ temp 4-component vector of float Position})
2480:11        move second child to first child ( temp 4-component vector of float)
2490:?           '@entryPointOutput.Position' ( out 4-component vector of float Position)
2500:11          Position: direct index for structure ( temp 4-component vector of float)
2510:11            'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2520:11            Constant:
2530:11              0 (const int)
2540:?         Sequence
2550:11          move second child to first child ( temp float)
2560:11            direct index ( out float ClipDistance)
2570:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
2580:11              Constant:
2590:11                0 (const int)
2600:11            direct index ( temp float)
2610:11              direct index ( temp 2-component vector of float)
2620:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
2630:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2640:11                  Constant:
2650:11                    1 (const int)
2660:11                Constant:
2670:11                  0 (const int)
2680:11              Constant:
2690:11                0 (const int)
2700:11          move second child to first child ( temp float)
2710:11            direct index ( out float ClipDistance)
2720:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
2730:11              Constant:
2740:11                1 (const int)
2750:11            direct index ( temp float)
2760:11              direct index ( temp 2-component vector of float)
2770:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
2780:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2790:11                  Constant:
2800:11                    1 (const int)
2810:11                Constant:
2820:11                  0 (const int)
2830:11              Constant:
2840:11                1 (const int)
2850:11          move second child to first child ( temp float)
2860:11            direct index ( out float ClipDistance)
2870:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
2880:11              Constant:
2890:11                2 (const int)
2900:11            direct index ( temp float)
2910:11              direct index ( temp 2-component vector of float)
2920:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
2930:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2940:11                  Constant:
2950:11                    1 (const int)
2960:11                Constant:
2970:11                  1 (const int)
2980:11              Constant:
2990:11                0 (const int)
3000:11          move second child to first child ( temp float)
3010:11            direct index ( out float ClipDistance)
3020:?               '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
3030:11              Constant:
3040:11                3 (const int)
3050:11            direct index ( temp float)
3060:11              direct index ( temp 2-component vector of float)
3070:11                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
3080:11                  'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
3090:11                  Constant:
3100:11                    1 (const int)
3110:11                Constant:
3120:11                  1 (const int)
3130:11              Constant:
3140:11                1 (const int)
3150:?   Linker Objects
3160:?     '@entryPointOutput.Position' ( out 4-component vector of float Position)
3170:?     'v.Position' (layout( location=0) in 4-component vector of float)
3180:?     '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
319
320// Module Version 10000
321// Generated by (magic number): 80007
322// Id's are bound by 73
323
324                              Capability Shader
325                              Capability ClipDistance
326               1:             ExtInstImport  "GLSL.std.450"
327                              MemoryModel Logical GLSL450
328                              EntryPoint Vertex 4  "main" 44 51 57
329                              Source HLSL 500
330                              Name 4  "main"
331                              Name 8  "VS_INPUT"
332                              MemberName 8(VS_INPUT) 0  "Position"
333                              Name 13  "VS_OUTPUT"
334                              MemberName 13(VS_OUTPUT) 0  "Position"
335                              MemberName 13(VS_OUTPUT) 1  "ClipRect"
336                              Name 16  "@main(struct-VS_INPUT-vf41;"
337                              Name 15  "v"
338                              Name 19  "Output"
339                              Name 42  "v"
340                              Name 44  "v.Position"
341                              Name 47  "flattenTemp"
342                              Name 51  "@entryPointOutput.Position"
343                              Name 57  "@entryPointOutput.ClipRect"
344                              Decorate 44(v.Position) Location 0
345                              Decorate 51(@entryPointOutput.Position) BuiltIn Position
346                              Decorate 57(@entryPointOutput.ClipRect) BuiltIn ClipDistance
347               2:             TypeVoid
348               3:             TypeFunction 2
349               6:             TypeFloat 32
350               7:             TypeVector 6(float) 4
351     8(VS_INPUT):             TypeStruct 7(fvec4)
352               9:             TypeVector 6(float) 2
353              10:             TypeInt 32 0
354              11:     10(int) Constant 2
355              12:             TypeArray 9(fvec2) 11
356   13(VS_OUTPUT):             TypeStruct 7(fvec4) 12
357              14:             TypeFunction 13(VS_OUTPUT) 8(VS_INPUT)
358              18:             TypePointer Function 13(VS_OUTPUT)
359              20:             TypeInt 32 1
360              21:     20(int) Constant 0
361              22:    6(float) Constant 0
362              23:    7(fvec4) ConstantComposite 22 22 22 22
363              24:             TypePointer Function 7(fvec4)
364              26:     20(int) Constant 1
365              27:    6(float) Constant 1065353216
366              28:     10(int) Constant 0
367              29:             TypePointer Function 6(float)
368              31:    6(float) Constant 1073741824
369              32:     10(int) Constant 1
370              34:    6(float) Constant 1077936128
371              36:    6(float) Constant 1082130432
372              41:             TypePointer Function 8(VS_INPUT)
373              43:             TypePointer Input 7(fvec4)
374  44(v.Position):     43(ptr) Variable Input
375              50:             TypePointer Output 7(fvec4)
37651(@entryPointOutput.Position):     50(ptr) Variable Output
377              54:     10(int) Constant 4
378              55:             TypeArray 6(float) 54
379              56:             TypePointer Output 55
38057(@entryPointOutput.ClipRect):     56(ptr) Variable Output
381              60:             TypePointer Output 6(float)
382              65:     20(int) Constant 2
383              69:     20(int) Constant 3
384         4(main):           2 Function None 3
385               5:             Label
386           42(v):     41(ptr) Variable Function
387 47(flattenTemp):     18(ptr) Variable Function
388              45:    7(fvec4) Load 44(v.Position)
389              46:     24(ptr) AccessChain 42(v) 21
390                              Store 46 45
391              48: 8(VS_INPUT) Load 42(v)
392              49:13(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-vf41;) 48
393                              Store 47(flattenTemp) 49
394              52:     24(ptr) AccessChain 47(flattenTemp) 21
395              53:    7(fvec4) Load 52
396                              Store 51(@entryPointOutput.Position) 53
397              58:     29(ptr) AccessChain 47(flattenTemp) 26 21 28
398              59:    6(float) Load 58
399              61:     60(ptr) AccessChain 57(@entryPointOutput.ClipRect) 21
400                              Store 61 59
401              62:     29(ptr) AccessChain 47(flattenTemp) 26 21 32
402              63:    6(float) Load 62
403              64:     60(ptr) AccessChain 57(@entryPointOutput.ClipRect) 26
404                              Store 64 63
405              66:     29(ptr) AccessChain 47(flattenTemp) 26 26 28
406              67:    6(float) Load 66
407              68:     60(ptr) AccessChain 57(@entryPointOutput.ClipRect) 65
408                              Store 68 67
409              70:     29(ptr) AccessChain 47(flattenTemp) 26 26 32
410              71:    6(float) Load 70
411              72:     60(ptr) AccessChain 57(@entryPointOutput.ClipRect) 69
412                              Store 72 71
413                              Return
414                              FunctionEnd
41516(@main(struct-VS_INPUT-vf41;):13(VS_OUTPUT) Function None 14
416           15(v): 8(VS_INPUT) FunctionParameter
417              17:             Label
418      19(Output):     18(ptr) Variable Function
419              25:     24(ptr) AccessChain 19(Output) 21
420                              Store 25 23
421              30:     29(ptr) AccessChain 19(Output) 26 21 28
422                              Store 30 27
423              33:     29(ptr) AccessChain 19(Output) 26 21 32
424                              Store 33 31
425              35:     29(ptr) AccessChain 19(Output) 26 26 28
426                              Store 35 34
427              37:     29(ptr) AccessChain 19(Output) 26 26 32
428                              Store 37 36
429              38:13(VS_OUTPUT) Load 19(Output)
430                              ReturnValue 38
431                              FunctionEnd
432