hlsl.semantic.vert
Shader version: 500
0:? Sequence
0:10  Function Definition: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10    Function Parameters: 
0:10      'ins' ( in structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:?     Sequence
0:12      Branch: Return with expression
0:12        's' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10  Function Definition: main( ( temp void)
0:10    Function Parameters: 
0:?     Sequence
0:10      Sequence
0:10        move second child to first child ( temp float)
0:10          clip0: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              0 (const int)
0:?           'ins.clip0' (layout( location=0) in float)
0:10        move second child to first child ( temp float)
0:10          clip1: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              1 (const int)
0:?           'ins.clip1' (layout( location=1) in float)
0:10        move second child to first child ( temp float)
0:10          cull0: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              2 (const int)
0:?           'ins.cull0' (layout( location=0) in float)
0:10        move second child to first child ( temp float)
0:10          cull1: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              3 (const int)
0:?           'ins.cull1' (layout( location=1) in float)
0:10        move second child to first child ( temp int)
0:10          ii: direct index for structure ( temp int)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              4 (const int)
0:?           'ins.ii' ( in int InstanceIndex)
0:10      Sequence
0:10        move second child to first child ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10          'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10          Function Call: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
0:10              Constant:
0:10                0 (const int)
0:10            clip0: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                0 (const int)
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
0:10              Constant:
0:10                1 (const int)
0:10            clip1: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                1 (const int)
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float CullDistance)
0:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
0:10              Constant:
0:10                0 (const int)
0:10            cull0: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                2 (const int)
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float CullDistance)
0:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
0:10              Constant:
0:10                1 (const int)
0:10            cull1: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                3 (const int)
0:10        move second child to first child ( temp int)
0:?           '@entryPointOutput.ii' (layout( location=0) out int)
0:10          ii: direct index for structure ( temp int)
0:10            'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              4 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.ii' (layout( location=0) out int)
0:?     'ins.ii' ( in int InstanceIndex)
0:?     'ins.clip0' (layout( location=0) in float)
0:?     'ins.clip1' (layout( location=1) in float)
0:?     'ins.cull0' (layout( location=0) in float)
0:?     'ins.cull1' (layout( location=1) in float)
0:?     '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
0:?     '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:10  Function Definition: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10    Function Parameters: 
0:10      'ins' ( in structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:?     Sequence
0:12      Branch: Return with expression
0:12        's' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10  Function Definition: main( ( temp void)
0:10    Function Parameters: 
0:?     Sequence
0:10      Sequence
0:10        move second child to first child ( temp float)
0:10          clip0: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              0 (const int)
0:?           'ins.clip0' (layout( location=0) in float)
0:10        move second child to first child ( temp float)
0:10          clip1: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              1 (const int)
0:?           'ins.clip1' (layout( location=1) in float)
0:10        move second child to first child ( temp float)
0:10          cull0: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              2 (const int)
0:?           'ins.cull0' (layout( location=0) in float)
0:10        move second child to first child ( temp float)
0:10          cull1: direct index for structure ( temp float)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              3 (const int)
0:?           'ins.cull1' (layout( location=1) in float)
0:10        move second child to first child ( temp int)
0:10          ii: direct index for structure ( temp int)
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              4 (const int)
0:?           'ins.ii' ( in int InstanceIndex)
0:10      Sequence
0:10        move second child to first child ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10          'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10          Function Call: @main(struct-S-f1-f1-f1-f1-i11; ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:?             'ins' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
0:10              Constant:
0:10                0 (const int)
0:10            clip0: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                0 (const int)
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float ClipDistance)
0:?               '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
0:10              Constant:
0:10                1 (const int)
0:10            clip1: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                1 (const int)
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float CullDistance)
0:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
0:10              Constant:
0:10                0 (const int)
0:10            cull0: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                2 (const int)
0:?         Sequence
0:10          move second child to first child ( temp float)
0:10            direct index ( out float CullDistance)
0:?               '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
0:10              Constant:
0:10                1 (const int)
0:10            cull1: direct index for structure ( temp float)
0:10              'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10              Constant:
0:10                3 (const int)
0:10        move second child to first child ( temp int)
0:?           '@entryPointOutput.ii' (layout( location=0) out int)
0:10          ii: direct index for structure ( temp int)
0:10            'flattenTemp' ( temp structure{ temp float clip0,  temp float clip1,  temp float cull0,  temp float cull1,  temp int ii})
0:10            Constant:
0:10              4 (const int)
0:?   Linker Objects
0:?     '@entryPointOutput.ii' (layout( location=0) out int)
0:?     'ins.ii' ( in int InstanceIndex)
0:?     'ins.clip0' (layout( location=0) in float)
0:?     'ins.clip1' (layout( location=1) in float)
0:?     'ins.cull0' (layout( location=0) in float)
0:?     'ins.cull1' (layout( location=1) in float)
0:?     '@entryPointOutput.clip1' ( out 2-element array of float ClipDistance)
0:?     '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)

Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 70

                              Capability Shader
                              Capability ClipDistance
                              Capability CullDistance
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 21 26 30 34 39 51 59 67
                              Source HLSL 500
                              Name 4  "main"
                              Name 8  "S"
                              MemberName 8(S) 0  "clip0"
                              MemberName 8(S) 1  "clip1"
                              MemberName 8(S) 2  "cull0"
                              MemberName 8(S) 3  "cull1"
                              MemberName 8(S) 4  "ii"
                              Name 12  "@main(struct-S-f1-f1-f1-f1-i11;"
                              Name 11  "ins"
                              Name 14  "s"
                              Name 18  "ins"
                              Name 21  "ins.clip0"
                              Name 26  "ins.clip1"
                              Name 30  "ins.cull0"
                              Name 34  "ins.cull1"
                              Name 39  "ins.ii"
                              Name 43  "flattenTemp"
                              Name 44  "param"
                              Name 51  "@entryPointOutput.clip1"
                              Name 59  "@entryPointOutput.cull1"
                              Name 67  "@entryPointOutput.ii"
                              Decorate 21(ins.clip0) Location 0
                              Decorate 26(ins.clip1) Location 1
                              Decorate 30(ins.cull0) Location 0
                              Decorate 34(ins.cull1) Location 1
                              Decorate 39(ins.ii) BuiltIn InstanceIndex
                              Decorate 51(@entryPointOutput.clip1) BuiltIn ClipDistance
                              Decorate 59(@entryPointOutput.cull1) BuiltIn CullDistance
                              Decorate 67(@entryPointOutput.ii) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeInt 32 1
            8(S):             TypeStruct 6(float) 6(float) 6(float) 6(float) 7(int)
               9:             TypePointer Function 8(S)
              10:             TypeFunction 8(S) 9(ptr)
              19:      7(int) Constant 0
              20:             TypePointer Input 6(float)
   21(ins.clip0):     20(ptr) Variable Input
              23:             TypePointer Function 6(float)
              25:      7(int) Constant 1
   26(ins.clip1):     20(ptr) Variable Input
              29:      7(int) Constant 2
   30(ins.cull0):     20(ptr) Variable Input
              33:      7(int) Constant 3
   34(ins.cull1):     20(ptr) Variable Input
              37:      7(int) Constant 4
              38:             TypePointer Input 7(int)
      39(ins.ii):     38(ptr) Variable Input
              41:             TypePointer Function 7(int)
              47:             TypeInt 32 0
              48:     47(int) Constant 2
              49:             TypeArray 6(float) 48
              50:             TypePointer Output 49
51(@entryPointOutput.clip1):     50(ptr) Variable Output
              54:             TypePointer Output 6(float)
59(@entryPointOutput.cull1):     50(ptr) Variable Output
              66:             TypePointer Output 7(int)
67(@entryPointOutput.ii):     66(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
         18(ins):      9(ptr) Variable Function
 43(flattenTemp):      9(ptr) Variable Function
       44(param):      9(ptr) Variable Function
              22:    6(float) Load 21(ins.clip0)
              24:     23(ptr) AccessChain 18(ins) 19
                              Store 24 22
              27:    6(float) Load 26(ins.clip1)
              28:     23(ptr) AccessChain 18(ins) 25
                              Store 28 27
              31:    6(float) Load 30(ins.cull0)
              32:     23(ptr) AccessChain 18(ins) 29
                              Store 32 31
              35:    6(float) Load 34(ins.cull1)
              36:     23(ptr) AccessChain 18(ins) 33
                              Store 36 35
              40:      7(int) Load 39(ins.ii)
              42:     41(ptr) AccessChain 18(ins) 37
                              Store 42 40
              45:        8(S) Load 18(ins)
                              Store 44(param) 45
              46:        8(S) FunctionCall 12(@main(struct-S-f1-f1-f1-f1-i11;) 44(param)
                              Store 43(flattenTemp) 46
              52:     23(ptr) AccessChain 43(flattenTemp) 19
              53:    6(float) Load 52
              55:     54(ptr) AccessChain 51(@entryPointOutput.clip1) 19
                              Store 55 53
              56:     23(ptr) AccessChain 43(flattenTemp) 25
              57:    6(float) Load 56
              58:     54(ptr) AccessChain 51(@entryPointOutput.clip1) 25
                              Store 58 57
              60:     23(ptr) AccessChain 43(flattenTemp) 29
              61:    6(float) Load 60
              62:     54(ptr) AccessChain 59(@entryPointOutput.cull1) 19
                              Store 62 61
              63:     23(ptr) AccessChain 43(flattenTemp) 33
              64:    6(float) Load 63
              65:     54(ptr) AccessChain 59(@entryPointOutput.cull1) 25
                              Store 65 64
              68:     41(ptr) AccessChain 43(flattenTemp) 37
              69:      7(int) Load 68
                              Store 67(@entryPointOutput.ii) 69
                              Return
                              FunctionEnd
12(@main(struct-S-f1-f1-f1-f1-i11;):        8(S) Function None 10
         11(ins):      9(ptr) FunctionParameter
              13:             Label
           14(s):      9(ptr) Variable Function
              15:        8(S) Load 14(s)
                              ReturnValue 15
                              FunctionEnd
