1hlsl.clipdistance-5.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:7  Function Definition: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
60:7    Function Parameters:
70:7      'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
80:?     Sequence
90:8      Branch: Return with expression
100:8        add ( temp 4-component vector of float)
110:8          add ( temp 4-component vector of float)
120:8            Position: direct index for structure ( temp 4-component vector of float)
130:8              'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
140:8              Constant:
150:8                0 (const int)
160:8            direct index ( temp float)
170:8              direct index ( temp 2-component vector of float)
180:8                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
190:8                  'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
200:8                  Constant:
210:8                    1 (const int)
220:8                Constant:
230:8                  0 (const int)
240:8              Constant:
250:8                0 (const int)
260:8          direct index ( temp float)
270:8            direct index ( temp 2-component vector of float)
280:8              ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
290:8                'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
300:8                Constant:
310:8                  1 (const int)
320:8              Constant:
330:8                1 (const int)
340:8            Constant:
350:8              0 (const int)
360:7  Function Definition: main( ( temp void)
370:7    Function Parameters:
380:?     Sequence
390:7      Sequence
400:7        move second child to first child ( temp 4-component vector of float)
410:7          Position: direct index for structure ( temp 4-component vector of float)
420:?             'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
430:7            Constant:
440:7              0 (const int)
450:?           'v.Position' ( in 4-component vector of float FragCoord)
460:?         Sequence
470:7          move second child to first child ( temp float)
480:7            direct index ( temp float)
490:7              direct index ( temp 2-component vector of float)
500:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
510:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
520:7                  Constant:
530:7                    1 (const int)
540:7                Constant:
550:7                  0 (const int)
560:7              Constant:
570:7                0 (const int)
580:7            direct index ( in float ClipDistance)
590:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
600:7              Constant:
610:7                0 (const int)
620:7          move second child to first child ( temp float)
630:7            direct index ( temp float)
640:7              direct index ( temp 2-component vector of float)
650:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
660:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
670:7                  Constant:
680:7                    1 (const int)
690:7                Constant:
700:7                  0 (const int)
710:7              Constant:
720:7                1 (const int)
730:7            direct index ( in float ClipDistance)
740:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
750:7              Constant:
760:7                1 (const int)
770:7          move second child to first child ( temp float)
780:7            direct index ( temp float)
790:7              direct index ( temp 2-component vector of float)
800:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
810:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
820:7                  Constant:
830:7                    1 (const int)
840:7                Constant:
850:7                  1 (const int)
860:7              Constant:
870:7                0 (const int)
880:7            direct index ( in float ClipDistance)
890:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
900:7              Constant:
910:7                2 (const int)
920:7          move second child to first child ( temp float)
930:7            direct index ( temp float)
940:7              direct index ( temp 2-component vector of float)
950:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
960:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
970:7                  Constant:
980:7                    1 (const int)
990:7                Constant:
1000:7                  1 (const int)
1010:7              Constant:
1020:7                1 (const int)
1030:7            direct index ( in float ClipDistance)
1040:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
1050:7              Constant:
1060:7                3 (const int)
1070:7      move second child to first child ( temp 4-component vector of float)
1080:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1090:7        Function Call: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
1100:?           'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1110:?   Linker Objects
1120:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1130:?     'v.Position' ( in 4-component vector of float FragCoord)
1140:?     'v.ClipRect' ( in 4-element array of float ClipDistance)
115
116
117Linked fragment stage:
118
119
120Shader version: 500
121gl_FragCoord origin is upper left
1220:? Sequence
1230:7  Function Definition: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
1240:7    Function Parameters:
1250:7      'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1260:?     Sequence
1270:8      Branch: Return with expression
1280:8        add ( temp 4-component vector of float)
1290:8          add ( temp 4-component vector of float)
1300:8            Position: direct index for structure ( temp 4-component vector of float)
1310:8              'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1320:8              Constant:
1330:8                0 (const int)
1340:8            direct index ( temp float)
1350:8              direct index ( temp 2-component vector of float)
1360:8                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1370:8                  'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1380:8                  Constant:
1390:8                    1 (const int)
1400:8                Constant:
1410:8                  0 (const int)
1420:8              Constant:
1430:8                0 (const int)
1440:8          direct index ( temp float)
1450:8            direct index ( temp 2-component vector of float)
1460:8              ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1470:8                'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1480:8                Constant:
1490:8                  1 (const int)
1500:8              Constant:
1510:8                1 (const int)
1520:8            Constant:
1530:8              0 (const int)
1540:7  Function Definition: main( ( temp void)
1550:7    Function Parameters:
1560:?     Sequence
1570:7      Sequence
1580:7        move second child to first child ( temp 4-component vector of float)
1590:7          Position: direct index for structure ( temp 4-component vector of float)
1600:?             'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1610:7            Constant:
1620:7              0 (const int)
1630:?           'v.Position' ( in 4-component vector of float FragCoord)
1640:?         Sequence
1650:7          move second child to first child ( temp float)
1660:7            direct index ( temp float)
1670:7              direct index ( temp 2-component vector of float)
1680:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1690:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1700:7                  Constant:
1710:7                    1 (const int)
1720:7                Constant:
1730:7                  0 (const int)
1740:7              Constant:
1750:7                0 (const int)
1760:7            direct index ( in float ClipDistance)
1770:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
1780:7              Constant:
1790:7                0 (const int)
1800:7          move second child to first child ( temp float)
1810:7            direct index ( temp float)
1820:7              direct index ( temp 2-component vector of float)
1830:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1840:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
1850:7                  Constant:
1860:7                    1 (const int)
1870:7                Constant:
1880:7                  0 (const int)
1890:7              Constant:
1900:7                1 (const int)
1910:7            direct index ( in float ClipDistance)
1920:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
1930:7              Constant:
1940:7                1 (const int)
1950:7          move second child to first child ( temp float)
1960:7            direct index ( temp float)
1970:7              direct index ( temp 2-component vector of float)
1980:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
1990:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2000:7                  Constant:
2010:7                    1 (const int)
2020:7                Constant:
2030:7                  1 (const int)
2040:7              Constant:
2050:7                0 (const int)
2060:7            direct index ( in float ClipDistance)
2070:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
2080:7              Constant:
2090:7                2 (const int)
2100:7          move second child to first child ( temp float)
2110:7            direct index ( temp float)
2120:7              direct index ( temp 2-component vector of float)
2130:7                ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
2140:?                   'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2150:7                  Constant:
2160:7                    1 (const int)
2170:7                Constant:
2180:7                  1 (const int)
2190:7              Constant:
2200:7                1 (const int)
2210:7            direct index ( in float ClipDistance)
2220:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
2230:7              Constant:
2240:7                3 (const int)
2250:7      move second child to first child ( temp 4-component vector of float)
2260:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2270:7        Function Call: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
2280:?           'v' ( temp structure{ temp 4-component vector of float Position,  temp 2-element array of 2-component vector of float ClipRect})
2290:?   Linker Objects
2300:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2310:?     'v.Position' ( in 4-component vector of float FragCoord)
2320:?     'v.ClipRect' ( in 4-element array of float ClipDistance)
233
234// Module Version 10000
235// Generated by (magic number): 80007
236// Id's are bound by 62
237
238                              Capability Shader
239                              Capability ClipDistance
240               1:             ExtInstImport  "GLSL.std.450"
241                              MemoryModel Logical GLSL450
242                              EntryPoint Fragment 4  "main" 33 40 59
243                              ExecutionMode 4 OriginUpperLeft
244                              Source HLSL 500
245                              Name 4  "main"
246                              Name 12  "VS_OUTPUT"
247                              MemberName 12(VS_OUTPUT) 0  "Position"
248                              MemberName 12(VS_OUTPUT) 1  "ClipRect"
249                              Name 15  "@main(struct-VS_OUTPUT-vf4-vf2[2]1;"
250                              Name 14  "v"
251                              Name 31  "v"
252                              Name 33  "v.Position"
253                              Name 40  "v.ClipRect"
254                              Name 59  "@entryPointOutput"
255                              Decorate 33(v.Position) BuiltIn FragCoord
256                              Decorate 40(v.ClipRect) BuiltIn ClipDistance
257                              Decorate 59(@entryPointOutput) Location 0
258               2:             TypeVoid
259               3:             TypeFunction 2
260               6:             TypeFloat 32
261               7:             TypeVector 6(float) 4
262               8:             TypeVector 6(float) 2
263               9:             TypeInt 32 0
264              10:      9(int) Constant 2
265              11:             TypeArray 8(fvec2) 10
266   12(VS_OUTPUT):             TypeStruct 7(fvec4) 11
267              13:             TypeFunction 7(fvec4) 12(VS_OUTPUT)
268              17:             TypeInt 32 1
269              18:     17(int) Constant 0
270              20:     17(int) Constant 1
271              21:      9(int) Constant 0
272              30:             TypePointer Function 12(VS_OUTPUT)
273              32:             TypePointer Input 7(fvec4)
274  33(v.Position):     32(ptr) Variable Input
275              35:             TypePointer Function 7(fvec4)
276              37:      9(int) Constant 4
277              38:             TypeArray 6(float) 37
278              39:             TypePointer Input 38
279  40(v.ClipRect):     39(ptr) Variable Input
280              41:             TypePointer Input 6(float)
281              44:             TypePointer Function 6(float)
282              48:      9(int) Constant 1
283              50:     17(int) Constant 2
284              54:     17(int) Constant 3
285              58:             TypePointer Output 7(fvec4)
28659(@entryPointOutput):     58(ptr) Variable Output
287         4(main):           2 Function None 3
288               5:             Label
289           31(v):     30(ptr) Variable Function
290              34:    7(fvec4) Load 33(v.Position)
291              36:     35(ptr) AccessChain 31(v) 18
292                              Store 36 34
293              42:     41(ptr) AccessChain 40(v.ClipRect) 18
294              43:    6(float) Load 42
295              45:     44(ptr) AccessChain 31(v) 20 18 21
296                              Store 45 43
297              46:     41(ptr) AccessChain 40(v.ClipRect) 20
298              47:    6(float) Load 46
299              49:     44(ptr) AccessChain 31(v) 20 18 48
300                              Store 49 47
301              51:     41(ptr) AccessChain 40(v.ClipRect) 50
302              52:    6(float) Load 51
303              53:     44(ptr) AccessChain 31(v) 20 20 21
304                              Store 53 52
305              55:     41(ptr) AccessChain 40(v.ClipRect) 54
306              56:    6(float) Load 55
307              57:     44(ptr) AccessChain 31(v) 20 20 48
308                              Store 57 56
309              60:12(VS_OUTPUT) Load 31(v)
310              61:    7(fvec4) FunctionCall 15(@main(struct-VS_OUTPUT-vf4-vf2[2]1;) 60
311                              Store 59(@entryPointOutput) 61
312                              Return
313                              FunctionEnd
31415(@main(struct-VS_OUTPUT-vf4-vf2[2]1;):    7(fvec4) Function None 13
315           14(v):12(VS_OUTPUT) FunctionParameter
316              16:             Label
317              19:    7(fvec4) CompositeExtract 14(v) 0
318              22:    6(float) CompositeExtract 14(v) 1 0 0
319              23:    7(fvec4) CompositeConstruct 22 22 22 22
320              24:    7(fvec4) FAdd 19 23
321              25:    6(float) CompositeExtract 14(v) 1 1 0
322              26:    7(fvec4) CompositeConstruct 25 25 25 25
323              27:    7(fvec4) FAdd 24 26
324                              ReturnValue 27
325                              FunctionEnd
326