spv.variableArrayIndex.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 93

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 10 20 34 36 54 63
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 400
                              Name 4  "main"
                              Name 8  "iLocal"
                              Name 10  "Count"
                              Name 13  "lunarStruct1"
                              MemberName 13(lunarStruct1) 0  "i"
                              MemberName 13(lunarStruct1) 1  "f"
                              Name 14  "lunarStruct2"
                              MemberName 14(lunarStruct2) 0  "i"
                              MemberName 14(lunarStruct2) 1  "f"
                              MemberName 14(lunarStruct2) 2  "s1_1"
                              Name 18  "lunarStruct3"
                              MemberName 18(lunarStruct3) 0  "s2_1"
                              MemberName 18(lunarStruct3) 1  "i"
                              MemberName 18(lunarStruct3) 2  "f"
                              MemberName 18(lunarStruct3) 3  "s1_1"
                              Name 20  "foo3"
                              Name 30  "scale"
                              Name 34  "foo2"
                              Name 36  "foo"
                              Name 54  "gl_FragColor"
                              Name 59  "samp2D"
                              Name 63  "coord"
                              Name 69  "constructed"
                              Decorate 10(Count) Flat
                              Decorate 10(Count) Location 39
                              Decorate 20(foo3) Flat
                              Decorate 20(foo3) Location 23
                              Decorate 34(foo2) Flat
                              Decorate 34(foo2) Location 3
                              Decorate 36(foo) Flat
                              Decorate 36(foo) Location 1
                              Decorate 54(gl_FragColor) Location 0
                              Decorate 59(samp2D) DescriptorSet 0
                              Decorate 59(samp2D) Binding 0
                              Decorate 63(coord) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:             TypePointer Input 6(int)
       10(Count):      9(ptr) Variable Input
              12:             TypeFloat 32
13(lunarStruct1):             TypeStruct 6(int) 12(float)
14(lunarStruct2):             TypeStruct 6(int) 12(float) 13(lunarStruct1)
              15:             TypeInt 32 0
              16:     15(int) Constant 3
              17:             TypeArray 14(lunarStruct2) 16
18(lunarStruct3):             TypeStruct 17 6(int) 12(float) 13(lunarStruct1)
              19:             TypePointer Input 18(lunarStruct3)
        20(foo3):     19(ptr) Variable Input
              21:      6(int) Constant 0
              22:      6(int) Constant 1
              25:             TypeBool
              29:             TypePointer Function 12(float)
              31:     15(int) Constant 5
              32:             TypeArray 14(lunarStruct2) 31
              33:             TypePointer Input 32
        34(foo2):     33(ptr) Variable Input
              35:             TypePointer Input 13(lunarStruct1)
         36(foo):     35(ptr) Variable Input
              41:      6(int) Constant 2
              46:             TypePointer Input 12(float)
              52:             TypeVector 12(float) 4
              53:             TypePointer Output 52(fvec4)
54(gl_FragColor):     53(ptr) Variable Output
              56:             TypeImage 12(float) 2D sampled format:Unknown
              57:             TypeSampledImage 56
              58:             TypePointer UniformConstant 57
      59(samp2D):     58(ptr) Variable UniformConstant
              61:             TypeVector 12(float) 2
              62:             TypePointer Input 61(fvec2)
       63(coord):     62(ptr) Variable Input
              67:             TypeArray 61(fvec2) 16
              68:             TypePointer Function 67
              73:   12(float) Constant 1065353216
              74:   12(float) Constant 1073741824
              75:   61(fvec2) ConstantComposite 73 74
              79:             TypePointer Function 61(fvec2)
         4(main):           2 Function None 3
               5:             Label
       8(iLocal):      7(ptr) Variable Function
       30(scale):     29(ptr) Variable Function
 69(constructed):     68(ptr) Variable Function
              11:      6(int) Load 10(Count)
                              Store 8(iLocal) 11
              23:      9(ptr) AccessChain 20(foo3) 21 22 21
              24:      6(int) Load 23
              26:    25(bool) SGreaterThan 24 21
                              SelectionMerge 28 None
                              BranchConditional 26 27 49
              27:               Label
              37:      9(ptr)   AccessChain 36(foo) 21
              38:      6(int)   Load 37
              39:      9(ptr)   AccessChain 20(foo3) 21 38 21
              40:      6(int)   Load 39
              42:      6(int)   IAdd 40 41
              43:      6(int)   Load 8(iLocal)
              44:      6(int)   IAdd 43 22
                                Store 8(iLocal) 44
              45:      6(int)   IAdd 42 44
              47:     46(ptr)   AccessChain 34(foo2) 45 41 22
              48:   12(float)   Load 47
                                Store 30(scale) 48
                                Branch 28
              49:               Label
              50:     46(ptr)   AccessChain 20(foo3) 21 21 41 22
              51:   12(float)   Load 50
                                Store 30(scale) 51
                                Branch 28
              28:             Label
              55:   12(float) Load 30(scale)
              60:          57 Load 59(samp2D)
              64:   61(fvec2) Load 63(coord)
              65:   52(fvec4) ImageSampleImplicitLod 60 64
              66:   52(fvec4) VectorTimesScalar 65 55
                              Store 54(gl_FragColor) 66
              70:   61(fvec2) Load 63(coord)
              71:   12(float) Load 30(scale)
              72:   61(fvec2) CompositeConstruct 71 71
              76:          67 CompositeConstruct 70 72 75
                              Store 69(constructed) 76
              77:      9(ptr) AccessChain 36(foo) 21
              78:      6(int) Load 77
              80:     79(ptr) AccessChain 69(constructed) 78
              81:   61(fvec2) Load 80
              82:      9(ptr) AccessChain 36(foo) 21
              83:      6(int) Load 82
              84:     79(ptr) AccessChain 69(constructed) 83
              85:   61(fvec2) Load 84
              86:   12(float) CompositeExtract 81 0
              87:   12(float) CompositeExtract 81 1
              88:   12(float) CompositeExtract 85 0
              89:   12(float) CompositeExtract 85 1
              90:   52(fvec4) CompositeConstruct 86 87 88 89
              91:   52(fvec4) Load 54(gl_FragColor)
              92:   52(fvec4) FAdd 91 90
                              Store 54(gl_FragColor) 92
                              Return
                              FunctionEnd
