spv.types.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 260

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 91 93 100 102 109 111 118 120 127 129 136 138 145 147 154 156 160
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 140
                              Name 4  "main"
                              Name 8  "b"
                              Name 10  "u_b"
                              Name 12  "i_b"
                              Name 17  "b2"
                              Name 19  "u_b2"
                              Name 22  "i_b2"
                              Name 35  "b3"
                              Name 37  "u_b3"
                              Name 40  "i_b3"
                              Name 59  "b4"
                              Name 61  "u_b4"
                              Name 64  "i_b4"
                              Name 89  "i"
                              Name 91  "u_i"
                              Name 93  "i_i"
                              Name 98  "i2"
                              Name 100  "u_i2"
                              Name 102  "i_i2"
                              Name 107  "i3"
                              Name 109  "u_i3"
                              Name 111  "i_i3"
                              Name 116  "i4"
                              Name 118  "u_i4"
                              Name 120  "i_i4"
                              Name 125  "f"
                              Name 127  "u_f"
                              Name 129  "i_f"
                              Name 134  "f2"
                              Name 136  "u_f2"
                              Name 138  "i_f2"
                              Name 143  "f3"
                              Name 145  "u_f3"
                              Name 147  "i_f3"
                              Name 152  "f4"
                              Name 154  "u_f4"
                              Name 156  "i_f4"
                              Name 160  "gl_FragColor"
                              Decorate 91(u_i) Flat
                              Decorate 93(i_i) Flat
                              Decorate 100(u_i2) Flat
                              Decorate 102(i_i2) Flat
                              Decorate 109(u_i3) Flat
                              Decorate 111(i_i3) Flat
                              Decorate 118(u_i4) Flat
                              Decorate 120(i_i4) Flat
                              Decorate 160(gl_FragColor) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeBool
               7:             TypePointer Function 6(bool)
               9:             TypePointer Private 6(bool)
         10(u_b):      9(ptr) Variable Private
         12(i_b):      9(ptr) Variable Private
              15:             TypeVector 6(bool) 2
              16:             TypePointer Function 15(bvec2)
              18:             TypePointer Private 15(bvec2)
        19(u_b2):     18(ptr) Variable Private
        22(i_b2):     18(ptr) Variable Private
              33:             TypeVector 6(bool) 3
              34:             TypePointer Function 33(bvec3)
              36:             TypePointer Private 33(bvec3)
        37(u_b3):     36(ptr) Variable Private
        40(i_b3):     36(ptr) Variable Private
              57:             TypeVector 6(bool) 4
              58:             TypePointer Function 57(bvec4)
              60:             TypePointer Private 57(bvec4)
        61(u_b4):     60(ptr) Variable Private
        64(i_b4):     60(ptr) Variable Private
              87:             TypeInt 32 1
              88:             TypePointer Function 87(int)
              90:             TypePointer Input 87(int)
         91(u_i):     90(ptr) Variable Input
         93(i_i):     90(ptr) Variable Input
              96:             TypeVector 87(int) 2
              97:             TypePointer Function 96(ivec2)
              99:             TypePointer Input 96(ivec2)
       100(u_i2):     99(ptr) Variable Input
       102(i_i2):     99(ptr) Variable Input
             105:             TypeVector 87(int) 3
             106:             TypePointer Function 105(ivec3)
             108:             TypePointer Input 105(ivec3)
       109(u_i3):    108(ptr) Variable Input
       111(i_i3):    108(ptr) Variable Input
             114:             TypeVector 87(int) 4
             115:             TypePointer Function 114(ivec4)
             117:             TypePointer Input 114(ivec4)
       118(u_i4):    117(ptr) Variable Input
       120(i_i4):    117(ptr) Variable Input
             123:             TypeFloat 32
             124:             TypePointer Function 123(float)
             126:             TypePointer Input 123(float)
        127(u_f):    126(ptr) Variable Input
        129(i_f):    126(ptr) Variable Input
             132:             TypeVector 123(float) 2
             133:             TypePointer Function 132(fvec2)
             135:             TypePointer Input 132(fvec2)
       136(u_f2):    135(ptr) Variable Input
       138(i_f2):    135(ptr) Variable Input
             141:             TypeVector 123(float) 3
             142:             TypePointer Function 141(fvec3)
             144:             TypePointer Input 141(fvec3)
       145(u_f3):    144(ptr) Variable Input
       147(i_f3):    144(ptr) Variable Input
             150:             TypeVector 123(float) 4
             151:             TypePointer Function 150(fvec4)
             153:             TypePointer Input 150(fvec4)
       154(u_f4):    153(ptr) Variable Input
       156(i_f4):    153(ptr) Variable Input
             159:             TypePointer Output 150(fvec4)
160(gl_FragColor):    159(ptr) Variable Output
             193:             TypeInt 32 0
             194:    193(int) Constant 0
             198:    193(int) Constant 1
             208:    193(int) Constant 2
             221:    193(int) Constant 3
             257:  123(float) Constant 1065353216
             258:  150(fvec4) ConstantComposite 257 257 257 257
         4(main):           2 Function None 3
               5:             Label
            8(b):      7(ptr) Variable Function
          17(b2):     16(ptr) Variable Function
          35(b3):     34(ptr) Variable Function
          59(b4):     58(ptr) Variable Function
           89(i):     88(ptr) Variable Function
          98(i2):     97(ptr) Variable Function
         107(i3):    106(ptr) Variable Function
         116(i4):    115(ptr) Variable Function
          125(f):    124(ptr) Variable Function
         134(f2):    133(ptr) Variable Function
         143(f3):    142(ptr) Variable Function
         152(f4):    151(ptr) Variable Function
             161:    151(ptr) Variable Function
              11:     6(bool) Load 10(u_b)
              13:     6(bool) Load 12(i_b)
              14:     6(bool) LogicalAnd 11 13
                              Store 8(b) 14
              20:   15(bvec2) Load 19(u_b2)
              21:     6(bool) CompositeExtract 20 0
              23:   15(bvec2) Load 22(i_b2)
              24:     6(bool) CompositeExtract 23 0
              25:     6(bool) LogicalAnd 21 24
              26:   15(bvec2) Load 19(u_b2)
              27:     6(bool) CompositeExtract 26 1
              28:     6(bool) LogicalAnd 25 27
              29:   15(bvec2) Load 22(i_b2)
              30:     6(bool) CompositeExtract 29 1
              31:     6(bool) LogicalAnd 28 30
              32:   15(bvec2) CompositeConstruct 31 31
                              Store 17(b2) 32
              38:   33(bvec3) Load 37(u_b3)
              39:     6(bool) CompositeExtract 38 0
              41:   33(bvec3) Load 40(i_b3)
              42:     6(bool) CompositeExtract 41 0
              43:     6(bool) LogicalAnd 39 42
              44:   33(bvec3) Load 37(u_b3)
              45:     6(bool) CompositeExtract 44 1
              46:     6(bool) LogicalAnd 43 45
              47:   33(bvec3) Load 40(i_b3)
              48:     6(bool) CompositeExtract 47 1
              49:     6(bool) LogicalAnd 46 48
              50:   33(bvec3) Load 37(u_b3)
              51:     6(bool) CompositeExtract 50 2
              52:     6(bool) LogicalAnd 49 51
              53:   33(bvec3) Load 40(i_b3)
              54:     6(bool) CompositeExtract 53 2
              55:     6(bool) LogicalAnd 52 54
              56:   33(bvec3) CompositeConstruct 55 55 55
                              Store 35(b3) 56
              62:   57(bvec4) Load 61(u_b4)
              63:     6(bool) CompositeExtract 62 0
              65:   57(bvec4) Load 64(i_b4)
              66:     6(bool) CompositeExtract 65 0
              67:     6(bool) LogicalAnd 63 66
              68:   57(bvec4) Load 61(u_b4)
              69:     6(bool) CompositeExtract 68 1
              70:     6(bool) LogicalAnd 67 69
              71:   57(bvec4) Load 64(i_b4)
              72:     6(bool) CompositeExtract 71 1
              73:     6(bool) LogicalAnd 70 72
              74:   57(bvec4) Load 61(u_b4)
              75:     6(bool) CompositeExtract 74 2
              76:     6(bool) LogicalAnd 73 75
              77:   57(bvec4) Load 64(i_b4)
              78:     6(bool) CompositeExtract 77 2
              79:     6(bool) LogicalAnd 76 78
              80:   57(bvec4) Load 61(u_b4)
              81:     6(bool) CompositeExtract 80 3
              82:     6(bool) LogicalAnd 79 81
              83:   57(bvec4) Load 64(i_b4)
              84:     6(bool) CompositeExtract 83 3
              85:     6(bool) LogicalAnd 82 84
              86:   57(bvec4) CompositeConstruct 85 85 85 85
                              Store 59(b4) 86
              92:     87(int) Load 91(u_i)
              94:     87(int) Load 93(i_i)
              95:     87(int) IAdd 92 94
                              Store 89(i) 95
             101:   96(ivec2) Load 100(u_i2)
             103:   96(ivec2) Load 102(i_i2)
             104:   96(ivec2) IAdd 101 103
                              Store 98(i2) 104
             110:  105(ivec3) Load 109(u_i3)
             112:  105(ivec3) Load 111(i_i3)
             113:  105(ivec3) IAdd 110 112
                              Store 107(i3) 113
             119:  114(ivec4) Load 118(u_i4)
             121:  114(ivec4) Load 120(i_i4)
             122:  114(ivec4) IAdd 119 121
                              Store 116(i4) 122
             128:  123(float) Load 127(u_f)
             130:  123(float) Load 129(i_f)
             131:  123(float) FAdd 128 130
                              Store 125(f) 131
             137:  132(fvec2) Load 136(u_f2)
             139:  132(fvec2) Load 138(i_f2)
             140:  132(fvec2) FAdd 137 139
                              Store 134(f2) 140
             146:  141(fvec3) Load 145(u_f3)
             148:  141(fvec3) Load 147(i_f3)
             149:  141(fvec3) FAdd 146 148
                              Store 143(f3) 149
             155:  150(fvec4) Load 154(u_f4)
             157:  150(fvec4) Load 156(i_f4)
             158:  150(fvec4) FAdd 155 157
                              Store 152(f4) 158
             162:     6(bool) Load 8(b)
             163:   15(bvec2) Load 17(b2)
             164:     6(bool) CompositeExtract 163 0
             165:     6(bool) LogicalOr 162 164
             166:   15(bvec2) Load 17(b2)
             167:     6(bool) CompositeExtract 166 1
             168:     6(bool) LogicalOr 165 167
             169:   33(bvec3) Load 35(b3)
             170:     6(bool) CompositeExtract 169 0
             171:     6(bool) LogicalOr 168 170
             172:   33(bvec3) Load 35(b3)
             173:     6(bool) CompositeExtract 172 1
             174:     6(bool) LogicalOr 171 173
             175:   33(bvec3) Load 35(b3)
             176:     6(bool) CompositeExtract 175 2
             177:     6(bool) LogicalOr 174 176
             178:   57(bvec4) Load 59(b4)
             179:     6(bool) CompositeExtract 178 0
             180:     6(bool) LogicalOr 177 179
             181:   57(bvec4) Load 59(b4)
             182:     6(bool) CompositeExtract 181 1
             183:     6(bool) LogicalOr 180 182
             184:   57(bvec4) Load 59(b4)
             185:     6(bool) CompositeExtract 184 2
             186:     6(bool) LogicalOr 183 185
             187:   57(bvec4) Load 59(b4)
             188:     6(bool) CompositeExtract 187 3
             189:     6(bool) LogicalOr 186 188
                              SelectionMerge 191 None
                              BranchConditional 189 190 256
             190:               Label
             192:     87(int)   Load 89(i)
             195:     88(ptr)   AccessChain 98(i2) 194
             196:     87(int)   Load 195
             197:     87(int)   IAdd 192 196
             199:     88(ptr)   AccessChain 98(i2) 198
             200:     87(int)   Load 199
             201:     87(int)   IAdd 197 200
             202:     88(ptr)   AccessChain 107(i3) 194
             203:     87(int)   Load 202
             204:     87(int)   IAdd 201 203
             205:     88(ptr)   AccessChain 107(i3) 198
             206:     87(int)   Load 205
             207:     87(int)   IAdd 204 206
             209:     88(ptr)   AccessChain 107(i3) 208
             210:     87(int)   Load 209
             211:     87(int)   IAdd 207 210
             212:     88(ptr)   AccessChain 116(i4) 194
             213:     87(int)   Load 212
             214:     87(int)   IAdd 211 213
             215:     88(ptr)   AccessChain 116(i4) 198
             216:     87(int)   Load 215
             217:     87(int)   IAdd 214 216
             218:     88(ptr)   AccessChain 116(i4) 208
             219:     87(int)   Load 218
             220:     87(int)   IAdd 217 219
             222:     88(ptr)   AccessChain 116(i4) 221
             223:     87(int)   Load 222
             224:     87(int)   IAdd 220 223
             225:  123(float)   ConvertSToF 224
             226:  123(float)   Load 125(f)
             227:  123(float)   FAdd 225 226
             228:    124(ptr)   AccessChain 134(f2) 194
             229:  123(float)   Load 228
             230:  123(float)   FAdd 227 229
             231:    124(ptr)   AccessChain 134(f2) 198
             232:  123(float)   Load 231
             233:  123(float)   FAdd 230 232
             234:    124(ptr)   AccessChain 143(f3) 194
             235:  123(float)   Load 234
             236:  123(float)   FAdd 233 235
             237:    124(ptr)   AccessChain 143(f3) 198
             238:  123(float)   Load 237
             239:  123(float)   FAdd 236 238
             240:    124(ptr)   AccessChain 143(f3) 208
             241:  123(float)   Load 240
             242:  123(float)   FAdd 239 241
             243:    124(ptr)   AccessChain 152(f4) 194
             244:  123(float)   Load 243
             245:  123(float)   FAdd 242 244
             246:    124(ptr)   AccessChain 152(f4) 198
             247:  123(float)   Load 246
             248:  123(float)   FAdd 245 247
             249:    124(ptr)   AccessChain 152(f4) 208
             250:  123(float)   Load 249
             251:  123(float)   FAdd 248 250
             252:    124(ptr)   AccessChain 152(f4) 221
             253:  123(float)   Load 252
             254:  123(float)   FAdd 251 253
             255:  150(fvec4)   CompositeConstruct 254 254 254 254
                                Store 161 255
                                Branch 191
             256:               Label
                                Store 161 258
                                Branch 191
             191:             Label
             259:  150(fvec4) Load 161
                              Store 160(gl_FragColor) 259
                              Return
                              FunctionEnd
