spv.430.vert
// Module Version 10000
// Generated by (magic number): 80005
// Id's are bound by 66

                              Capability Shader
                              Capability ClipDistance
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 12 23 34 38 41 42 62 65
                              Source GLSL 450
                              Name 4  "main"
                              Name 10  "gl_PerVertex"
                              MemberName 10(gl_PerVertex) 0  "gl_ClipDistance"
                              Name 12  ""
                              Name 23  "bad"
                              Name 34  "badorder3"
                              Name 38  "f"
                              Name 41  "badorder"
                              Name 42  "badorder2"
                              Name 43  "boundblock"
                              MemberName 43(boundblock) 0  "aoeu"
                              Name 45  "boundInst"
                              Name 46  "anonblock"
                              MemberName 46(anonblock) 0  "aoeu"
                              Name 48  ""
                              Name 52  "sampb1"
                              Name 55  "sampb2"
                              Name 56  "sampb4"
                              Name 59  "S"
                              MemberName 59(S) 0  "a"
                              MemberName 59(S) 1  "b"
                              MemberName 59(S) 2  "c"
                              Name 60  "SS"
                              MemberName 60(SS) 0  "b"
                              MemberName 60(SS) 1  "s"
                              MemberName 60(SS) 2  "c"
                              Name 62  "var"
                              Name 63  "MS"
                              MemberName 63(MS) 0  "f"
                              Name 65  "outMS"
                              MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance
                              Decorate 10(gl_PerVertex) Block
                              Decorate 34(badorder3) Flat
                              Decorate 42(badorder2) Invariant
                              MemberDecorate 43(boundblock) 0 Offset 0
                              Decorate 43(boundblock) Block
                              Decorate 45(boundInst) DescriptorSet 0
                              Decorate 45(boundInst) Binding 3
                              MemberDecorate 46(anonblock) 0 Offset 0
                              Decorate 46(anonblock) Block
                              Decorate 48 DescriptorSet 0
                              Decorate 48 Binding 7
                              Decorate 52(sampb1) DescriptorSet 0
                              Decorate 52(sampb1) Binding 4
                              Decorate 55(sampb2) DescriptorSet 0
                              Decorate 55(sampb2) Binding 5
                              Decorate 56(sampb4) DescriptorSet 0
                              Decorate 56(sampb4) Binding 31
                              MemberDecorate 59(S) 0 RelaxedPrecision
                              Decorate 62(var) Flat
                              Decorate 62(var) Location 0
                              MemberDecorate 63(MS) 0 Location 17
                              Decorate 63(MS) Block
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeInt 32 0
               8:      7(int) Constant 3
               9:             TypeArray 6(float) 8
10(gl_PerVertex):             TypeStruct 9
              11:             TypePointer Output 10(gl_PerVertex)
              12:     11(ptr) Variable Output
              13:             TypeInt 32 1
              14:     13(int) Constant 0
              15:     13(int) Constant 2
              16:    6(float) Constant 1080872141
              17:             TypePointer Output 6(float)
              19:             TypeVector 6(float) 4
              20:      7(int) Constant 10
              21:             TypeArray 19(fvec4) 20
              22:             TypePointer Input 21
         23(bad):     22(ptr) Variable Input
              24:      7(int) Constant 0
              25:             TypePointer Input 6(float)
              28:    6(float) Constant 1082549862
              29:             TypeBool
              33:             TypePointer Output 19(fvec4)
   34(badorder3):     33(ptr) Variable Output
              35:             TypePointer Input 19(fvec4)
           38(f):     25(ptr) Variable Input
    41(badorder):     35(ptr) Variable Input
   42(badorder2):     33(ptr) Variable Output
  43(boundblock):             TypeStruct 13(int)
              44:             TypePointer Uniform 43(boundblock)
   45(boundInst):     44(ptr) Variable Uniform
   46(anonblock):             TypeStruct 13(int)
              47:             TypePointer Uniform 46(anonblock)
              48:     47(ptr) Variable Uniform
              49:             TypeImage 6(float) 2D sampled format:Unknown
              50:             TypeSampledImage 49
              51:             TypePointer UniformConstant 50
      52(sampb1):     51(ptr) Variable UniformConstant
              53:             TypeArray 50 20
              54:             TypePointer UniformConstant 53
      55(sampb2):     54(ptr) Variable UniformConstant
      56(sampb4):     51(ptr) Variable UniformConstant
              57:             TypeVector 7(int) 2
              58:             TypeVector 6(float) 3
           59(S):             TypeStruct 6(float) 57(ivec2) 58(fvec3)
          60(SS):             TypeStruct 19(fvec4) 59(S) 19(fvec4)
              61:             TypePointer Output 60(SS)
         62(var):     61(ptr) Variable Output
          63(MS):             TypeStruct 6(float)
              64:             TypePointer Output 63(MS)
       65(outMS):     64(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              18:     17(ptr) AccessChain 12 14 15
                              Store 18 16
              26:     25(ptr) AccessChain 23(bad) 14 24
              27:    6(float) Load 26
              30:    29(bool) FOrdEqual 27 28
                              SelectionMerge 32 None
                              BranchConditional 30 31 32
              31:               Label
              36:     35(ptr)   AccessChain 23(bad) 14
              37:   19(fvec4)   Load 36
                                Store 34(badorder3) 37
                                Branch 32
              32:             Label
              39:    6(float) Load 38(f)
              40:     17(ptr) AccessChain 12 14 14
                              Store 40 39
                              Return
                              FunctionEnd
