spv.types.frag

Linked fragment stage:


// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 268

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 94 104 114 124 134 144 154 164
                              ExecutionMode 4 OriginLowerLeft
                              Source GLSL 130
                              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 94  "i_i"
                              Name 99  "i2"
                              Name 101  "u_i2"
                              Name 104  "i_i2"
                              Name 109  "i3"
                              Name 111  "u_i3"
                              Name 114  "i_i3"
                              Name 119  "i4"
                              Name 121  "u_i4"
                              Name 124  "i_i4"
                              Name 129  "f"
                              Name 131  "u_f"
                              Name 134  "i_f"
                              Name 139  "f2"
                              Name 141  "u_f2"
                              Name 144  "i_f2"
                              Name 149  "f3"
                              Name 151  "u_f3"
                              Name 154  "i_f3"
                              Name 159  "f4"
                              Name 161  "u_f4"
                              Name 164  "i_f4"
                              Name 168  "gl_FragColor"
                              Decorate 94(i_i) Flat
                              Decorate 104(i_i2) Flat
                              Decorate 114(i_i3) Flat
                              Decorate 124(i_i4) Flat
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeBool
               7:             TypePointer Function 6(bool)
               9:             TypePointer UniformConstant 6(bool)
         10(u_b):      9(ptr) Variable UniformConstant
         12(i_b):      9(ptr) Variable UniformConstant
              15:             TypeVector 6(bool) 2
              16:             TypePointer Function 15(bvec2)
              18:             TypePointer UniformConstant 15(bvec2)
        19(u_b2):     18(ptr) Variable UniformConstant
        22(i_b2):     18(ptr) Variable UniformConstant
              33:             TypeVector 6(bool) 3
              34:             TypePointer Function 33(bvec3)
              36:             TypePointer UniformConstant 33(bvec3)
        37(u_b3):     36(ptr) Variable UniformConstant
        40(i_b3):     36(ptr) Variable UniformConstant
              57:             TypeVector 6(bool) 4
              58:             TypePointer Function 57(bvec4)
              60:             TypePointer UniformConstant 57(bvec4)
        61(u_b4):     60(ptr) Variable UniformConstant
        64(i_b4):     60(ptr) Variable UniformConstant
              87:             TypeInt 32 1
              88:             TypePointer Function 87(int)
              90:             TypePointer UniformConstant 87(int)
         91(u_i):     90(ptr) Variable UniformConstant
              93:             TypePointer Input 87(int)
         94(i_i):     93(ptr) Variable Input
              97:             TypeVector 87(int) 2
              98:             TypePointer Function 97(ivec2)
             100:             TypePointer UniformConstant 97(ivec2)
       101(u_i2):    100(ptr) Variable UniformConstant
             103:             TypePointer Input 97(ivec2)
       104(i_i2):    103(ptr) Variable Input
             107:             TypeVector 87(int) 3
             108:             TypePointer Function 107(ivec3)
             110:             TypePointer UniformConstant 107(ivec3)
       111(u_i3):    110(ptr) Variable UniformConstant
             113:             TypePointer Input 107(ivec3)
       114(i_i3):    113(ptr) Variable Input
             117:             TypeVector 87(int) 4
             118:             TypePointer Function 117(ivec4)
             120:             TypePointer UniformConstant 117(ivec4)
       121(u_i4):    120(ptr) Variable UniformConstant
             123:             TypePointer Input 117(ivec4)
       124(i_i4):    123(ptr) Variable Input
             127:             TypeFloat 32
             128:             TypePointer Function 127(float)
             130:             TypePointer UniformConstant 127(float)
        131(u_f):    130(ptr) Variable UniformConstant
             133:             TypePointer Input 127(float)
        134(i_f):    133(ptr) Variable Input
             137:             TypeVector 127(float) 2
             138:             TypePointer Function 137(fvec2)
             140:             TypePointer UniformConstant 137(fvec2)
       141(u_f2):    140(ptr) Variable UniformConstant
             143:             TypePointer Input 137(fvec2)
       144(i_f2):    143(ptr) Variable Input
             147:             TypeVector 127(float) 3
             148:             TypePointer Function 147(fvec3)
             150:             TypePointer UniformConstant 147(fvec3)
       151(u_f3):    150(ptr) Variable UniformConstant
             153:             TypePointer Input 147(fvec3)
       154(i_f3):    153(ptr) Variable Input
             157:             TypeVector 127(float) 4
             158:             TypePointer Function 157(fvec4)
             160:             TypePointer UniformConstant 157(fvec4)
       161(u_f4):    160(ptr) Variable UniformConstant
             163:             TypePointer Input 157(fvec4)
       164(i_f4):    163(ptr) Variable Input
             167:             TypePointer Output 157(fvec4)
168(gl_FragColor):    167(ptr) Variable Output
             201:             TypeInt 32 0
             202:    201(int) Constant 0
             206:    201(int) Constant 1
             216:    201(int) Constant 2
             229:    201(int) Constant 3
             265:  127(float) Constant 1065353216
             266:  157(fvec4) ConstantComposite 265 265 265 265
         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
          99(i2):     98(ptr) Variable Function
         109(i3):    108(ptr) Variable Function
         119(i4):    118(ptr) Variable Function
          129(f):    128(ptr) Variable Function
         139(f2):    138(ptr) Variable Function
         149(f3):    148(ptr) Variable Function
         159(f4):    158(ptr) Variable Function
             169:    158(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)
              95:     87(int) Load 94(i_i)
              96:     87(int) IAdd 92 95
                              Store 89(i) 96
             102:   97(ivec2) Load 101(u_i2)
             105:   97(ivec2) Load 104(i_i2)
             106:   97(ivec2) IAdd 102 105
                              Store 99(i2) 106
             112:  107(ivec3) Load 111(u_i3)
             115:  107(ivec3) Load 114(i_i3)
             116:  107(ivec3) IAdd 112 115
                              Store 109(i3) 116
             122:  117(ivec4) Load 121(u_i4)
             125:  117(ivec4) Load 124(i_i4)
             126:  117(ivec4) IAdd 122 125
                              Store 119(i4) 126
             132:  127(float) Load 131(u_f)
             135:  127(float) Load 134(i_f)
             136:  127(float) FAdd 132 135
                              Store 129(f) 136
             142:  137(fvec2) Load 141(u_f2)
             145:  137(fvec2) Load 144(i_f2)
             146:  137(fvec2) FAdd 142 145
                              Store 139(f2) 146
             152:  147(fvec3) Load 151(u_f3)
             155:  147(fvec3) Load 154(i_f3)
             156:  147(fvec3) FAdd 152 155
                              Store 149(f3) 156
             162:  157(fvec4) Load 161(u_f4)
             165:  157(fvec4) Load 164(i_f4)
             166:  157(fvec4) FAdd 162 165
                              Store 159(f4) 166
             170:     6(bool) Load 8(b)
             171:   15(bvec2) Load 17(b2)
             172:     6(bool) CompositeExtract 171 0
             173:     6(bool) LogicalOr 170 172
             174:   15(bvec2) Load 17(b2)
             175:     6(bool) CompositeExtract 174 1
             176:     6(bool) LogicalOr 173 175
             177:   33(bvec3) Load 35(b3)
             178:     6(bool) CompositeExtract 177 0
             179:     6(bool) LogicalOr 176 178
             180:   33(bvec3) Load 35(b3)
             181:     6(bool) CompositeExtract 180 1
             182:     6(bool) LogicalOr 179 181
             183:   33(bvec3) Load 35(b3)
             184:     6(bool) CompositeExtract 183 2
             185:     6(bool) LogicalOr 182 184
             186:   57(bvec4) Load 59(b4)
             187:     6(bool) CompositeExtract 186 0
             188:     6(bool) LogicalOr 185 187
             189:   57(bvec4) Load 59(b4)
             190:     6(bool) CompositeExtract 189 1
             191:     6(bool) LogicalOr 188 190
             192:   57(bvec4) Load 59(b4)
             193:     6(bool) CompositeExtract 192 2
             194:     6(bool) LogicalOr 191 193
             195:   57(bvec4) Load 59(b4)
             196:     6(bool) CompositeExtract 195 3
             197:     6(bool) LogicalOr 194 196
                              SelectionMerge 199 None
                              BranchConditional 197 198 264
             198:               Label
             200:     87(int)   Load 89(i)
             203:     88(ptr)   AccessChain 99(i2) 202
             204:     87(int)   Load 203
             205:     87(int)   IAdd 200 204
             207:     88(ptr)   AccessChain 99(i2) 206
             208:     87(int)   Load 207
             209:     87(int)   IAdd 205 208
             210:     88(ptr)   AccessChain 109(i3) 202
             211:     87(int)   Load 210
             212:     87(int)   IAdd 209 211
             213:     88(ptr)   AccessChain 109(i3) 206
             214:     87(int)   Load 213
             215:     87(int)   IAdd 212 214
             217:     88(ptr)   AccessChain 109(i3) 216
             218:     87(int)   Load 217
             219:     87(int)   IAdd 215 218
             220:     88(ptr)   AccessChain 119(i4) 202
             221:     87(int)   Load 220
             222:     87(int)   IAdd 219 221
             223:     88(ptr)   AccessChain 119(i4) 206
             224:     87(int)   Load 223
             225:     87(int)   IAdd 222 224
             226:     88(ptr)   AccessChain 119(i4) 216
             227:     87(int)   Load 226
             228:     87(int)   IAdd 225 227
             230:     88(ptr)   AccessChain 119(i4) 229
             231:     87(int)   Load 230
             232:     87(int)   IAdd 228 231
             233:  127(float)   ConvertSToF 232
             234:  127(float)   Load 129(f)
             235:  127(float)   FAdd 233 234
             236:    128(ptr)   AccessChain 139(f2) 202
             237:  127(float)   Load 236
             238:  127(float)   FAdd 235 237
             239:    128(ptr)   AccessChain 139(f2) 206
             240:  127(float)   Load 239
             241:  127(float)   FAdd 238 240
             242:    128(ptr)   AccessChain 149(f3) 202
             243:  127(float)   Load 242
             244:  127(float)   FAdd 241 243
             245:    128(ptr)   AccessChain 149(f3) 206
             246:  127(float)   Load 245
             247:  127(float)   FAdd 244 246
             248:    128(ptr)   AccessChain 149(f3) 216
             249:  127(float)   Load 248
             250:  127(float)   FAdd 247 249
             251:    128(ptr)   AccessChain 159(f4) 202
             252:  127(float)   Load 251
             253:  127(float)   FAdd 250 252
             254:    128(ptr)   AccessChain 159(f4) 206
             255:  127(float)   Load 254
             256:  127(float)   FAdd 253 255
             257:    128(ptr)   AccessChain 159(f4) 216
             258:  127(float)   Load 257
             259:  127(float)   FAdd 256 258
             260:    128(ptr)   AccessChain 159(f4) 229
             261:  127(float)   Load 260
             262:  127(float)   FAdd 259 261
             263:  157(fvec4)   CompositeConstruct 262 262 262 262
                                Store 169 263
                                Branch 199
             264:               Label
                                Store 169 266
                                Branch 199
             199:             Label
             267:  157(fvec4) Load 169
                              Store 168(gl_FragColor) 267
                              Return
                              FunctionEnd
