1hlsl.clipdistance-7.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:8  Function Definition: @main(struct-VS_OUTPUT-vf4-vf3-vf41; ( temp 4-component vector of float)
60:8    Function Parameters:
70:8      'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
80:?     Sequence
90:9      Branch: Return with expression
100:9        add ( temp 4-component vector of float)
110:9          add ( temp 4-component vector of float)
120:9            Position: direct index for structure ( temp 4-component vector of float)
130:9              'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
140:9              Constant:
150:9                0 (const int)
160:9            direct index ( temp float)
170:9              clip0: direct index for structure ( temp 3-component vector of float)
180:9                'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
190:9                Constant:
200:9                  1 (const int)
210:9              Constant:
220:9                0 (const int)
230:9          direct index ( temp float)
240:9            clip1: direct index for structure ( temp 4-component vector of float)
250:9              'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
260:9              Constant:
270:9                2 (const int)
280:9            Constant:
290:9              0 (const int)
300:8  Function Definition: main( ( temp void)
310:8    Function Parameters:
320:?     Sequence
330:8      Sequence
340:8        move second child to first child ( temp 4-component vector of float)
350:8          Position: direct index for structure ( temp 4-component vector of float)
360:?             'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
370:8            Constant:
380:8              0 (const int)
390:?           'v.Position' ( in 4-component vector of float FragCoord)
400:?         Sequence
410:8          move second child to first child ( temp float)
420:8            direct index ( temp float)
430:8              clip0: direct index for structure ( temp 3-component vector of float)
440:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
450:8                Constant:
460:8                  1 (const int)
470:8              Constant:
480:8                0 (const int)
490:8            direct index ( in float ClipDistance)
500:?               'v.clip1' ( in 8-element array of float ClipDistance)
510:8              Constant:
520:8                0 (const int)
530:8          move second child to first child ( temp float)
540:8            direct index ( temp float)
550:8              clip0: direct index for structure ( temp 3-component vector of float)
560:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
570:8                Constant:
580:8                  1 (const int)
590:8              Constant:
600:8                1 (const int)
610:8            direct index ( in float ClipDistance)
620:?               'v.clip1' ( in 8-element array of float ClipDistance)
630:8              Constant:
640:8                1 (const int)
650:8          move second child to first child ( temp float)
660:8            direct index ( temp float)
670:8              clip0: direct index for structure ( temp 3-component vector of float)
680:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
690:8                Constant:
700:8                  1 (const int)
710:8              Constant:
720:8                2 (const int)
730:8            direct index ( in float ClipDistance)
740:?               'v.clip1' ( in 8-element array of float ClipDistance)
750:8              Constant:
760:8                2 (const int)
770:?         Sequence
780:8          move second child to first child ( temp float)
790:8            direct index ( temp float)
800:8              clip1: direct index for structure ( temp 4-component vector of float)
810:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
820:8                Constant:
830:8                  2 (const int)
840:8              Constant:
850:8                0 (const int)
860:8            direct index ( in float ClipDistance)
870:?               'v.clip1' ( in 8-element array of float ClipDistance)
880:8              Constant:
890:8                4 (const int)
900:8          move second child to first child ( temp float)
910:8            direct index ( temp float)
920:8              clip1: direct index for structure ( temp 4-component vector of float)
930:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
940:8                Constant:
950:8                  2 (const int)
960:8              Constant:
970:8                1 (const int)
980:8            direct index ( in float ClipDistance)
990:?               'v.clip1' ( in 8-element array of float ClipDistance)
1000:8              Constant:
1010:8                5 (const int)
1020:8          move second child to first child ( temp float)
1030:8            direct index ( temp float)
1040:8              clip1: direct index for structure ( temp 4-component vector of float)
1050:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1060:8                Constant:
1070:8                  2 (const int)
1080:8              Constant:
1090:8                2 (const int)
1100:8            direct index ( in float ClipDistance)
1110:?               'v.clip1' ( in 8-element array of float ClipDistance)
1120:8              Constant:
1130:8                6 (const int)
1140:8          move second child to first child ( temp float)
1150:8            direct index ( temp float)
1160:8              clip1: direct index for structure ( temp 4-component vector of float)
1170:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1180:8                Constant:
1190:8                  2 (const int)
1200:8              Constant:
1210:8                3 (const int)
1220:8            direct index ( in float ClipDistance)
1230:?               'v.clip1' ( in 8-element array of float ClipDistance)
1240:8              Constant:
1250:8                7 (const int)
1260:8      move second child to first child ( temp 4-component vector of float)
1270:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1280:8        Function Call: @main(struct-VS_OUTPUT-vf4-vf3-vf41; ( temp 4-component vector of float)
1290:?           'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1300:?   Linker Objects
1310:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1320:?     'v.Position' ( in 4-component vector of float FragCoord)
1330:?     'v.clip1' ( in 8-element array of float ClipDistance)
134
135
136Linked fragment stage:
137
138
139Shader version: 500
140gl_FragCoord origin is upper left
1410:? Sequence
1420:8  Function Definition: @main(struct-VS_OUTPUT-vf4-vf3-vf41; ( temp 4-component vector of float)
1430:8    Function Parameters:
1440:8      'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1450:?     Sequence
1460:9      Branch: Return with expression
1470:9        add ( temp 4-component vector of float)
1480:9          add ( temp 4-component vector of float)
1490:9            Position: direct index for structure ( temp 4-component vector of float)
1500:9              'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1510:9              Constant:
1520:9                0 (const int)
1530:9            direct index ( temp float)
1540:9              clip0: direct index for structure ( temp 3-component vector of float)
1550:9                'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1560:9                Constant:
1570:9                  1 (const int)
1580:9              Constant:
1590:9                0 (const int)
1600:9          direct index ( temp float)
1610:9            clip1: direct index for structure ( temp 4-component vector of float)
1620:9              'v' ( in structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1630:9              Constant:
1640:9                2 (const int)
1650:9            Constant:
1660:9              0 (const int)
1670:8  Function Definition: main( ( temp void)
1680:8    Function Parameters:
1690:?     Sequence
1700:8      Sequence
1710:8        move second child to first child ( temp 4-component vector of float)
1720:8          Position: direct index for structure ( temp 4-component vector of float)
1730:?             'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1740:8            Constant:
1750:8              0 (const int)
1760:?           'v.Position' ( in 4-component vector of float FragCoord)
1770:?         Sequence
1780:8          move second child to first child ( temp float)
1790:8            direct index ( temp float)
1800:8              clip0: direct index for structure ( temp 3-component vector of float)
1810:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1820:8                Constant:
1830:8                  1 (const int)
1840:8              Constant:
1850:8                0 (const int)
1860:8            direct index ( in float ClipDistance)
1870:?               'v.clip1' ( in 8-element array of float ClipDistance)
1880:8              Constant:
1890:8                0 (const int)
1900:8          move second child to first child ( temp float)
1910:8            direct index ( temp float)
1920:8              clip0: direct index for structure ( temp 3-component vector of float)
1930:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
1940:8                Constant:
1950:8                  1 (const int)
1960:8              Constant:
1970:8                1 (const int)
1980:8            direct index ( in float ClipDistance)
1990:?               'v.clip1' ( in 8-element array of float ClipDistance)
2000:8              Constant:
2010:8                1 (const int)
2020:8          move second child to first child ( temp float)
2030:8            direct index ( temp float)
2040:8              clip0: direct index for structure ( temp 3-component vector of float)
2050:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
2060:8                Constant:
2070:8                  1 (const int)
2080:8              Constant:
2090:8                2 (const int)
2100:8            direct index ( in float ClipDistance)
2110:?               'v.clip1' ( in 8-element array of float ClipDistance)
2120:8              Constant:
2130:8                2 (const int)
2140:?         Sequence
2150:8          move second child to first child ( temp float)
2160:8            direct index ( temp float)
2170:8              clip1: direct index for structure ( temp 4-component vector of float)
2180:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
2190:8                Constant:
2200:8                  2 (const int)
2210:8              Constant:
2220:8                0 (const int)
2230:8            direct index ( in float ClipDistance)
2240:?               'v.clip1' ( in 8-element array of float ClipDistance)
2250:8              Constant:
2260:8                4 (const int)
2270:8          move second child to first child ( temp float)
2280:8            direct index ( temp float)
2290:8              clip1: direct index for structure ( temp 4-component vector of float)
2300:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
2310:8                Constant:
2320:8                  2 (const int)
2330:8              Constant:
2340:8                1 (const int)
2350:8            direct index ( in float ClipDistance)
2360:?               'v.clip1' ( in 8-element array of float ClipDistance)
2370:8              Constant:
2380:8                5 (const int)
2390:8          move second child to first child ( temp float)
2400:8            direct index ( temp float)
2410:8              clip1: direct index for structure ( temp 4-component vector of float)
2420:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
2430:8                Constant:
2440:8                  2 (const int)
2450:8              Constant:
2460:8                2 (const int)
2470:8            direct index ( in float ClipDistance)
2480:?               'v.clip1' ( in 8-element array of float ClipDistance)
2490:8              Constant:
2500:8                6 (const int)
2510:8          move second child to first child ( temp float)
2520:8            direct index ( temp float)
2530:8              clip1: direct index for structure ( temp 4-component vector of float)
2540:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
2550:8                Constant:
2560:8                  2 (const int)
2570:8              Constant:
2580:8                3 (const int)
2590:8            direct index ( in float ClipDistance)
2600:?               'v.clip1' ( in 8-element array of float ClipDistance)
2610:8              Constant:
2620:8                7 (const int)
2630:8      move second child to first child ( temp 4-component vector of float)
2640:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2650:8        Function Call: @main(struct-VS_OUTPUT-vf4-vf3-vf41; ( temp 4-component vector of float)
2660:?           'v' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp 4-component vector of float clip1})
2670:?   Linker Objects
2680:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2690:?     'v.Position' ( in 4-component vector of float FragCoord)
2700:?     'v.clip1' ( in 8-element array of float ClipDistance)
271
272// Module Version 10000
273// Generated by (magic number): 80007
274// Id's are bound by 78
275
276                              Capability Shader
277                              Capability ClipDistance
278               1:             ExtInstImport  "GLSL.std.450"
279                              MemoryModel Logical GLSL450
280                              EntryPoint Fragment 4  "main" 37 43 74
281                              ExecutionMode 4 OriginUpperLeft
282                              Source HLSL 500
283                              Name 4  "main"
284                              Name 9  "VS_OUTPUT"
285                              MemberName 9(VS_OUTPUT) 0  "Position"
286                              MemberName 9(VS_OUTPUT) 1  "clip0"
287                              MemberName 9(VS_OUTPUT) 2  "clip1"
288                              Name 13  "@main(struct-VS_OUTPUT-vf4-vf3-vf41;"
289                              Name 12  "v"
290                              Name 35  "v"
291                              Name 37  "v.Position"
292                              Name 43  "v.clip1"
293                              Name 74  "@entryPointOutput"
294                              Name 75  "param"
295                              Decorate 37(v.Position) BuiltIn FragCoord
296                              Decorate 43(v.clip1) BuiltIn ClipDistance
297                              Decorate 74(@entryPointOutput) Location 0
298               2:             TypeVoid
299               3:             TypeFunction 2
300               6:             TypeFloat 32
301               7:             TypeVector 6(float) 4
302               8:             TypeVector 6(float) 3
303    9(VS_OUTPUT):             TypeStruct 7(fvec4) 8(fvec3) 7(fvec4)
304              10:             TypePointer Function 9(VS_OUTPUT)
305              11:             TypeFunction 7(fvec4) 10(ptr)
306              15:             TypeInt 32 1
307              16:     15(int) Constant 0
308              17:             TypePointer Function 7(fvec4)
309              20:     15(int) Constant 1
310              21:             TypeInt 32 0
311              22:     21(int) Constant 0
312              23:             TypePointer Function 6(float)
313              28:     15(int) Constant 2
314              36:             TypePointer Input 7(fvec4)
315  37(v.Position):     36(ptr) Variable Input
316              40:     21(int) Constant 8
317              41:             TypeArray 6(float) 40
318              42:             TypePointer Input 41
319     43(v.clip1):     42(ptr) Variable Input
320              44:             TypePointer Input 6(float)
321              50:     21(int) Constant 1
322              54:     21(int) Constant 2
323              56:     15(int) Constant 4
324              60:     15(int) Constant 5
325              64:     15(int) Constant 6
326              68:     15(int) Constant 7
327              71:     21(int) Constant 3
328              73:             TypePointer Output 7(fvec4)
32974(@entryPointOutput):     73(ptr) Variable Output
330         4(main):           2 Function None 3
331               5:             Label
332           35(v):     10(ptr) Variable Function
333       75(param):     10(ptr) Variable Function
334              38:    7(fvec4) Load 37(v.Position)
335              39:     17(ptr) AccessChain 35(v) 16
336                              Store 39 38
337              45:     44(ptr) AccessChain 43(v.clip1) 16
338              46:    6(float) Load 45
339              47:     23(ptr) AccessChain 35(v) 20 22
340                              Store 47 46
341              48:     44(ptr) AccessChain 43(v.clip1) 20
342              49:    6(float) Load 48
343              51:     23(ptr) AccessChain 35(v) 20 50
344                              Store 51 49
345              52:     44(ptr) AccessChain 43(v.clip1) 28
346              53:    6(float) Load 52
347              55:     23(ptr) AccessChain 35(v) 20 54
348                              Store 55 53
349              57:     44(ptr) AccessChain 43(v.clip1) 56
350              58:    6(float) Load 57
351              59:     23(ptr) AccessChain 35(v) 28 22
352                              Store 59 58
353              61:     44(ptr) AccessChain 43(v.clip1) 60
354              62:    6(float) Load 61
355              63:     23(ptr) AccessChain 35(v) 28 50
356                              Store 63 62
357              65:     44(ptr) AccessChain 43(v.clip1) 64
358              66:    6(float) Load 65
359              67:     23(ptr) AccessChain 35(v) 28 54
360                              Store 67 66
361              69:     44(ptr) AccessChain 43(v.clip1) 68
362              70:    6(float) Load 69
363              72:     23(ptr) AccessChain 35(v) 28 71
364                              Store 72 70
365              76:9(VS_OUTPUT) Load 35(v)
366                              Store 75(param) 76
367              77:    7(fvec4) FunctionCall 13(@main(struct-VS_OUTPUT-vf4-vf3-vf41;) 75(param)
368                              Store 74(@entryPointOutput) 77
369                              Return
370                              FunctionEnd
37113(@main(struct-VS_OUTPUT-vf4-vf3-vf41;):    7(fvec4) Function None 11
372           12(v):     10(ptr) FunctionParameter
373              14:             Label
374              18:     17(ptr) AccessChain 12(v) 16
375              19:    7(fvec4) Load 18
376              24:     23(ptr) AccessChain 12(v) 20 22
377              25:    6(float) Load 24
378              26:    7(fvec4) CompositeConstruct 25 25 25 25
379              27:    7(fvec4) FAdd 19 26
380              29:     23(ptr) AccessChain 12(v) 28 22
381              30:    6(float) Load 29
382              31:    7(fvec4) CompositeConstruct 30 30 30 30
383              32:    7(fvec4) FAdd 27 31
384                              ReturnValue 32
385                              FunctionEnd
386