spv.accessChain.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 228

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 69 176
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 420
                              Name 4  "main"
                              Name 8  "S"
                              MemberName 8(S) 0  "color"
                              Name 11  "GetColor1(struct-S-vf31;"
                              Name 10  "i"
                              Name 18  "GetColor2(struct-S-vf31;i1;"
                              Name 16  "i"
                              Name 17  "comp"
                              Name 22  "GetColor3(struct-S-vf31;i1;"
                              Name 20  "i"
                              Name 21  "comp"
                              Name 26  "GetColor4(struct-S-vf31;i1;"
                              Name 24  "i"
                              Name 25  "comp"
                              Name 30  "GetColor5(struct-S-vf31;i1;"
                              Name 28  "i"
                              Name 29  "comp"
                              Name 34  "GetColor6(struct-S-vf31;i1;"
                              Name 32  "i"
                              Name 33  "comp"
                              Name 38  "GetColor7(struct-S-vf31;i1;"
                              Name 36  "i"
                              Name 37  "comp"
                              Name 42  "GetColor8(struct-S-vf31;i1;"
                              Name 40  "i"
                              Name 41  "comp"
                              Name 46  "GetColor9(struct-S-vf31;i1;"
                              Name 44  "i"
                              Name 45  "comp"
                              Name 50  "GetColor10(struct-S-vf31;i1;"
                              Name 48  "i"
                              Name 49  "comp"
                              Name 54  "GetColor11(struct-S-vf31;i1;"
                              Name 52  "i"
                              Name 53  "comp"
                              Name 58  "GetColor12(struct-S-vf31;i1;"
                              Name 56  "i"
                              Name 57  "comp"
                              Name 62  "GetColor13(struct-S-vf31;i1;"
                              Name 60  "i"
                              Name 61  "comp"
                              Name 66  "GetColor14(struct-S-vf31;i1;"
                              Name 64  "i"
                              Name 65  "comp"
                              Name 69  "OutColor"
                              Name 171  "s"
                              Name 176  "u"
                              Name 177  "param"
                              Name 181  "param"
                              Name 185  "param"
                              Name 189  "param"
                              Name 193  "param"
                              Name 197  "param"
                              Name 201  "param"
                              Name 205  "param"
                              Name 209  "param"
                              Name 213  "param"
                              Name 217  "param"
                              Name 221  "param"
                              Name 225  "param"
                              Decorate 69(OutColor) Location 0
                              Decorate 176(u) Flat
                              Decorate 176(u) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 3
            8(S):             TypeStruct 7(fvec3)
               9:             TypeFunction 2 8(S)
              13:             TypeInt 32 1
              14:             TypePointer Function 13(int)
              15:             TypeFunction 2 8(S) 14(ptr)
              68:             TypePointer Output 7(fvec3)
    69(OutColor):     68(ptr) Variable Output
              70:     13(int) Constant 0
              71:             TypeInt 32 0
              72:     71(int) Constant 0
              99:             TypeVector 6(float) 2
             111:             TypePointer Output 6(float)
             114:     71(int) Constant 1
             117:     71(int) Constant 2
             154:             TypeVector 71(int) 2
             155:  154(ivec2) ConstantComposite 117 114
             164:             TypeVector 71(int) 3
             165:  164(ivec3) ConstantComposite 117 114 72
             168:    6(float) Constant 0
             169:    7(fvec3) ConstantComposite 168 168 168
             170:             TypePointer Function 8(S)
             175:             TypePointer Input 13(int)
          176(u):    175(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
          171(s):    170(ptr) Variable Function
      177(param):     14(ptr) Variable Function
      181(param):     14(ptr) Variable Function
      185(param):     14(ptr) Variable Function
      189(param):     14(ptr) Variable Function
      193(param):     14(ptr) Variable Function
      197(param):     14(ptr) Variable Function
      201(param):     14(ptr) Variable Function
      205(param):     14(ptr) Variable Function
      209(param):     14(ptr) Variable Function
      213(param):     14(ptr) Variable Function
      217(param):     14(ptr) Variable Function
      221(param):     14(ptr) Variable Function
      225(param):     14(ptr) Variable Function
                              Store 69(OutColor) 169
             172:        8(S) Load 171(s)
             173:           2 FunctionCall 11(GetColor1(struct-S-vf31;) 172
             174:        8(S) Load 171(s)
             178:     13(int) Load 176(u)
                              Store 177(param) 178
             179:           2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 174 177(param)
             180:        8(S) Load 171(s)
             182:     13(int) Load 176(u)
                              Store 181(param) 182
             183:           2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 180 181(param)
             184:        8(S) Load 171(s)
             186:     13(int) Load 176(u)
                              Store 185(param) 186
             187:           2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 184 185(param)
             188:        8(S) Load 171(s)
             190:     13(int) Load 176(u)
                              Store 189(param) 190
             191:           2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 188 189(param)
             192:        8(S) Load 171(s)
             194:     13(int) Load 176(u)
                              Store 193(param) 194
             195:           2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 192 193(param)
             196:        8(S) Load 171(s)
             198:     13(int) Load 176(u)
                              Store 197(param) 198
             199:           2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 196 197(param)
             200:        8(S) Load 171(s)
             202:     13(int) Load 176(u)
                              Store 201(param) 202
             203:           2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 200 201(param)
             204:        8(S) Load 171(s)
             206:     13(int) Load 176(u)
                              Store 205(param) 206
             207:           2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 204 205(param)
             208:        8(S) Load 171(s)
             210:     13(int) Load 176(u)
                              Store 209(param) 210
             211:           2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 208 209(param)
             212:        8(S) Load 171(s)
             214:     13(int) Load 176(u)
                              Store 213(param) 214
             215:           2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 212 213(param)
             216:        8(S) Load 171(s)
             218:     13(int) Load 176(u)
                              Store 217(param) 218
             219:           2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 216 217(param)
             220:        8(S) Load 171(s)
             222:     13(int) Load 176(u)
                              Store 221(param) 222
             223:           2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 220 221(param)
             224:        8(S) Load 171(s)
             226:     13(int) Load 176(u)
                              Store 225(param) 226
             227:           2 FunctionCall 66(GetColor14(struct-S-vf31;i1;) 224 225(param)
                              Return
                              FunctionEnd
11(GetColor1(struct-S-vf31;):           2 Function None 9
           10(i):        8(S) FunctionParameter
              12:             Label
              73:    6(float) CompositeExtract 10(i) 0 0
              74:    7(fvec3) Load 69(OutColor)
              75:    7(fvec3) CompositeConstruct 73 73 73
              76:    7(fvec3) FAdd 74 75
                              Store 69(OutColor) 76
                              Return
                              FunctionEnd
18(GetColor2(struct-S-vf31;i1;):           2 Function None 15
           16(i):        8(S) FunctionParameter
        17(comp):     14(ptr) FunctionParameter
              19:             Label
              77:     13(int) Load 17(comp)
              78:    7(fvec3) CompositeExtract 16(i) 0
              79:    6(float) VectorExtractDynamic 78 77
              80:    7(fvec3) Load 69(OutColor)
              81:    7(fvec3) CompositeConstruct 79 79 79
              82:    7(fvec3) FAdd 80 81
                              Store 69(OutColor) 82
                              Return
                              FunctionEnd
22(GetColor3(struct-S-vf31;i1;):           2 Function None 15
           20(i):        8(S) FunctionParameter
        21(comp):     14(ptr) FunctionParameter
              23:             Label
              83:     13(int) Load 21(comp)
              84:    7(fvec3) CompositeExtract 20(i) 0
              85:    6(float) VectorExtractDynamic 84 83
              86:    7(fvec3) Load 69(OutColor)
              87:    7(fvec3) CompositeConstruct 85 85 85
              88:    7(fvec3) FAdd 86 87
                              Store 69(OutColor) 88
                              Return
                              FunctionEnd
26(GetColor4(struct-S-vf31;i1;):           2 Function None 15
           24(i):        8(S) FunctionParameter
        25(comp):     14(ptr) FunctionParameter
              27:             Label
              89:     13(int) Load 25(comp)
              90:    7(fvec3) CompositeExtract 24(i) 0
              91:    6(float) VectorExtractDynamic 90 89
              92:    7(fvec3) Load 69(OutColor)
              93:    7(fvec3) CompositeConstruct 91 91 91
              94:    7(fvec3) FAdd 92 93
                              Store 69(OutColor) 94
                              Return
                              FunctionEnd
30(GetColor5(struct-S-vf31;i1;):           2 Function None 15
           28(i):        8(S) FunctionParameter
        29(comp):     14(ptr) FunctionParameter
              31:             Label
              95:    7(fvec3) CompositeExtract 28(i) 0
              96:    7(fvec3) Load 69(OutColor)
              97:    7(fvec3) FAdd 96 95
                              Store 69(OutColor) 97
                              Return
                              FunctionEnd
34(GetColor6(struct-S-vf31;i1;):           2 Function None 15
           32(i):        8(S) FunctionParameter
        33(comp):     14(ptr) FunctionParameter
              35:             Label
              98:     13(int) Load 33(comp)
             100:    7(fvec3) CompositeExtract 32(i) 0
             101:   99(fvec2) VectorShuffle 100 100 1 0
             102:    6(float) VectorExtractDynamic 101 98
             103:    7(fvec3) Load 69(OutColor)
             104:    7(fvec3) CompositeConstruct 102 102 102
             105:    7(fvec3) FAdd 103 104
                              Store 69(OutColor) 105
                              Return
                              FunctionEnd
38(GetColor7(struct-S-vf31;i1;):           2 Function None 15
           36(i):        8(S) FunctionParameter
        37(comp):     14(ptr) FunctionParameter
              39:             Label
             106:    7(fvec3) CompositeExtract 36(i) 0
             107:   99(fvec2) VectorShuffle 106 106 0 1
             108:    7(fvec3) Load 69(OutColor)
             109:   99(fvec2) VectorShuffle 108 108 0 1
             110:   99(fvec2) FAdd 109 107
             112:    111(ptr) AccessChain 69(OutColor) 72
             113:    6(float) CompositeExtract 110 0
                              Store 112 113
             115:    111(ptr) AccessChain 69(OutColor) 114
             116:    6(float) CompositeExtract 110 1
                              Store 115 116
                              Return
                              FunctionEnd
42(GetColor8(struct-S-vf31;i1;):           2 Function None 15
           40(i):        8(S) FunctionParameter
        41(comp):     14(ptr) FunctionParameter
              43:             Label
             118:    6(float) CompositeExtract 40(i) 0 2
             119:    7(fvec3) Load 69(OutColor)
             120:    7(fvec3) CompositeConstruct 118 118 118
             121:    7(fvec3) FAdd 119 120
                              Store 69(OutColor) 121
                              Return
                              FunctionEnd
46(GetColor9(struct-S-vf31;i1;):           2 Function None 15
           44(i):        8(S) FunctionParameter
        45(comp):     14(ptr) FunctionParameter
              47:             Label
             122:    7(fvec3) CompositeExtract 44(i) 0
             123:    7(fvec3) Load 69(OutColor)
             124:    7(fvec3) VectorShuffle 123 123 2 0 1
             125:    7(fvec3) FAdd 124 122
             126:    7(fvec3) Load 69(OutColor)
             127:    7(fvec3) VectorShuffle 126 125 4 5 3
                              Store 69(OutColor) 127
                              Return
                              FunctionEnd
50(GetColor10(struct-S-vf31;i1;):           2 Function None 15
           48(i):        8(S) FunctionParameter
        49(comp):     14(ptr) FunctionParameter
              51:             Label
             128:    7(fvec3) CompositeExtract 48(i) 0
             129:   99(fvec2) VectorShuffle 128 128 0 1
             130:    7(fvec3) Load 69(OutColor)
             131:   99(fvec2) VectorShuffle 130 130 2 1
             132:   99(fvec2) FAdd 131 129
             133:    111(ptr) AccessChain 69(OutColor) 117
             134:    6(float) CompositeExtract 132 0
                              Store 133 134
             135:    111(ptr) AccessChain 69(OutColor) 114
             136:    6(float) CompositeExtract 132 1
                              Store 135 136
                              Return
                              FunctionEnd
54(GetColor11(struct-S-vf31;i1;):           2 Function None 15
           52(i):        8(S) FunctionParameter
        53(comp):     14(ptr) FunctionParameter
              55:             Label
             137:    7(fvec3) CompositeExtract 52(i) 0
             138:   99(fvec2) VectorShuffle 137 137 0 1
             139:    7(fvec3) Load 69(OutColor)
             140:   99(fvec2) VectorShuffle 139 139 0 2
             141:   99(fvec2) FAdd 140 138
             142:    111(ptr) AccessChain 69(OutColor) 72
             143:    6(float) CompositeExtract 141 0
                              Store 142 143
             144:    111(ptr) AccessChain 69(OutColor) 117
             145:    6(float) CompositeExtract 141 1
                              Store 144 145
                              Return
                              FunctionEnd
58(GetColor12(struct-S-vf31;i1;):           2 Function None 15
           56(i):        8(S) FunctionParameter
        57(comp):     14(ptr) FunctionParameter
              59:             Label
             146:     13(int) Load 57(comp)
             147:    6(float) CompositeExtract 56(i) 0 0
             148:    111(ptr) AccessChain 69(OutColor) 146
             149:    6(float) Load 148
             150:    6(float) FAdd 149 147
             151:    111(ptr) AccessChain 69(OutColor) 146
                              Store 151 150
                              Return
                              FunctionEnd
62(GetColor13(struct-S-vf31;i1;):           2 Function None 15
           60(i):        8(S) FunctionParameter
        61(comp):     14(ptr) FunctionParameter
              63:             Label
             152:     13(int) Load 61(comp)
             153:    6(float) CompositeExtract 60(i) 0 0
             156:     71(int) VectorExtractDynamic 155 152
             157:    111(ptr) AccessChain 69(OutColor) 156
             158:    6(float) Load 157
             159:    6(float) FAdd 158 153
             160:     71(int) VectorExtractDynamic 155 152
             161:    111(ptr) AccessChain 69(OutColor) 160
                              Store 161 159
                              Return
                              FunctionEnd
66(GetColor14(struct-S-vf31;i1;):           2 Function None 15
           64(i):        8(S) FunctionParameter
        65(comp):     14(ptr) FunctionParameter
              67:             Label
             162:     13(int) Load 65(comp)
             163:    6(float) CompositeExtract 64(i) 0 0
             166:     71(int) VectorExtractDynamic 165 162
             167:    111(ptr) AccessChain 69(OutColor) 166
                              Store 167 163
                              Return
                              FunctionEnd
