hlsl.clipdistance-4.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:7  Function Definition: @main(struct-VS_OUTPUT-vf4-vf41; ( temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:?     Sequence
0:8      Branch: Return with expression
0:8        add ( temp 4-component vector of float)
0:8          Position: direct index for structure ( temp 4-component vector of float)
0:8            'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:8            Constant:
0:8              0 (const int)
0:8          ClipRect: direct index for structure ( temp 4-component vector of float)
0:8            'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:8            Constant:
0:8              1 (const int)
0:7  Function Definition: main( ( temp void)
0:7    Function Parameters: 
0:?     Sequence
0:7      Sequence
0:7        move second child to first child ( temp 4-component vector of float)
0:7          Position: direct index for structure ( temp 4-component vector of float)
0:?             'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7            Constant:
0:7              0 (const int)
0:?           'v.Position' ( in 4-component vector of float FragCoord)
0:?         Sequence
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                0 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                0 (const int)
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                1 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                1 (const int)
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                2 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                2 (const int)
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                3 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                3 (const int)
0:7      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7        Function Call: @main(struct-VS_OUTPUT-vf4-vf41; ( temp 4-component vector of float)
0:?           'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'v.Position' ( in 4-component vector of float FragCoord)
0:?     'v.ClipRect' ( in 4-element array of float ClipDistance)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:7  Function Definition: @main(struct-VS_OUTPUT-vf4-vf41; ( temp 4-component vector of float)
0:7    Function Parameters: 
0:7      'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:?     Sequence
0:8      Branch: Return with expression
0:8        add ( temp 4-component vector of float)
0:8          Position: direct index for structure ( temp 4-component vector of float)
0:8            'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:8            Constant:
0:8              0 (const int)
0:8          ClipRect: direct index for structure ( temp 4-component vector of float)
0:8            'v' ( const (read only) structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:8            Constant:
0:8              1 (const int)
0:7  Function Definition: main( ( temp void)
0:7    Function Parameters: 
0:?     Sequence
0:7      Sequence
0:7        move second child to first child ( temp 4-component vector of float)
0:7          Position: direct index for structure ( temp 4-component vector of float)
0:?             'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7            Constant:
0:7              0 (const int)
0:?           'v.Position' ( in 4-component vector of float FragCoord)
0:?         Sequence
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                0 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                0 (const int)
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                1 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                1 (const int)
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                2 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                2 (const int)
0:7          move second child to first child ( temp float)
0:7            direct index ( temp float)
0:7              ClipRect: direct index for structure ( temp 4-component vector of float)
0:?                 'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:7                Constant:
0:7                  1 (const int)
0:7              Constant:
0:7                3 (const int)
0:7            direct index ( in float ClipDistance)
0:?               'v.ClipRect' ( in 4-element array of float ClipDistance)
0:7              Constant:
0:7                3 (const int)
0:7      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7        Function Call: @main(struct-VS_OUTPUT-vf4-vf41; ( temp 4-component vector of float)
0:?           'v' ( temp structure{ temp 4-component vector of float Position,  temp 4-component vector of float ClipRect})
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'v.Position' ( in 4-component vector of float FragCoord)
0:?     'v.ClipRect' ( in 4-element array of float ClipDistance)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 57

                              Capability Shader
                              Capability ClipDistance
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 24 32 54
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "VS_OUTPUT"
                              MemberName 8(VS_OUTPUT) 0  "Position"
                              MemberName 8(VS_OUTPUT) 1  "ClipRect"
                              Name 11  "@main(struct-VS_OUTPUT-vf4-vf41;"
                              Name 10  "v"
                              Name 22  "v"
                              Name 24  "v.Position"
                              Name 32  "v.ClipRect"
                              Name 54  "@entryPointOutput"
                              Decorate 24(v.Position) BuiltIn FragCoord
                              Decorate 32(v.ClipRect) BuiltIn ClipDistance
                              Decorate 54(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
    8(VS_OUTPUT):             TypeStruct 7(fvec4) 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(VS_OUTPUT)
              13:             TypeInt 32 1
              14:     13(int) Constant 0
              16:     13(int) Constant 1
              21:             TypePointer Function 8(VS_OUTPUT)
              23:             TypePointer Input 7(fvec4)
  24(v.Position):     23(ptr) Variable Input
              26:             TypePointer Function 7(fvec4)
              28:             TypeInt 32 0
              29:     28(int) Constant 4
              30:             TypeArray 6(float) 29
              31:             TypePointer Input 30
  32(v.ClipRect):     31(ptr) Variable Input
              33:             TypePointer Input 6(float)
              36:     28(int) Constant 0
              37:             TypePointer Function 6(float)
              41:     28(int) Constant 1
              43:     13(int) Constant 2
              46:     28(int) Constant 2
              48:     13(int) Constant 3
              51:     28(int) Constant 3
              53:             TypePointer Output 7(fvec4)
54(@entryPointOutput):     53(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           22(v):     21(ptr) Variable Function
              25:    7(fvec4) Load 24(v.Position)
              27:     26(ptr) AccessChain 22(v) 14
                              Store 27 25
              34:     33(ptr) AccessChain 32(v.ClipRect) 14
              35:    6(float) Load 34
              38:     37(ptr) AccessChain 22(v) 16 36
                              Store 38 35
              39:     33(ptr) AccessChain 32(v.ClipRect) 16
              40:    6(float) Load 39
              42:     37(ptr) AccessChain 22(v) 16 41
                              Store 42 40
              44:     33(ptr) AccessChain 32(v.ClipRect) 43
              45:    6(float) Load 44
              47:     37(ptr) AccessChain 22(v) 16 46
                              Store 47 45
              49:     33(ptr) AccessChain 32(v.ClipRect) 48
              50:    6(float) Load 49
              52:     37(ptr) AccessChain 22(v) 16 51
                              Store 52 50
              55:8(VS_OUTPUT) Load 22(v)
              56:    7(fvec4) FunctionCall 11(@main(struct-VS_OUTPUT-vf4-vf41;) 55
                              Store 54(@entryPointOutput) 56
                              Return
                              FunctionEnd
11(@main(struct-VS_OUTPUT-vf4-vf41;):    7(fvec4) Function None 9
           10(v):8(VS_OUTPUT) FunctionParameter
              12:             Label
              15:    7(fvec4) CompositeExtract 10(v) 0
              17:    7(fvec4) CompositeExtract 10(v) 1
              18:    7(fvec4) FAdd 15 17
                              ReturnValue 18
                              FunctionEnd
