hlsl.clipdistance-8.vert
Shader version: 500
0:? Sequence
0:8  Function Definition: @main( ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8    Function Parameters: 
0:?     Sequence
0:10      move second child to first child ( temp 4-component vector of float)
0:10        Position: direct index for structure ( temp 4-component vector of float)
0:10          'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:10          Constant:
0:10            0 (const int)
0:10        Constant:
0:10          0.000000
0:10          0.000000
0:10          0.000000
0:10          0.000000
0:12      move second child to first child ( temp float)
0:12        direct index ( temp float)
0:12          clip0: direct index for structure ( temp 3-component vector of float)
0:12            'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:12            Constant:
0:12              1 (const int)
0:12          Constant:
0:12            0 (const int)
0:12        Constant:
0:12          0.000000
0:13      move second child to first child ( temp float)
0:13        direct index ( temp float)
0:13          clip0: direct index for structure ( temp 3-component vector of float)
0:13            'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:13            Constant:
0:13              1 (const int)
0:13          Constant:
0:13            1 (const int)
0:13        Constant:
0:13          1.000000
0:14      move second child to first child ( temp float)
0:14        direct index ( temp float)
0:14          clip0: direct index for structure ( temp 3-component vector of float)
0:14            'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:14            Constant:
0:14              1 (const int)
0:14          Constant:
0:14            2 (const int)
0:14        Constant:
0:14          2.000000
0:17      move second child to first child ( temp float)
0:17        clip1: direct index for structure ( temp float)
0:17          'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:17          Constant:
0:17            2 (const int)
0:17        Constant:
0:17          3.000000
0:19      Branch: Return with expression
0:19        'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
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 structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8          'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8          Function Call: @main( ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Position' ( out 4-component vector of float Position)
0:8          Position: direct index for structure ( temp 4-component vector of float)
0:8            'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8            Constant:
0:8              0 (const int)
0:?         Sequence
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                0 (const int)
0:8            direct index ( temp float)
0:8              clip0: direct index for structure ( temp 3-component vector of float)
0:8                'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8                Constant:
0:8                  1 (const int)
0:8              Constant:
0:8                0 (const int)
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                1 (const int)
0:8            direct index ( temp float)
0:8              clip0: direct index for structure ( temp 3-component vector of float)
0:8                'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8                Constant:
0:8                  1 (const int)
0:8              Constant:
0:8                1 (const int)
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                2 (const int)
0:8            direct index ( temp float)
0:8              clip0: direct index for structure ( temp 3-component vector of float)
0:8                'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8                Constant:
0:8                  1 (const int)
0:8              Constant:
0:8                2 (const int)
0:?         Sequence
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                3 (const int)
0:8            clip1: direct index for structure ( temp float)
0:8              'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8              Constant:
0:8                2 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.Position' ( out 4-component vector of float Position)
0:?     '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:8  Function Definition: @main( ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8    Function Parameters: 
0:?     Sequence
0:10      move second child to first child ( temp 4-component vector of float)
0:10        Position: direct index for structure ( temp 4-component vector of float)
0:10          'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:10          Constant:
0:10            0 (const int)
0:10        Constant:
0:10          0.000000
0:10          0.000000
0:10          0.000000
0:10          0.000000
0:12      move second child to first child ( temp float)
0:12        direct index ( temp float)
0:12          clip0: direct index for structure ( temp 3-component vector of float)
0:12            'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:12            Constant:
0:12              1 (const int)
0:12          Constant:
0:12            0 (const int)
0:12        Constant:
0:12          0.000000
0:13      move second child to first child ( temp float)
0:13        direct index ( temp float)
0:13          clip0: direct index for structure ( temp 3-component vector of float)
0:13            'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:13            Constant:
0:13              1 (const int)
0:13          Constant:
0:13            1 (const int)
0:13        Constant:
0:13          1.000000
0:14      move second child to first child ( temp float)
0:14        direct index ( temp float)
0:14          clip0: direct index for structure ( temp 3-component vector of float)
0:14            'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:14            Constant:
0:14              1 (const int)
0:14          Constant:
0:14            2 (const int)
0:14        Constant:
0:14          2.000000
0:17      move second child to first child ( temp float)
0:17        clip1: direct index for structure ( temp float)
0:17          'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:17          Constant:
0:17            2 (const int)
0:17        Constant:
0:17          3.000000
0:19      Branch: Return with expression
0:19        'Output' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
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 structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8          'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8          Function Call: @main( ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8        move second child to first child ( temp 4-component vector of float)
0:?           '@entryPointOutput.Position' ( out 4-component vector of float Position)
0:8          Position: direct index for structure ( temp 4-component vector of float)
0:8            'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8            Constant:
0:8              0 (const int)
0:?         Sequence
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                0 (const int)
0:8            direct index ( temp float)
0:8              clip0: direct index for structure ( temp 3-component vector of float)
0:8                'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8                Constant:
0:8                  1 (const int)
0:8              Constant:
0:8                0 (const int)
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                1 (const int)
0:8            direct index ( temp float)
0:8              clip0: direct index for structure ( temp 3-component vector of float)
0:8                'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8                Constant:
0:8                  1 (const int)
0:8              Constant:
0:8                1 (const int)
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                2 (const int)
0:8            direct index ( temp float)
0:8              clip0: direct index for structure ( temp 3-component vector of float)
0:8                'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8                Constant:
0:8                  1 (const int)
0:8              Constant:
0:8                2 (const int)
0:?         Sequence
0:8          move second child to first child ( temp float)
0:8            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
0:8              Constant:
0:8                3 (const int)
0:8            clip1: direct index for structure ( temp float)
0:8              'flattenTemp' ( temp structure{ temp 4-component vector of float Position,  temp 3-component vector of float clip0,  temp float clip1})
0:8              Constant:
0:8                2 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.Position' ( out 4-component vector of float Position)
0:?     '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)

// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 62

                              Capability Shader
                              Capability ClipDistance
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 41 47
                              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 11  "@main("
                              Name 14  "Output"
                              Name 38  "flattenTemp"
                              Name 41  "@entryPointOutput.Position"
                              Name 47  "@entryPointOutput.clip1"
                              Decorate 41(@entryPointOutput.Position) BuiltIn Position
                              Decorate 47(@entryPointOutput.clip1) BuiltIn ClipDistance
               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) 6(float)
              10:             TypeFunction 9(VS_OUTPUT)
              13:             TypePointer Function 9(VS_OUTPUT)
              15:             TypeInt 32 1
              16:     15(int) Constant 0
              17:    6(float) Constant 0
              18:    7(fvec4) ConstantComposite 17 17 17 17
              19:             TypePointer Function 7(fvec4)
              21:     15(int) Constant 1
              22:             TypeInt 32 0
              23:     22(int) Constant 0
              24:             TypePointer Function 6(float)
              26:    6(float) Constant 1065353216
              27:     22(int) Constant 1
              29:    6(float) Constant 1073741824
              30:     22(int) Constant 2
              32:     15(int) Constant 2
              33:    6(float) Constant 1077936128
              40:             TypePointer Output 7(fvec4)
41(@entryPointOutput.Position):     40(ptr) Variable Output
              44:     22(int) Constant 4
              45:             TypeArray 6(float) 44
              46:             TypePointer Output 45
47(@entryPointOutput.clip1):     46(ptr) Variable Output
              50:             TypePointer Output 6(float)
              58:     15(int) Constant 3
         4(main):           2 Function None 3
               5:             Label
 38(flattenTemp):     13(ptr) Variable Function
              39:9(VS_OUTPUT) FunctionCall 11(@main()
                              Store 38(flattenTemp) 39
              42:     19(ptr) AccessChain 38(flattenTemp) 16
              43:    7(fvec4) Load 42
                              Store 41(@entryPointOutput.Position) 43
              48:     24(ptr) AccessChain 38(flattenTemp) 21 23
              49:    6(float) Load 48
              51:     50(ptr) AccessChain 47(@entryPointOutput.clip1) 16
                              Store 51 49
              52:     24(ptr) AccessChain 38(flattenTemp) 21 27
              53:    6(float) Load 52
              54:     50(ptr) AccessChain 47(@entryPointOutput.clip1) 21
                              Store 54 53
              55:     24(ptr) AccessChain 38(flattenTemp) 21 30
              56:    6(float) Load 55
              57:     50(ptr) AccessChain 47(@entryPointOutput.clip1) 32
                              Store 57 56
              59:     24(ptr) AccessChain 38(flattenTemp) 32
              60:    6(float) Load 59
              61:     50(ptr) AccessChain 47(@entryPointOutput.clip1) 58
                              Store 61 60
                              Return
                              FunctionEnd
      11(@main():9(VS_OUTPUT) Function None 10
              12:             Label
      14(Output):     13(ptr) Variable Function
              20:     19(ptr) AccessChain 14(Output) 16
                              Store 20 18
              25:     24(ptr) AccessChain 14(Output) 21 23
                              Store 25 17
              28:     24(ptr) AccessChain 14(Output) 21 27
                              Store 28 26
              31:     24(ptr) AccessChain 14(Output) 21 30
                              Store 31 29
              34:     24(ptr) AccessChain 14(Output) 32
                              Store 34 33
              35:9(VS_OUTPUT) Load 14(Output)
                              ReturnValue 35
                              FunctionEnd