Update CHANGES for release 11.12.0
[platform/upstream/glslang.git] / Test / baseResults / spv.Operations.frag.out
index 4113ddf..f9059c6 100644 (file)
@@ -1,12 +1,12 @@
 spv.Operations.frag
 // Module Version 10000
-// Generated by (magic number): 80007
-// Id's are bound by 532
+// Generated by (magic number): 8000b
+// Id's are bound by 591
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 11 22 212 288 485 526 531
+                              EntryPoint Fragment 4  "main" 11 22 220 296 314 547 588
                               ExecutionMode 4 OriginUpperLeft
                               Source GLSL 450
                               Name 4  "main"
@@ -14,23 +14,36 @@ spv.Operations.frag
                               Name 11  "uv4"
                               Name 20  "i"
                               Name 22  "ui"
-                              Name 181  "ub41"
-                              Name 188  "f"
-                              Name 212  "uf"
-                              Name 285  "u"
-                              Name 288  "uui"
-                              Name 305  "b"
-                              Name 342  "ub42"
-                              Name 485  "FragColor"
-                              Name 503  "m1"
-                              Name 510  "m2"
-                              Name 526  "uiv4"
-                              Name 528  "ub"
-                              Name 531  "uuv4"
+                              Name 155  "swizzleTemp"
+                              Name 189  "ub41"
+                              Name 196  "f"
+                              Name 220  "uf"
+                              Name 293  "u"
+                              Name 296  "uui"
+                              Name 314  "uuv4"
+                              Name 321  "msb"
+                              Name 323  "swizzleTemp"
+                              Name 324  "lsb"
+                              Name 325  "swizzleTemp"
+                              Name 326  "ResType"
+                              Name 367  "b"
+                              Name 404  "ub42"
+                              Name 547  "FragColor"
+                              Name 565  "m1"
+                              Name 572  "m2"
+                              Name 588  "uiv4"
+                              Name 590  "ub"
+                              Decorate 11(uv4) Location 1
                               Decorate 22(ui) Flat
-                              Decorate 288(uui) Flat
-                              Decorate 526(uiv4) Flat
-                              Decorate 531(uuv4) Flat
+                              Decorate 22(ui) Location 3
+                              Decorate 220(uf) Location 2
+                              Decorate 296(uui) Flat
+                              Decorate 296(uui) Location 5
+                              Decorate 314(uuv4) Flat
+                              Decorate 314(uuv4) Location 4
+                              Decorate 547(FragColor) Location 0
+                              Decorate 588(uiv4) Flat
+                              Decorate 588(uiv4) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -45,55 +58,66 @@ spv.Operations.frag
              141:             TypeInt 32 0
              142:    141(int) Constant 0
              143:             TypePointer Function 6(float)
-             178:             TypeBool
-             179:             TypeVector 178(bool) 4
-             180:             TypePointer Private 179(bvec4)
-       181(ub41):    180(ptr) Variable Private
-             211:             TypePointer Input 6(float)
-         212(uf):    211(ptr) Variable Input
-             284:             TypePointer Function 141(int)
-             287:             TypePointer Input 141(int)
-        288(uui):    287(ptr) Variable Input
-             304:             TypePointer Function 178(bool)
-       342(ub42):    180(ptr) Variable Private
-             398:     18(int) Constant 2
-             405:     18(int) Constant 1
-             435:             TypeVector 6(float) 3
-             454:    6(float) Constant 1073741824
-             461:    6(float) Constant 1065353216
-             466:     18(int) Constant 66
-             472:     18(int) Constant 17
-             484:             TypePointer Output 7(fvec4)
-  485(FragColor):    484(ptr) Variable Output
-             501:             TypeMatrix 7(fvec4) 4
-             502:             TypePointer Function 501
-             504:    6(float) Constant 0
-             505:    7(fvec4) ConstantComposite 461 504 504 504
-             506:    7(fvec4) ConstantComposite 504 461 504 504
-             507:    7(fvec4) ConstantComposite 504 504 461 504
-             508:    7(fvec4) ConstantComposite 504 504 504 461
-             509:         501 ConstantComposite 505 506 507 508
-             511:    7(fvec4) ConstantComposite 504 504 504 504
-             512:         501 ConstantComposite 511 511 511 511
-             524:             TypeVector 18(int) 4
-             525:             TypePointer Input 524(ivec4)
-       526(uiv4):    525(ptr) Variable Input
-             527:             TypePointer Private 178(bool)
-         528(ub):    527(ptr) Variable Private
-             529:             TypeVector 141(int) 4
-             530:             TypePointer Input 529(ivec4)
-       531(uuv4):    530(ptr) Variable Input
+             186:             TypeBool
+             187:             TypeVector 186(bool) 4
+             188:             TypePointer Private 187(bvec4)
+       189(ub41):    188(ptr) Variable Private
+             219:             TypePointer Input 6(float)
+         220(uf):    219(ptr) Variable Input
+             292:             TypePointer Function 141(int)
+             295:             TypePointer Input 141(int)
+        296(uui):    295(ptr) Variable Input
+             312:             TypeVector 141(int) 4
+             313:             TypePointer Input 312(ivec4)
+       314(uuv4):    313(ptr) Variable Input
+             315:             TypeVector 141(int) 3
+             320:             TypePointer Function 312(ivec4)
+             322:             TypePointer Function 315(ivec3)
+    326(ResType):             TypeStruct 315(ivec3) 315(ivec3)
+             333:    141(int) Constant 1
+             336:    141(int) Constant 2
+             366:             TypePointer Function 186(bool)
+       404(ub42):    188(ptr) Variable Private
+             460:     18(int) Constant 2
+             467:     18(int) Constant 1
+             497:             TypeVector 6(float) 3
+             516:    6(float) Constant 1073741824
+             523:    6(float) Constant 1065353216
+             528:     18(int) Constant 66
+             534:     18(int) Constant 17
+             546:             TypePointer Output 7(fvec4)
+  547(FragColor):    546(ptr) Variable Output
+             563:             TypeMatrix 7(fvec4) 4
+             564:             TypePointer Function 563
+             566:    6(float) Constant 0
+             567:    7(fvec4) ConstantComposite 523 566 566 566
+             568:    7(fvec4) ConstantComposite 566 523 566 566
+             569:    7(fvec4) ConstantComposite 566 566 523 566
+             570:    7(fvec4) ConstantComposite 566 566 566 523
+             571:         563 ConstantComposite 567 568 569 570
+             573:    7(fvec4) ConstantComposite 566 566 566 566
+             574:         563 ConstantComposite 573 573 573 573
+             586:             TypeVector 18(int) 4
+             587:             TypePointer Input 586(ivec4)
+       588(uiv4):    587(ptr) Variable Input
+             589:             TypePointer Private 186(bool)
+         590(ub):    589(ptr) Variable Private
          4(main):           2 Function None 3
                5:             Label
             9(v):      8(ptr) Variable Function
            20(i):     19(ptr) Variable Function
-          188(f):    143(ptr) Variable Function
-          285(u):    284(ptr) Variable Function
-          305(b):    304(ptr) Variable Function
-             487:      8(ptr) Variable Function
-         503(m1):    502(ptr) Variable Function
-         510(m2):    502(ptr) Variable Function
-             514:    502(ptr) Variable Function
+155(swizzleTemp):      8(ptr) Variable Function
+          196(f):    143(ptr) Variable Function
+          293(u):    292(ptr) Variable Function
+        321(msb):    320(ptr) Variable Function
+323(swizzleTemp):    322(ptr) Variable Function
+        324(lsb):    320(ptr) Variable Function
+325(swizzleTemp):    322(ptr) Variable Function
+          367(b):    366(ptr) Variable Function
+             549:      8(ptr) Variable Function
+         565(m1):    564(ptr) Variable Function
+         572(m2):    564(ptr) Variable Function
+             576:    564(ptr) Variable Function
               12:    7(fvec4) Load 11(uv4)
               13:    7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
                               Store 9(v) 13
@@ -262,441 +286,501 @@ spv.Operations.frag
              153:    7(fvec4) FAdd 152 151
                               Store 9(v) 153
              154:    7(fvec4) Load 9(v)
-             155:    7(fvec4) Load 11(uv4)
-             156:    7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 154 155
-             157:    7(fvec4) Load 9(v)
-             158:    7(fvec4) FAdd 157 156
-                              Store 9(v) 158
-             159:    7(fvec4) Load 9(v)
-             160:    7(fvec4) Load 11(uv4)
-             161:    7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 159 160
+             156:    7(fvec4) ExtInst 1(GLSL.std.450) 35(Modf) 154 155(swizzleTemp)
+             157:    7(fvec4) Load 155(swizzleTemp)
+             158:    7(fvec4) Load 9(v)
+             159:    7(fvec4) VectorShuffle 158 157 6 4 5 7
+                              Store 9(v) 159
+             160:    7(fvec4) Load 9(v)
+             161:    7(fvec4) FAdd 160 156
+                              Store 9(v) 161
              162:    7(fvec4) Load 9(v)
-             163:    7(fvec4) FAdd 162 161
-                              Store 9(v) 163
-             164:    7(fvec4) Load 9(v)
-             165:    7(fvec4) Load 11(uv4)
-             166:    7(fvec4) Load 11(uv4)
-             167:    7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 164 165 166
-             168:    7(fvec4) Load 9(v)
-             169:    7(fvec4) FAdd 168 167
-                              Store 9(v) 169
+             163:    7(fvec4) Load 11(uv4)
+             164:    7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 162 163
+             165:    7(fvec4) Load 9(v)
+             166:    7(fvec4) FAdd 165 164
+                              Store 9(v) 166
+             167:    7(fvec4) Load 9(v)
+             168:    7(fvec4) Load 11(uv4)
+             169:    7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 167 168
              170:    7(fvec4) Load 9(v)
-             171:    7(fvec4) Load 9(v)
+             171:    7(fvec4) FAdd 170 169
+                              Store 9(v) 171
              172:    7(fvec4) Load 9(v)
-             173:    7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 170 171 172
-             174:    7(fvec4) Load 9(v)
-             175:    7(fvec4) FAdd 174 173
-                              Store 9(v) 175
+             173:    7(fvec4) Load 11(uv4)
+             174:    7(fvec4) Load 11(uv4)
+             175:    7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 172 173 174
              176:    7(fvec4) Load 9(v)
-             177:    7(fvec4) Load 9(v)
-             182:  179(bvec4) Load 181(ub41)
-             183:    7(fvec4) Select 182 177 176
+             177:    7(fvec4) FAdd 176 175
+                              Store 9(v) 177
+             178:    7(fvec4) Load 9(v)
+             179:    7(fvec4) Load 9(v)
+             180:    7(fvec4) Load 9(v)
+             181:    7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 178 179 180
+             182:    7(fvec4) Load 9(v)
+             183:    7(fvec4) FAdd 182 181
+                              Store 9(v) 183
              184:    7(fvec4) Load 9(v)
-             185:    7(fvec4) FAdd 184 183
-                              Store 9(v) 185
-             186:    7(fvec4) Load 9(v)
-             187:    7(fvec4) Load 9(v)
-             189:    6(float) Load 188(f)
-             190:    7(fvec4) CompositeConstruct 189 189 189 189
-             191:    7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 186 187 190
+             185:    7(fvec4) Load 9(v)
+             190:  187(bvec4) Load 189(ub41)
+             191:    7(fvec4) Select 190 185 184
              192:    7(fvec4) Load 9(v)
              193:    7(fvec4) FAdd 192 191
                               Store 9(v) 193
              194:    7(fvec4) Load 9(v)
-             195:    7(fvec4) Load 11(uv4)
-             196:    7(fvec4) Load 9(v)
-             197:    7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 194 195 196
-             198:    7(fvec4) Load 9(v)
-             199:    7(fvec4) FAdd 198 197
-                              Store 9(v) 199
+             195:    7(fvec4) Load 9(v)
+             197:    6(float) Load 196(f)
+             198:    7(fvec4) CompositeConstruct 197 197 197 197
+             199:    7(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 194 195 198
              200:    7(fvec4) Load 9(v)
-             201:    7(fvec4) Load 9(v)
-             202:    7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 200 201
-             203:    7(fvec4) Load 9(v)
-             204:    7(fvec4) FAdd 203 202
-                              Store 9(v) 204
-             205:    7(fvec4) Load 9(v)
+             201:    7(fvec4) FAdd 200 199
+                              Store 9(v) 201
+             202:    7(fvec4) Load 9(v)
+             203:    7(fvec4) Load 11(uv4)
+             204:    7(fvec4) Load 9(v)
+             205:    7(fvec4) ExtInst 1(GLSL.std.450) 50(Fma) 202 203 204
              206:    7(fvec4) Load 9(v)
-             207:    7(fvec4) Load 9(v)
-             208:    7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 205 206 207
+             207:    7(fvec4) FAdd 206 205
+                              Store 9(v) 207
+             208:    7(fvec4) Load 9(v)
              209:    7(fvec4) Load 9(v)
-             210:    7(fvec4) FAdd 209 208
-                              Store 9(v) 210
-             213:    6(float) Load 212(uf)
+             210:    7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 208 209
+             211:    7(fvec4) Load 9(v)
+             212:    7(fvec4) FAdd 211 210
+                              Store 9(v) 212
+             213:    7(fvec4) Load 9(v)
              214:    7(fvec4) Load 9(v)
-             215:    7(fvec4) CompositeConstruct 213 213 213 213
-             216:    7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 215 214
+             215:    7(fvec4) Load 9(v)
+             216:    7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 213 214 215
              217:    7(fvec4) Load 9(v)
              218:    7(fvec4) FAdd 217 216
                               Store 9(v) 218
-             219:    6(float) Load 212(uf)
-             220:    6(float) Load 212(uf)
-             221:    7(fvec4) Load 9(v)
-             222:    7(fvec4) CompositeConstruct 219 219 219 219
-             223:    7(fvec4) CompositeConstruct 220 220 220 220
-             224:    7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 222 223 221
+             221:    6(float) Load 220(uf)
+             222:    7(fvec4) Load 9(v)
+             223:    7(fvec4) CompositeConstruct 221 221 221 221
+             224:    7(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 223 222
              225:    7(fvec4) Load 9(v)
              226:    7(fvec4) FAdd 225 224
                               Store 9(v) 226
-             227:    7(fvec4) Load 9(v)
-             228:    7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 227
+             227:    6(float) Load 220(uf)
+             228:    6(float) Load 220(uf)
              229:    7(fvec4) Load 9(v)
-             230:    7(fvec4) FAdd 229 228
-                              Store 9(v) 230
-             231:    7(fvec4) Load 9(v)
-             232:    7(fvec4) Load 9(v)
+             230:    7(fvec4) CompositeConstruct 227 227 227 227
+             231:    7(fvec4) CompositeConstruct 228 228 228 228
+             232:    7(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 230 231 229
              233:    7(fvec4) Load 9(v)
-             234:    7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 231 232 233
+             234:    7(fvec4) FAdd 233 232
+                              Store 9(v) 234
              235:    7(fvec4) Load 9(v)
-             236:    7(fvec4) FAdd 235 234
-                              Store 9(v) 236
+             236:    7(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 235
              237:    7(fvec4) Load 9(v)
-             238:    7(fvec4) Load 9(v)
-             239:    7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 237 238
+             238:    7(fvec4) FAdd 237 236
+                              Store 9(v) 238
+             239:    7(fvec4) Load 9(v)
              240:    7(fvec4) Load 9(v)
-             241:    7(fvec4) FAdd 240 239
-                              Store 9(v) 241
-             242:    7(fvec4) Load 9(v)
+             241:    7(fvec4) Load 9(v)
+             242:    7(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 239 240 241
              243:    7(fvec4) Load 9(v)
-             244:    6(float) Load 212(uf)
-             245:    7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 242 243 244
+             244:    7(fvec4) FAdd 243 242
+                              Store 9(v) 244
+             245:    7(fvec4) Load 9(v)
              246:    7(fvec4) Load 9(v)
-             247:    7(fvec4) FAdd 246 245
-                              Store 9(v) 247
+             247:    7(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 245 246
              248:    7(fvec4) Load 9(v)
-             249:    7(fvec4) DPdx 248
+             249:    7(fvec4) FAdd 248 247
+                              Store 9(v) 249
              250:    7(fvec4) Load 9(v)
-             251:    7(fvec4) FAdd 250 249
-                              Store 9(v) 251
-             252:    7(fvec4) Load 9(v)
-             253:    7(fvec4) DPdy 252
+             251:    7(fvec4) Load 9(v)
+             252:    6(float) Load 220(uf)
+             253:    7(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 250 251 252
              254:    7(fvec4) Load 9(v)
              255:    7(fvec4) FAdd 254 253
                               Store 9(v) 255
              256:    7(fvec4) Load 9(v)
-             257:    7(fvec4) Fwidth 256
+             257:    7(fvec4) DPdx 256
              258:    7(fvec4) Load 9(v)
              259:    7(fvec4) FAdd 258 257
                               Store 9(v) 259
-             260:     18(int) Load 22(ui)
-             261:     18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 260
-             262:     18(int) Load 20(i)
-             263:     18(int) IAdd 262 261
-                              Store 20(i) 263
-             264:     18(int) Load 20(i)
-             265:     18(int) ExtInst 1(GLSL.std.450) 7(SSign) 264
-             266:     18(int) Load 20(i)
-             267:     18(int) IAdd 266 265
-                              Store 20(i) 267
-             268:     18(int) Load 20(i)
-             269:     18(int) Load 22(ui)
-             270:     18(int) ExtInst 1(GLSL.std.450) 39(SMin) 268 269
-             271:     18(int) Load 20(i)
-             272:     18(int) IAdd 271 270
-                              Store 20(i) 272
-             273:     18(int) Load 20(i)
-             274:     18(int) Load 22(ui)
-             275:     18(int) ExtInst 1(GLSL.std.450) 42(SMax) 273 274
+             260:    7(fvec4) Load 9(v)
+             261:    7(fvec4) DPdy 260
+             262:    7(fvec4) Load 9(v)
+             263:    7(fvec4) FAdd 262 261
+                              Store 9(v) 263
+             264:    7(fvec4) Load 9(v)
+             265:    7(fvec4) Fwidth 264
+             266:    7(fvec4) Load 9(v)
+             267:    7(fvec4) FAdd 266 265
+                              Store 9(v) 267
+             268:     18(int) Load 22(ui)
+             269:     18(int) ExtInst 1(GLSL.std.450) 5(SAbs) 268
+             270:     18(int) Load 20(i)
+             271:     18(int) IAdd 270 269
+                              Store 20(i) 271
+             272:     18(int) Load 20(i)
+             273:     18(int) ExtInst 1(GLSL.std.450) 7(SSign) 272
+             274:     18(int) Load 20(i)
+             275:     18(int) IAdd 274 273
+                              Store 20(i) 275
              276:     18(int) Load 20(i)
-             277:     18(int) IAdd 276 275
-                              Store 20(i) 277
-             278:     18(int) Load 20(i)
-             279:     18(int) Load 22(ui)
-             280:     18(int) Load 22(ui)
-             281:     18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 278 279 280
-             282:     18(int) Load 20(i)
-             283:     18(int) IAdd 282 281
-                              Store 20(i) 283
-             286:    141(int) Load 285(u)
-             289:    141(int) Load 288(uui)
-             290:    141(int) ExtInst 1(GLSL.std.450) 38(UMin) 286 289
-             291:    141(int) Load 285(u)
-             292:    141(int) IAdd 291 290
-                              Store 285(u) 292
-             293:    141(int) Load 285(u)
-             294:    141(int) Load 288(uui)
-             295:    141(int) ExtInst 1(GLSL.std.450) 41(UMax) 293 294
-             296:    141(int) Load 285(u)
-             297:    141(int) IAdd 296 295
-                              Store 285(u) 297
-             298:    141(int) Load 285(u)
-             299:    141(int) Load 288(uui)
-             300:    141(int) Load 288(uui)
-             301:    141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 298 299 300
-             302:    141(int) Load 285(u)
-             303:    141(int) IAdd 302 301
-                              Store 285(u) 303
-             306:    6(float) Load 212(uf)
-             307:   178(bool) IsNan 306
-                              Store 305(b) 307
-             308:    6(float) Load 188(f)
-             309:   178(bool) IsInf 308
-                              Store 305(b) 309
-             310:    7(fvec4) Load 9(v)
-             311:    7(fvec4) Load 11(uv4)
-             312:  179(bvec4) FOrdLessThan 310 311
-             313:   178(bool) Any 312
-                              Store 305(b) 313
-             314:   178(bool) Load 305(b)
-                              SelectionMerge 316 None
-                              BranchConditional 314 315 316
-             315:               Label
-             317:    7(fvec4)   Load 9(v)
-             318:    7(fvec4)   Load 11(uv4)
-             319:  179(bvec4)   FOrdLessThanEqual 317 318
-             320:   178(bool)   Any 319
-                                Branch 316
-             316:             Label
-             321:   178(bool) Phi 314 5 320 315
-                              Store 305(b) 321
-             322:   178(bool) Load 305(b)
-                              SelectionMerge 324 None
-                              BranchConditional 322 323 324
-             323:               Label
-             325:    7(fvec4)   Load 9(v)
-             326:    7(fvec4)   Load 11(uv4)
-             327:  179(bvec4)   FOrdGreaterThan 325 326
-             328:   178(bool)   Any 327
-                                Branch 324
-             324:             Label
-             329:   178(bool) Phi 322 316 328 323
-                              Store 305(b) 329
-             330:   178(bool) Load 305(b)
-                              SelectionMerge 332 None
-                              BranchConditional 330 331 332
-             331:               Label
-             333:    7(fvec4)   Load 9(v)
-             334:    7(fvec4)   Load 11(uv4)
-             335:  179(bvec4)   FOrdGreaterThanEqual 333 334
-             336:   178(bool)   Any 335
-                                Branch 332
-             332:             Label
-             337:   178(bool) Phi 330 324 336 331
-                              Store 305(b) 337
-             338:   178(bool) Load 305(b)
-                              SelectionMerge 340 None
-                              BranchConditional 338 339 340
-             339:               Label
-             341:  179(bvec4)   Load 181(ub41)
-             343:  179(bvec4)   Load 342(ub42)
-             344:  179(bvec4)   LogicalEqual 341 343
-             345:   178(bool)   Any 344
-                                Branch 340
-             340:             Label
-             346:   178(bool) Phi 338 332 345 339
-                              Store 305(b) 346
-             347:   178(bool) Load 305(b)
-                              SelectionMerge 349 None
-                              BranchConditional 347 348 349
-             348:               Label
-             350:  179(bvec4)   Load 181(ub41)
-             351:  179(bvec4)   Load 342(ub42)
-             352:  179(bvec4)   LogicalNotEqual 350 351
-             353:   178(bool)   Any 352
-                                Branch 349
-             349:             Label
-             354:   178(bool) Phi 347 340 353 348
-                              Store 305(b) 354
-             355:   178(bool) Load 305(b)
-             356:  179(bvec4) Load 181(ub41)
-             357:   178(bool) Any 356
-             358:   178(bool) LogicalAnd 355 357
-                              Store 305(b) 358
-             359:   178(bool) Load 305(b)
-             360:  179(bvec4) Load 181(ub41)
-             361:   178(bool) All 360
-             362:   178(bool) LogicalAnd 359 361
-                              Store 305(b) 362
-             363:   178(bool) Load 305(b)
-                              SelectionMerge 365 None
-                              BranchConditional 363 364 365
-             364:               Label
-             366:  179(bvec4)   Load 181(ub41)
-             367:  179(bvec4)   LogicalNot 366
-             368:   178(bool)   Any 367
-                                Branch 365
-             365:             Label
-             369:   178(bool) Phi 363 349 368 364
-                              Store 305(b) 369
-             370:     18(int) Load 20(i)
-             371:     18(int) Load 22(ui)
-             372:     18(int) IAdd 370 371
-             373:     18(int) Load 20(i)
-             374:     18(int) IMul 372 373
-             375:     18(int) Load 22(ui)
-             376:     18(int) ISub 374 375
-             377:     18(int) Load 20(i)
-             378:     18(int) SDiv 376 377
-                              Store 20(i) 378
-             379:     18(int) Load 20(i)
-             380:     18(int) Load 22(ui)
-             381:     18(int) SMod 379 380
-                              Store 20(i) 381
-             382:     18(int) Load 20(i)
-             383:     18(int) Load 22(ui)
-             384:   178(bool) IEqual 382 383
-             385:   178(bool) LogicalNot 384
-                              SelectionMerge 387 None
-                              BranchConditional 385 386 387
-             386:               Label
-             388:     18(int)   Load 20(i)
-             389:     18(int)   Load 22(ui)
-             390:   178(bool)   INotEqual 388 389
-                                SelectionMerge 392 None
-                                BranchConditional 390 391 392
-             391:                 Label
-             393:     18(int)     Load 20(i)
-             394:     18(int)     Load 22(ui)
-             395:   178(bool)     IEqual 393 394
-                                  Branch 392
-             392:               Label
-             396:   178(bool)   Phi 390 386 395 391
-             397:     18(int)   Load 20(i)
-             399:   178(bool)   INotEqual 397 398
-             400:   178(bool)   LogicalNotEqual 396 399
-                                Branch 387
-             387:             Label
-             401:   178(bool) Phi 384 365 400 392
-                              SelectionMerge 403 None
-                              BranchConditional 401 402 403
-             402:               Label
-             404:     18(int)   Load 20(i)
-             406:     18(int)   IAdd 404 405
-                                Store 20(i) 406
-                                Branch 403
-             403:             Label
-             407:    6(float) Load 212(uf)
-             408:    6(float) Load 212(uf)
-             409:    6(float) FAdd 407 408
-             410:    6(float) Load 212(uf)
-             411:    6(float) FMul 409 410
-             412:    6(float) Load 212(uf)
-             413:    6(float) FSub 411 412
-             414:    6(float) Load 212(uf)
-             415:    6(float) FDiv 413 414
-                              Store 188(f) 415
-             416:    7(fvec4) Load 9(v)
-             417:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 416
-             418:    6(float) Load 188(f)
-             419:    6(float) FAdd 418 417
-                              Store 188(f) 419
-             420:    7(fvec4) Load 9(v)
-             421:    7(fvec4) Load 9(v)
-             422:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 420 421
-             423:    6(float) Load 188(f)
-             424:    6(float) FAdd 423 422
-                              Store 188(f) 424
-             425:    7(fvec4) Load 9(v)
-             426:    7(fvec4) Load 9(v)
-             427:    6(float) Dot 425 426
-             428:    6(float) Load 188(f)
-             429:    6(float) FAdd 428 427
-                              Store 188(f) 429
-             430:    6(float) Load 188(f)
-             431:    6(float) Load 212(uf)
-             432:    6(float) FMul 430 431
-             433:    6(float) Load 188(f)
-             434:    6(float) FAdd 433 432
-                              Store 188(f) 434
-             436:    7(fvec4) Load 9(v)
-             437:  435(fvec3) VectorShuffle 436 436 0 1 2
-             438:    7(fvec4) Load 9(v)
-             439:  435(fvec3) VectorShuffle 438 438 0 1 2
-             440:  435(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 437 439
-             441:    6(float) CompositeExtract 440 0
-             442:    6(float) Load 188(f)
-             443:    6(float) FAdd 442 441
-                              Store 188(f) 443
-             444:    6(float) Load 188(f)
-             445:    6(float) Load 212(uf)
-             446:   178(bool) FOrdEqual 444 445
-             447:   178(bool) LogicalNot 446
+             277:     18(int) Load 22(ui)
+             278:     18(int) ExtInst 1(GLSL.std.450) 39(SMin) 276 277
+             279:     18(int) Load 20(i)
+             280:     18(int) IAdd 279 278
+                              Store 20(i) 280
+             281:     18(int) Load 20(i)
+             282:     18(int) Load 22(ui)
+             283:     18(int) ExtInst 1(GLSL.std.450) 42(SMax) 281 282
+             284:     18(int) Load 20(i)
+             285:     18(int) IAdd 284 283
+                              Store 20(i) 285
+             286:     18(int) Load 20(i)
+             287:     18(int) Load 22(ui)
+             288:     18(int) Load 22(ui)
+             289:     18(int) ExtInst 1(GLSL.std.450) 45(SClamp) 286 287 288
+             290:     18(int) Load 20(i)
+             291:     18(int) IAdd 290 289
+                              Store 20(i) 291
+             294:    141(int) Load 293(u)
+             297:    141(int) Load 296(uui)
+             298:    141(int) ExtInst 1(GLSL.std.450) 38(UMin) 294 297
+             299:    141(int) Load 293(u)
+             300:    141(int) IAdd 299 298
+                              Store 293(u) 300
+             301:    141(int) Load 293(u)
+             302:    141(int) Load 296(uui)
+             303:    141(int) ExtInst 1(GLSL.std.450) 41(UMax) 301 302
+             304:    141(int) Load 293(u)
+             305:    141(int) IAdd 304 303
+                              Store 293(u) 305
+             306:    141(int) Load 293(u)
+             307:    141(int) Load 296(uui)
+             308:    141(int) Load 296(uui)
+             309:    141(int) ExtInst 1(GLSL.std.450) 44(UClamp) 306 307 308
+             310:    141(int) Load 293(u)
+             311:    141(int) IAdd 310 309
+                              Store 293(u) 311
+             316:  312(ivec4) Load 314(uuv4)
+             317:  315(ivec3) VectorShuffle 316 316 0 1 2
+             318:  312(ivec4) Load 314(uuv4)
+             319:  315(ivec3) VectorShuffle 318 318 0 1 2
+             327:326(ResType) UMulExtended 317 319
+             328:  315(ivec3) CompositeExtract 327 0
+                              Store 325(swizzleTemp) 328
+             329:  315(ivec3) CompositeExtract 327 1
+                              Store 323(swizzleTemp) 329
+             330:  315(ivec3) Load 323(swizzleTemp)
+             331:    292(ptr) AccessChain 321(msb) 142
+             332:    141(int) CompositeExtract 330 0
+                              Store 331 332
+             334:    292(ptr) AccessChain 321(msb) 333
+             335:    141(int) CompositeExtract 330 1
+                              Store 334 335
+             337:    292(ptr) AccessChain 321(msb) 336
+             338:    141(int) CompositeExtract 330 2
+                              Store 337 338
+             339:  315(ivec3) Load 325(swizzleTemp)
+             340:    292(ptr) AccessChain 324(lsb) 142
+             341:    141(int) CompositeExtract 339 0
+                              Store 340 341
+             342:    292(ptr) AccessChain 324(lsb) 333
+             343:    141(int) CompositeExtract 339 1
+                              Store 342 343
+             344:    292(ptr) AccessChain 324(lsb) 336
+             345:    141(int) CompositeExtract 339 2
+                              Store 344 345
+             346:    292(ptr) AccessChain 321(msb) 142
+             347:    141(int) Load 346
+             348:    292(ptr) AccessChain 321(msb) 333
+             349:    141(int) Load 348
+             350:    141(int) IAdd 347 349
+             351:    292(ptr) AccessChain 321(msb) 336
+             352:    141(int) Load 351
+             353:    141(int) IAdd 350 352
+             354:    141(int) Load 293(u)
+             355:    141(int) IAdd 354 353
+                              Store 293(u) 355
+             356:    292(ptr) AccessChain 324(lsb) 142
+             357:    141(int) Load 356
+             358:    292(ptr) AccessChain 324(lsb) 333
+             359:    141(int) Load 358
+             360:    141(int) IAdd 357 359
+             361:    292(ptr) AccessChain 324(lsb) 336
+             362:    141(int) Load 361
+             363:    141(int) IAdd 360 362
+             364:    141(int) Load 293(u)
+             365:    141(int) IAdd 364 363
+                              Store 293(u) 365
+             368:    6(float) Load 220(uf)
+             369:   186(bool) IsNan 368
+                              Store 367(b) 369
+             370:    6(float) Load 196(f)
+             371:   186(bool) IsInf 370
+                              Store 367(b) 371
+             372:    7(fvec4) Load 9(v)
+             373:    7(fvec4) Load 11(uv4)
+             374:  187(bvec4) FOrdLessThan 372 373
+             375:   186(bool) Any 374
+                              Store 367(b) 375
+             376:   186(bool) Load 367(b)
+                              SelectionMerge 378 None
+                              BranchConditional 376 377 378
+             377:               Label
+             379:    7(fvec4)   Load 9(v)
+             380:    7(fvec4)   Load 11(uv4)
+             381:  187(bvec4)   FOrdLessThanEqual 379 380
+             382:   186(bool)   Any 381
+                                Branch 378
+             378:             Label
+             383:   186(bool) Phi 376 5 382 377
+                              Store 367(b) 383
+             384:   186(bool) Load 367(b)
+                              SelectionMerge 386 None
+                              BranchConditional 384 385 386
+             385:               Label
+             387:    7(fvec4)   Load 9(v)
+             388:    7(fvec4)   Load 11(uv4)
+             389:  187(bvec4)   FOrdGreaterThan 387 388
+             390:   186(bool)   Any 389
+                                Branch 386
+             386:             Label
+             391:   186(bool) Phi 384 378 390 385
+                              Store 367(b) 391
+             392:   186(bool) Load 367(b)
+                              SelectionMerge 394 None
+                              BranchConditional 392 393 394
+             393:               Label
+             395:    7(fvec4)   Load 9(v)
+             396:    7(fvec4)   Load 11(uv4)
+             397:  187(bvec4)   FOrdGreaterThanEqual 395 396
+             398:   186(bool)   Any 397
+                                Branch 394
+             394:             Label
+             399:   186(bool) Phi 392 386 398 393
+                              Store 367(b) 399
+             400:   186(bool) Load 367(b)
+                              SelectionMerge 402 None
+                              BranchConditional 400 401 402
+             401:               Label
+             403:  187(bvec4)   Load 189(ub41)
+             405:  187(bvec4)   Load 404(ub42)
+             406:  187(bvec4)   LogicalEqual 403 405
+             407:   186(bool)   Any 406
+                                Branch 402
+             402:             Label
+             408:   186(bool) Phi 400 394 407 401
+                              Store 367(b) 408
+             409:   186(bool) Load 367(b)
+                              SelectionMerge 411 None
+                              BranchConditional 409 410 411
+             410:               Label
+             412:  187(bvec4)   Load 189(ub41)
+             413:  187(bvec4)   Load 404(ub42)
+             414:  187(bvec4)   LogicalNotEqual 412 413
+             415:   186(bool)   Any 414
+                                Branch 411
+             411:             Label
+             416:   186(bool) Phi 409 402 415 410
+                              Store 367(b) 416
+             417:   186(bool) Load 367(b)
+             418:  187(bvec4) Load 189(ub41)
+             419:   186(bool) Any 418
+             420:   186(bool) LogicalAnd 417 419
+                              Store 367(b) 420
+             421:   186(bool) Load 367(b)
+             422:  187(bvec4) Load 189(ub41)
+             423:   186(bool) All 422
+             424:   186(bool) LogicalAnd 421 423
+                              Store 367(b) 424
+             425:   186(bool) Load 367(b)
+                              SelectionMerge 427 None
+                              BranchConditional 425 426 427
+             426:               Label
+             428:  187(bvec4)   Load 189(ub41)
+             429:  187(bvec4)   LogicalNot 428
+             430:   186(bool)   Any 429
+                                Branch 427
+             427:             Label
+             431:   186(bool) Phi 425 411 430 426
+                              Store 367(b) 431
+             432:     18(int) Load 20(i)
+             433:     18(int) Load 22(ui)
+             434:     18(int) IAdd 432 433
+             435:     18(int) Load 20(i)
+             436:     18(int) IMul 434 435
+             437:     18(int) Load 22(ui)
+             438:     18(int) ISub 436 437
+             439:     18(int) Load 20(i)
+             440:     18(int) SDiv 438 439
+                              Store 20(i) 440
+             441:     18(int) Load 20(i)
+             442:     18(int) Load 22(ui)
+             443:     18(int) SMod 441 442
+                              Store 20(i) 443
+             444:     18(int) Load 20(i)
+             445:     18(int) Load 22(ui)
+             446:   186(bool) IEqual 444 445
+             447:   186(bool) LogicalNot 446
                               SelectionMerge 449 None
                               BranchConditional 447 448 449
              448:               Label
-             450:    6(float)   Load 188(f)
-             451:    6(float)   Load 212(uf)
-             452:   178(bool)   FOrdNotEqual 450 451
-             453:    6(float)   Load 188(f)
-             455:   178(bool)   FOrdNotEqual 453 454
-             456:   178(bool)   LogicalAnd 452 455
+             450:     18(int)   Load 20(i)
+             451:     18(int)   Load 22(ui)
+             452:   186(bool)   INotEqual 450 451
+                                SelectionMerge 454 None
+                                BranchConditional 452 453 454
+             453:                 Label
+             455:     18(int)     Load 20(i)
+             456:     18(int)     Load 22(ui)
+             457:   186(bool)     IEqual 455 456
+                                  Branch 454
+             454:               Label
+             458:   186(bool)   Phi 452 448 457 453
+             459:     18(int)   Load 20(i)
+             461:   186(bool)   INotEqual 459 460
+             462:   186(bool)   LogicalNotEqual 458 461
                                 Branch 449
              449:             Label
-             457:   178(bool) Phi 446 403 456 448
-                              SelectionMerge 459 None
-                              BranchConditional 457 458 459
-             458:               Label
-             460:    6(float)   Load 188(f)
-             462:    6(float)   FAdd 460 461
-                                Store 188(f) 462
-                                Branch 459
-             459:             Label
-             463:     18(int) Load 22(ui)
-             464:     18(int) Load 20(i)
-             465:     18(int) BitwiseAnd 464 463
-                              Store 20(i) 465
-             467:     18(int) Load 20(i)
-             468:     18(int) BitwiseOr 467 466
-                              Store 20(i) 468
-             469:     18(int) Load 22(ui)
-             470:     18(int) Load 20(i)
-             471:     18(int) BitwiseXor 470 469
-                              Store 20(i) 471
-             473:     18(int) Load 20(i)
-             474:     18(int) SMod 473 472
-                              Store 20(i) 474
-             475:     18(int) Load 20(i)
-             476:     18(int) ShiftRightArithmetic 475 398
-                              Store 20(i) 476
-             477:     18(int) Load 22(ui)
-             478:     18(int) Load 20(i)
-             479:     18(int) ShiftLeftLogical 478 477
-                              Store 20(i) 479
-             480:     18(int) Load 20(i)
-             481:     18(int) Not 480
-                              Store 20(i) 481
-             482:   178(bool) Load 305(b)
-             483:   178(bool) LogicalNot 482
-                              Store 305(b) 483
-             486:   178(bool) Load 305(b)
-                              SelectionMerge 489 None
-                              BranchConditional 486 488 498
-             488:               Label
-             490:     18(int)   Load 20(i)
-             491:    6(float)   ConvertSToF 490
-             492:    7(fvec4)   CompositeConstruct 491 491 491 491
-             493:    6(float)   Load 188(f)
-             494:    7(fvec4)   CompositeConstruct 493 493 493 493
-             495:    7(fvec4)   FAdd 492 494
-             496:    7(fvec4)   Load 9(v)
-             497:    7(fvec4)   FAdd 495 496
-                                Store 487 497
-                                Branch 489
-             498:               Label
-             499:    7(fvec4)   Load 9(v)
-                                Store 487 499
-                                Branch 489
-             489:             Label
-             500:    7(fvec4) Load 487
-                              Store 485(FragColor) 500
-                              Store 503(m1) 509
-                              Store 510(m2) 512
-             513:   178(bool) Load 305(b)
-                              SelectionMerge 516 None
-                              BranchConditional 513 515 518
-             515:               Label
-             517:         501   Load 503(m1)
-                                Store 514 517
-                                Branch 516
-             518:               Label
-             519:         501   Load 510(m2)
-                                Store 514 519
-                                Branch 516
-             516:             Label
-             520:      8(ptr) AccessChain 514 405
-             521:    7(fvec4) Load 520
-             522:    7(fvec4) Load 485(FragColor)
-             523:    7(fvec4) FAdd 522 521
-                              Store 485(FragColor) 523
+             463:   186(bool) Phi 446 427 462 454
+                              SelectionMerge 465 None
+                              BranchConditional 463 464 465
+             464:               Label
+             466:     18(int)   Load 20(i)
+             468:     18(int)   IAdd 466 467
+                                Store 20(i) 468
+                                Branch 465
+             465:             Label
+             469:    6(float) Load 220(uf)
+             470:    6(float) Load 220(uf)
+             471:    6(float) FAdd 469 470
+             472:    6(float) Load 220(uf)
+             473:    6(float) FMul 471 472
+             474:    6(float) Load 220(uf)
+             475:    6(float) FSub 473 474
+             476:    6(float) Load 220(uf)
+             477:    6(float) FDiv 475 476
+                              Store 196(f) 477
+             478:    7(fvec4) Load 9(v)
+             479:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 478
+             480:    6(float) Load 196(f)
+             481:    6(float) FAdd 480 479
+                              Store 196(f) 481
+             482:    7(fvec4) Load 9(v)
+             483:    7(fvec4) Load 9(v)
+             484:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 482 483
+             485:    6(float) Load 196(f)
+             486:    6(float) FAdd 485 484
+                              Store 196(f) 486
+             487:    7(fvec4) Load 9(v)
+             488:    7(fvec4) Load 9(v)
+             489:    6(float) Dot 487 488
+             490:    6(float) Load 196(f)
+             491:    6(float) FAdd 490 489
+                              Store 196(f) 491
+             492:    6(float) Load 196(f)
+             493:    6(float) Load 220(uf)
+             494:    6(float) FMul 492 493
+             495:    6(float) Load 196(f)
+             496:    6(float) FAdd 495 494
+                              Store 196(f) 496
+             498:    7(fvec4) Load 9(v)
+             499:  497(fvec3) VectorShuffle 498 498 0 1 2
+             500:    7(fvec4) Load 9(v)
+             501:  497(fvec3) VectorShuffle 500 500 0 1 2
+             502:  497(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 499 501
+             503:    6(float) CompositeExtract 502 0
+             504:    6(float) Load 196(f)
+             505:    6(float) FAdd 504 503
+                              Store 196(f) 505
+             506:    6(float) Load 196(f)
+             507:    6(float) Load 220(uf)
+             508:   186(bool) FOrdEqual 506 507
+             509:   186(bool) LogicalNot 508
+                              SelectionMerge 511 None
+                              BranchConditional 509 510 511
+             510:               Label
+             512:    6(float)   Load 196(f)
+             513:    6(float)   Load 220(uf)
+             514:   186(bool)   FUnordNotEqual 512 513
+             515:    6(float)   Load 196(f)
+             517:   186(bool)   FUnordNotEqual 515 516
+             518:   186(bool)   LogicalAnd 514 517
+                                Branch 511
+             511:             Label
+             519:   186(bool) Phi 508 465 518 510
+                              SelectionMerge 521 None
+                              BranchConditional 519 520 521
+             520:               Label
+             522:    6(float)   Load 196(f)
+             524:    6(float)   FAdd 522 523
+                                Store 196(f) 524
+                                Branch 521
+             521:             Label
+             525:     18(int) Load 22(ui)
+             526:     18(int) Load 20(i)
+             527:     18(int) BitwiseAnd 526 525
+                              Store 20(i) 527
+             529:     18(int) Load 20(i)
+             530:     18(int) BitwiseOr 529 528
+                              Store 20(i) 530
+             531:     18(int) Load 22(ui)
+             532:     18(int) Load 20(i)
+             533:     18(int) BitwiseXor 532 531
+                              Store 20(i) 533
+             535:     18(int) Load 20(i)
+             536:     18(int) SMod 535 534
+                              Store 20(i) 536
+             537:     18(int) Load 20(i)
+             538:     18(int) ShiftRightArithmetic 537 460
+                              Store 20(i) 538
+             539:     18(int) Load 22(ui)
+             540:     18(int) Load 20(i)
+             541:     18(int) ShiftLeftLogical 540 539
+                              Store 20(i) 541
+             542:     18(int) Load 20(i)
+             543:     18(int) Not 542
+                              Store 20(i) 543
+             544:   186(bool) Load 367(b)
+             545:   186(bool) LogicalNot 544
+                              Store 367(b) 545
+             548:   186(bool) Load 367(b)
+                              SelectionMerge 551 None
+                              BranchConditional 548 550 560
+             550:               Label
+             552:     18(int)   Load 20(i)
+             553:    6(float)   ConvertSToF 552
+             554:    7(fvec4)   CompositeConstruct 553 553 553 553
+             555:    6(float)   Load 196(f)
+             556:    7(fvec4)   CompositeConstruct 555 555 555 555
+             557:    7(fvec4)   FAdd 554 556
+             558:    7(fvec4)   Load 9(v)
+             559:    7(fvec4)   FAdd 557 558
+                                Store 549 559
+                                Branch 551
+             560:               Label
+             561:    7(fvec4)   Load 9(v)
+                                Store 549 561
+                                Branch 551
+             551:             Label
+             562:    7(fvec4) Load 549
+                              Store 547(FragColor) 562
+                              Store 565(m1) 571
+                              Store 572(m2) 574
+             575:   186(bool) Load 367(b)
+                              SelectionMerge 578 None
+                              BranchConditional 575 577 580
+             577:               Label
+             579:         563   Load 565(m1)
+                                Store 576 579
+                                Branch 578
+             580:               Label
+             581:         563   Load 572(m2)
+                                Store 576 581
+                                Branch 578
+             578:             Label
+             582:      8(ptr) AccessChain 576 467
+             583:    7(fvec4) Load 582
+             584:    7(fvec4) Load 547(FragColor)
+             585:    7(fvec4) FAdd 584 583
+                              Store 547(FragColor) 585
                               Return
                               FunctionEnd