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


Linked fragment stage:


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

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

                              Capability Shader
                              Capability ClipDistance
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 37 43 74
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "VS_OUTPUT"
                              MemberName 9(VS_OUTPUT) 0  "Position"
                              MemberName 9(VS_OUTPUT) 1  "clip0"
                              MemberName 9(VS_OUTPUT) 2  "clip1"
                              Name 13  "@main(struct-VS_OUTPUT-vf4-vf3-vf41;"
                              Name 12  "v"
                              Name 35  "v"
                              Name 37  "v.Position"
                              Name 43  "v.clip1"
                              Name 74  "@entryPointOutput"
                              Name 75  "param"
                              Decorate 37(v.Position) BuiltIn FragCoord
                              Decorate 43(v.clip1) BuiltIn ClipDistance
                              Decorate 74(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeVector 6(float) 3
    9(VS_OUTPUT):             TypeStruct 7(fvec4) 8(fvec3) 7(fvec4)
              10:             TypePointer Function 9(VS_OUTPUT)
              11:             TypeFunction 7(fvec4) 10(ptr)
              15:             TypeInt 32 1
              16:     15(int) Constant 0
              17:             TypePointer Function 7(fvec4)
              20:     15(int) Constant 1
              21:             TypeInt 32 0
              22:     21(int) Constant 0
              23:             TypePointer Function 6(float)
              28:     15(int) Constant 2
              36:             TypePointer Input 7(fvec4)
  37(v.Position):     36(ptr) Variable Input
              40:     21(int) Constant 8
              41:             TypeArray 6(float) 40
              42:             TypePointer Input 41
     43(v.clip1):     42(ptr) Variable Input
              44:             TypePointer Input 6(float)
              50:     21(int) Constant 1
              54:     21(int) Constant 2
              56:     15(int) Constant 4
              60:     15(int) Constant 5
              64:     15(int) Constant 6
              68:     15(int) Constant 7
              71:     21(int) Constant 3
              73:             TypePointer Output 7(fvec4)
74(@entryPointOutput):     73(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           35(v):     10(ptr) Variable Function
       75(param):     10(ptr) Variable Function
              38:    7(fvec4) Load 37(v.Position)
              39:     17(ptr) AccessChain 35(v) 16
                              Store 39 38
              45:     44(ptr) AccessChain 43(v.clip1) 16
              46:    6(float) Load 45
              47:     23(ptr) AccessChain 35(v) 20 22
                              Store 47 46
              48:     44(ptr) AccessChain 43(v.clip1) 20
              49:    6(float) Load 48
              51:     23(ptr) AccessChain 35(v) 20 50
                              Store 51 49
              52:     44(ptr) AccessChain 43(v.clip1) 28
              53:    6(float) Load 52
              55:     23(ptr) AccessChain 35(v) 20 54
                              Store 55 53
              57:     44(ptr) AccessChain 43(v.clip1) 56
              58:    6(float) Load 57
              59:     23(ptr) AccessChain 35(v) 28 22
                              Store 59 58
              61:     44(ptr) AccessChain 43(v.clip1) 60
              62:    6(float) Load 61
              63:     23(ptr) AccessChain 35(v) 28 50
                              Store 63 62
              65:     44(ptr) AccessChain 43(v.clip1) 64
              66:    6(float) Load 65
              67:     23(ptr) AccessChain 35(v) 28 54
                              Store 67 66
              69:     44(ptr) AccessChain 43(v.clip1) 68
              70:    6(float) Load 69
              72:     23(ptr) AccessChain 35(v) 28 71
                              Store 72 70
              76:9(VS_OUTPUT) Load 35(v)
                              Store 75(param) 76
              77:    7(fvec4) FunctionCall 13(@main(struct-VS_OUTPUT-vf4-vf3-vf41;) 75(param)
                              Store 74(@entryPointOutput) 77
                              Return
                              FunctionEnd
13(@main(struct-VS_OUTPUT-vf4-vf3-vf41;):    7(fvec4) Function None 11
           12(v):     10(ptr) FunctionParameter
              14:             Label
              18:     17(ptr) AccessChain 12(v) 16
              19:    7(fvec4) Load 18
              24:     23(ptr) AccessChain 12(v) 20 22
              25:    6(float) Load 24
              26:    7(fvec4) CompositeConstruct 25 25 25 25
              27:    7(fvec4) FAdd 19 26
              29:     23(ptr) AccessChain 12(v) 28 22
              30:    6(float) Load 29
              31:    7(fvec4) CompositeConstruct 30 30 30 30
              32:    7(fvec4) FAdd 27 31
                              ReturnValue 32
                              FunctionEnd
