spv.matrix.float16.frag // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 342 Capability Shader Capability Float16 Capability Float64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 14 339 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16" Name 4 "main" Name 10 "m1" Name 14 "src" Name 27 "m2" Name 37 "f" Name 44 "v3" Name 51 "v4" Name 56 "sum34" Name 180 "dm" Name 197 "sum3" Name 201 "sum4" Name 207 "m43" Name 212 "m4" Name 219 "acc" Name 317 "grown" Name 339 "color" Decorate 14(src) Location 0 Decorate 339(color) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 7: TypeVector 6(float16_t) 4 8: TypeMatrix 7(f16vec4) 3 9: TypePointer Function 8 11: TypeFloat 32 12: TypeVector 11(float) 4 13: TypePointer Input 12(fvec4) 14(src): 13(ptr) Variable Input 15: TypeInt 32 0 16: 15(int) Constant 0 17: TypePointer Input 11(float) 21:6(float16_t) Constant 15360 22:6(float16_t) Constant 0 28: 15(int) Constant 1 36: TypePointer Function 6(float16_t) 38: 15(int) Constant 2 42: TypeVector 6(float16_t) 3 43: TypePointer Function 42(f16vec3) 45: 15(int) Constant 3 50: TypePointer Function 7(f16vec4) 176: TypeFloat 64 177: TypeVector 176(float64_t) 4 178: TypeMatrix 177(f64vec4) 3 179: TypePointer Function 178 205: TypeMatrix 42(f16vec3) 4 206: TypePointer Function 205 210: TypeMatrix 7(f16vec4) 4 211: TypePointer Function 210 301: TypeVector 6(float16_t) 2 302: TypeMatrix 301(f16vec2) 2 310:6(float16_t) Constant 18227 331: TypeInt 32 1 332: 331(int) Constant 3 338: TypePointer Output 12(fvec4) 339(color): 338(ptr) Variable Output 4(main): 2 Function None 3 5: Label 10(m1): 9(ptr) Variable Function 27(m2): 9(ptr) Variable Function 37(f): 36(ptr) Variable Function 44(v3): 43(ptr) Variable Function 51(v4): 50(ptr) Variable Function 56(sum34): 9(ptr) Variable Function 180(dm): 179(ptr) Variable Function 197(sum3): 43(ptr) Variable Function 201(sum4): 50(ptr) Variable Function 207(m43): 206(ptr) Variable Function 212(m4): 211(ptr) Variable Function 219(acc): 50(ptr) Variable Function 317(grown): 211(ptr) Variable Function 18: 17(ptr) AccessChain 14(src) 16 19: 11(float) Load 18 20:6(float16_t) FConvert 19 23: 7(f16vec4) CompositeConstruct 20 22 22 22 24: 7(f16vec4) CompositeConstruct 22 20 22 22 25: 7(f16vec4) CompositeConstruct 22 22 20 22 26: 8 CompositeConstruct 23 24 25 Store 10(m1) 26 29: 17(ptr) AccessChain 14(src) 28 30: 11(float) Load 29 31:6(float16_t) FConvert 30 32: 7(f16vec4) CompositeConstruct 31 22 22 22 33: 7(f16vec4) CompositeConstruct 22 31 22 22 34: 7(f16vec4) CompositeConstruct 22 22 31 22 35: 8 CompositeConstruct 32 33 34 Store 27(m2) 35 39: 17(ptr) AccessChain 14(src) 38 40: 11(float) Load 39 41:6(float16_t) FConvert 40 Store 37(f) 41 46: 17(ptr) AccessChain 14(src) 45 47: 11(float) Load 46 48:6(float16_t) FConvert 47 49: 42(f16vec3) CompositeConstruct 48 48 48 Store 44(v3) 49 52: 17(ptr) AccessChain 14(src) 16 53: 11(float) Load 52 54:6(float16_t) FConvert 53 55: 7(f16vec4) CompositeConstruct 54 54 54 54 Store 51(v4) 55 57: 8 Load 10(m1) 58: 8 Load 27(m2) 59: 7(f16vec4) CompositeExtract 57 0 60: 7(f16vec4) CompositeExtract 58 0 61: 7(f16vec4) FSub 59 60 62: 7(f16vec4) CompositeExtract 57 1 63: 7(f16vec4) CompositeExtract 58 1 64: 7(f16vec4) FSub 62 63 65: 7(f16vec4) CompositeExtract 57 2 66: 7(f16vec4) CompositeExtract 58 2 67: 7(f16vec4) FSub 65 66 68: 8 CompositeConstruct 61 64 67 Store 56(sum34) 68 69: 8 Load 10(m1) 70:6(float16_t) Load 37(f) 71: 8 MatrixTimesScalar 69 70 72: 8 Load 56(sum34) 73: 7(f16vec4) CompositeExtract 72 0 74: 7(f16vec4) CompositeExtract 71 0 75: 7(f16vec4) FAdd 73 74 76: 7(f16vec4) CompositeExtract 72 1 77: 7(f16vec4) CompositeExtract 71 1 78: 7(f16vec4) FAdd 76 77 79: 7(f16vec4) CompositeExtract 72 2 80: 7(f16vec4) CompositeExtract 71 2 81: 7(f16vec4) FAdd 79 80 82: 8 CompositeConstruct 75 78 81 Store 56(sum34) 82 83:6(float16_t) Load 37(f) 84: 8 Load 10(m1) 85: 8 MatrixTimesScalar 84 83 86: 8 Load 56(sum34) 87: 7(f16vec4) CompositeExtract 86 0 88: 7(f16vec4) CompositeExtract 85 0 89: 7(f16vec4) FAdd 87 88 90: 7(f16vec4) CompositeExtract 86 1 91: 7(f16vec4) CompositeExtract 85 1 92: 7(f16vec4) FAdd 90 91 93: 7(f16vec4) CompositeExtract 86 2 94: 7(f16vec4) CompositeExtract 85 2 95: 7(f16vec4) FAdd 93 94 96: 8 CompositeConstruct 89 92 95 Store 56(sum34) 96 97: 8 Load 10(m1) 98: 8 Load 27(m2) 99: 7(f16vec4) CompositeExtract 97 0 100: 7(f16vec4) CompositeExtract 98 0 101: 7(f16vec4) FMul 99 100 102: 7(f16vec4) CompositeExtract 97 1 103: 7(f16vec4) CompositeExtract 98 1 104: 7(f16vec4) FMul 102 103 105: 7(f16vec4) CompositeExtract 97 2 106: 7(f16vec4) CompositeExtract 98 2 107: 7(f16vec4) FMul 105 106 108: 8 CompositeConstruct 101 104 107 109: 8 Load 56(sum34) 110: 7(f16vec4) CompositeExtract 109 0 111: 7(f16vec4) CompositeExtract 108 0 112: 7(f16vec4) FDiv 110 111 113: 7(f16vec4) CompositeExtract 109 1 114: 7(f16vec4) CompositeExtract 108 1 115: 7(f16vec4) FDiv 113 114 116: 7(f16vec4) CompositeExtract 109 2 117: 7(f16vec4) CompositeExtract 108 2 118: 7(f16vec4) FDiv 116 117 119: 8 CompositeConstruct 112 115 118 Store 56(sum34) 119 120: 8 Load 10(m1) 121:6(float16_t) Load 37(f) 122:6(float16_t) FDiv 21 121 123: 8 MatrixTimesScalar 120 122 124: 8 Load 56(sum34) 125: 7(f16vec4) CompositeExtract 124 0 126: 7(f16vec4) CompositeExtract 123 0 127: 7(f16vec4) FAdd 125 126 128: 7(f16vec4) CompositeExtract 124 1 129: 7(f16vec4) CompositeExtract 123 1 130: 7(f16vec4) FAdd 128 129 131: 7(f16vec4) CompositeExtract 124 2 132: 7(f16vec4) CompositeExtract 123 2 133: 7(f16vec4) FAdd 131 132 134: 8 CompositeConstruct 127 130 133 Store 56(sum34) 134 135:6(float16_t) Load 37(f) 136: 8 Load 10(m1) 137: 7(f16vec4) CompositeConstruct 135 135 135 135 138: 7(f16vec4) CompositeExtract 136 0 139: 7(f16vec4) FDiv 137 138 140: 7(f16vec4) CompositeExtract 136 1 141: 7(f16vec4) FDiv 137 140 142: 7(f16vec4) CompositeExtract 136 2 143: 7(f16vec4) FDiv 137 142 144: 8 CompositeConstruct 139 141 143 145: 8 Load 56(sum34) 146: 7(f16vec4) CompositeExtract 145 0 147: 7(f16vec4) CompositeExtract 144 0 148: 7(f16vec4) FAdd 146 147 149: 7(f16vec4) CompositeExtract 145 1 150: 7(f16vec4) CompositeExtract 144 1 151: 7(f16vec4) FAdd 149 150 152: 7(f16vec4) CompositeExtract 145 2 153: 7(f16vec4) CompositeExtract 144 2 154: 7(f16vec4) FAdd 152 153 155: 8 CompositeConstruct 148 151 154 Store 56(sum34) 155 156:6(float16_t) Load 37(f) 157: 8 Load 56(sum34) 158: 7(f16vec4) CompositeConstruct 156 156 156 156 159: 7(f16vec4) CompositeExtract 157 0 160: 7(f16vec4) FAdd 159 158 161: 7(f16vec4) CompositeExtract 157 1 162: 7(f16vec4) FAdd 161 158 163: 7(f16vec4) CompositeExtract 157 2 164: 7(f16vec4) FAdd 163 158 165: 8 CompositeConstruct 160 162 164 Store 56(sum34) 165 166:6(float16_t) Load 37(f) 167: 8 Load 56(sum34) 168: 7(f16vec4) CompositeConstruct 166 166 166 166 169: 7(f16vec4) CompositeExtract 167 0 170: 7(f16vec4) FSub 169 168 171: 7(f16vec4) CompositeExtract 167 1 172: 7(f16vec4) FSub 171 168 173: 7(f16vec4) CompositeExtract 167 2 174: 7(f16vec4) FSub 173 168 175: 8 CompositeConstruct 170 172 174 Store 56(sum34) 175 181: 8 Load 56(sum34) 182: 7(f16vec4) CompositeExtract 181 0 183:177(f64vec4) FConvert 182 184: 7(f16vec4) CompositeExtract 181 1 185:177(f64vec4) FConvert 184 186: 7(f16vec4) CompositeExtract 181 2 187:177(f64vec4) FConvert 186 188: 178 CompositeConstruct 183 185 187 Store 180(dm) 188 189: 178 Load 180(dm) 190:177(f64vec4) CompositeExtract 189 0 191: 7(f16vec4) FConvert 190 192:177(f64vec4) CompositeExtract 189 1 193: 7(f16vec4) FConvert 192 194:177(f64vec4) CompositeExtract 189 2 195: 7(f16vec4) FConvert 194 196: 8 CompositeConstruct 191 193 195 Store 56(sum34) 196 198: 7(f16vec4) Load 51(v4) 199: 8 Load 27(m2) 200: 42(f16vec3) VectorTimesMatrix 198 199 Store 197(sum3) 200 202: 8 Load 27(m2) 203: 42(f16vec3) Load 44(v3) 204: 7(f16vec4) MatrixTimesVector 202 203 Store 201(sum4) 204 208: 8 Load 56(sum34) 209: 205 Transpose 208 Store 207(m43) 209 213: 8 Load 10(m1) 214: 205 Load 207(m43) 215: 210 MatrixTimesMatrix 213 214 Store 212(m4) 215 216: 7(f16vec4) Load 51(v4) 217: 210 Load 212(m4) 218: 7(f16vec4) VectorTimesMatrix 216 217 Store 201(sum4) 218 220: 7(f16vec4) Load 201(sum4) Store 219(acc) 220 221: 8 Load 56(sum34) 222: 7(f16vec4) CompositeConstruct 21 21 21 21 223: 7(f16vec4) CompositeExtract 221 0 224: 7(f16vec4) FAdd 223 222 225: 7(f16vec4) CompositeExtract 221 1 226: 7(f16vec4) FAdd 225 222 227: 7(f16vec4) CompositeExtract 221 2 228: 7(f16vec4) FAdd 227 222 229: 8 CompositeConstruct 224 226 228 Store 56(sum34) 229 230: 8 Load 56(sum34) 231: 7(f16vec4) CompositeConstruct 21 21 21 21 232: 7(f16vec4) CompositeExtract 230 0 233: 7(f16vec4) FSub 232 231 234: 7(f16vec4) CompositeExtract 230 1 235: 7(f16vec4) FSub 234 231 236: 7(f16vec4) CompositeExtract 230 2 237: 7(f16vec4) FSub 236 231 238: 8 CompositeConstruct 233 235 237 Store 56(sum34) 238 239:6(float16_t) Load 37(f) 240: 7(f16vec4) CompositeConstruct 239 22 22 22 241: 7(f16vec4) CompositeConstruct 22 239 22 22 242: 7(f16vec4) CompositeConstruct 22 22 239 22 243: 8 CompositeConstruct 240 241 242 244: 8 Load 56(sum34) 245: 7(f16vec4) CompositeExtract 244 0 246: 7(f16vec4) CompositeExtract 243 0 247: 7(f16vec4) FAdd 245 246 248: 7(f16vec4) CompositeExtract 244 1 249: 7(f16vec4) CompositeExtract 243 1 250: 7(f16vec4) FAdd 248 249 251: 7(f16vec4) CompositeExtract 244 2 252: 7(f16vec4) CompositeExtract 243 2 253: 7(f16vec4) FAdd 251 252 254: 8 CompositeConstruct 247 250 253 Store 56(sum34) 254 255: 42(f16vec3) Load 44(v3) 256:6(float16_t) Load 37(f) 257: 42(f16vec3) Load 44(v3) 258:6(float16_t) Load 37(f) 259: 42(f16vec3) Load 44(v3) 260:6(float16_t) Load 37(f) 261:6(float16_t) CompositeExtract 255 0 262:6(float16_t) CompositeExtract 255 1 263:6(float16_t) CompositeExtract 255 2 264:6(float16_t) CompositeExtract 257 0 265:6(float16_t) CompositeExtract 257 1 266:6(float16_t) CompositeExtract 257 2 267:6(float16_t) CompositeExtract 259 0 268:6(float16_t) CompositeExtract 259 1 269:6(float16_t) CompositeExtract 259 2 270: 7(f16vec4) CompositeConstruct 261 262 263 256 271: 7(f16vec4) CompositeConstruct 264 265 266 258 272: 7(f16vec4) CompositeConstruct 267 268 269 260 273: 8 CompositeConstruct 270 271 272 274: 8 Load 56(sum34) 275: 7(f16vec4) CompositeExtract 274 0 276: 7(f16vec4) CompositeExtract 273 0 277: 7(f16vec4) FAdd 275 276 278: 7(f16vec4) CompositeExtract 274 1 279: 7(f16vec4) CompositeExtract 273 1 280: 7(f16vec4) FAdd 278 279 281: 7(f16vec4) CompositeExtract 274 2 282: 7(f16vec4) CompositeExtract 273 2 283: 7(f16vec4) FAdd 281 282 284: 8 CompositeConstruct 277 280 283 Store 56(sum34) 284 285: 42(f16vec3) Load 197(sum3) 286: 205 Load 207(m43) 287: 7(f16vec4) VectorTimesMatrix 285 286 288: 7(f16vec4) Load 201(sum4) 289: 7(f16vec4) FAdd 287 288 290: 7(f16vec4) Load 219(acc) 291: 7(f16vec4) FAdd 290 289 Store 219(acc) 291 292: 205 Load 207(m43) 293:6(float16_t) CompositeExtract 292 0 0 294:6(float16_t) CompositeExtract 292 0 1 295:6(float16_t) CompositeExtract 292 0 2 296:6(float16_t) CompositeExtract 292 1 0 297: 7(f16vec4) CompositeConstruct 293 294 295 296 298: 7(f16vec4) Load 219(acc) 299: 7(f16vec4) FAdd 298 297 Store 219(acc) 299 300:6(float16_t) Load 37(f) 303:301(f16vec2) CompositeConstruct 300 22 304:301(f16vec2) CompositeConstruct 22 300 305: 302 CompositeConstruct 303 304 306:6(float16_t) CompositeExtract 305 0 0 307:6(float16_t) CompositeExtract 305 0 1 308:6(float16_t) CompositeExtract 305 1 0 309: 42(f16vec3) CompositeConstruct 306 307 308 311:6(float16_t) CompositeExtract 309 0 312:6(float16_t) CompositeExtract 309 1 313:6(float16_t) CompositeExtract 309 2 314: 7(f16vec4) CompositeConstruct 311 312 313 310 315: 7(f16vec4) Load 219(acc) 316: 7(f16vec4) FAdd 315 314 Store 219(acc) 316 318:6(float16_t) Load 37(f) 319:301(f16vec2) CompositeConstruct 318 22 320:301(f16vec2) CompositeConstruct 22 318 321: 302 CompositeConstruct 319 320 322:6(float16_t) CompositeExtract 321 0 0 323:6(float16_t) CompositeExtract 321 0 1 324:6(float16_t) CompositeExtract 321 1 0 325:6(float16_t) CompositeExtract 321 1 1 326: 7(f16vec4) CompositeConstruct 322 323 22 22 327: 7(f16vec4) CompositeConstruct 324 325 22 22 328: 7(f16vec4) CompositeConstruct 22 22 21 22 329: 7(f16vec4) CompositeConstruct 22 22 22 21 330: 210 CompositeConstruct 326 327 328 329 Store 317(grown) 330 333: 36(ptr) AccessChain 317(grown) 332 45 334:6(float16_t) Load 333 335: 7(f16vec4) CompositeConstruct 334 334 334 334 336: 7(f16vec4) Load 219(acc) 337: 7(f16vec4) FAdd 336 335 Store 219(acc) 337 340: 7(f16vec4) Load 219(acc) 341: 12(fvec4) FConvert 340 Store 339(color) 341 Return FunctionEnd