1spv.intOps.vert 2// Module Version 10000 3// Generated by (magic number): 8000b 4// Id's are bound by 302 5 6 Capability Shader 7 1: ExtInstImport "GLSL.std.450" 8 MemoryModel Logical GLSL450 9 EntryPoint Vertex 4 "main" 9 15 21 26 53 72 88 105 137 156 160 172 189 202 281 10 Source ESSL 310 11 Name 4 "main" 12 Name 9 "iout" 13 Name 15 "uout" 14 Name 21 "fout" 15 Name 26 "u2" 16 Name 30 "u2out" 17 Name 31 "ResType" 18 Name 53 "u1" 19 Name 57 "u1out" 20 Name 58 "ResType" 21 Name 72 "u4" 22 Name 76 "u4outHi" 23 Name 77 "u4outLow" 24 Name 78 "ResType" 25 Name 88 "i4" 26 Name 92 "i4outHi" 27 Name 93 "i4outLow" 28 Name 94 "ResType" 29 Name 105 "v3" 30 Name 109 "i3out" 31 Name 110 "ResType" 32 Name 137 "v1" 33 Name 140 "i1out" 34 Name 141 "ResType" 35 Name 156 "v2" 36 Name 160 "i2" 37 Name 172 "i1" 38 Name 189 "u3" 39 Name 202 "i3" 40 Name 281 "v4" 41 Decorate 9(iout) Location 1 42 Decorate 15(uout) Location 0 43 Decorate 21(fout) Location 2 44 Decorate 26(u2) Location 1 45 Decorate 53(u1) Location 0 46 Decorate 72(u4) Location 3 47 Decorate 88(i4) Location 11 48 Decorate 105(v3) Location 6 49 Decorate 137(v1) Location 4 50 Decorate 156(v2) Location 5 51 Decorate 160(i2) Location 9 52 Decorate 172(i1) Location 8 53 Decorate 189(u3) Location 2 54 Decorate 202(i3) Location 10 55 Decorate 281(v4) Location 7 56 2: TypeVoid 57 3: TypeFunction 2 58 6: TypeInt 32 1 59 7: TypeVector 6(int) 4 60 8: TypePointer Output 7(ivec4) 61 9(iout): 8(ptr) Variable Output 62 10: 6(int) Constant 0 63 11: 7(ivec4) ConstantComposite 10 10 10 10 64 12: TypeInt 32 0 65 13: TypeVector 12(int) 4 66 14: TypePointer Output 13(ivec4) 67 15(uout): 14(ptr) Variable Output 68 16: 12(int) Constant 0 69 17: 13(ivec4) ConstantComposite 16 16 16 16 70 18: TypeFloat 32 71 19: TypeVector 18(float) 4 72 20: TypePointer Output 19(fvec4) 73 21(fout): 20(ptr) Variable Output 74 22: 18(float) Constant 0 75 23: 19(fvec4) ConstantComposite 22 22 22 22 76 24: TypeVector 12(int) 2 77 25: TypePointer Input 24(ivec2) 78 26(u2): 25(ptr) Variable Input 79 29: TypePointer Function 24(ivec2) 80 31(ResType): TypeStruct 24(ivec2) 24(ivec2) 81 38: TypePointer Output 12(int) 82 41: 12(int) Constant 1 83 52: TypePointer Input 12(int) 84 53(u1): 52(ptr) Variable Input 85 56: TypePointer Function 12(int) 86 58(ResType): TypeStruct 12(int) 12(int) 87 71: TypePointer Input 13(ivec4) 88 72(u4): 71(ptr) Variable Input 89 75: TypePointer Function 13(ivec4) 90 78(ResType): TypeStruct 13(ivec4) 13(ivec4) 91 87: TypePointer Input 7(ivec4) 92 88(i4): 87(ptr) Variable Input 93 91: TypePointer Function 7(ivec4) 94 94(ResType): TypeStruct 7(ivec4) 7(ivec4) 95 103: TypeVector 18(float) 3 96 104: TypePointer Input 103(fvec3) 97 105(v3): 104(ptr) Variable Input 98 107: TypeVector 6(int) 3 99 108: TypePointer Function 107(ivec3) 100 110(ResType): TypeStruct 103(fvec3) 107(ivec3) 101 117: TypePointer Output 18(float) 102 122: 12(int) Constant 2 103 129: TypePointer Output 6(int) 104 136: TypePointer Input 18(float) 105 137(v1): 136(ptr) Variable Input 106 139: TypePointer Function 6(int) 107 141(ResType): TypeStruct 18(float) 6(int) 108 154: TypeVector 18(float) 2 109 155: TypePointer Input 154(fvec2) 110 156(v2): 155(ptr) Variable Input 111 158: TypeVector 6(int) 2 112 159: TypePointer Input 158(ivec2) 113 160(i2): 159(ptr) Variable Input 114 171: TypePointer Input 6(int) 115 172(i1): 171(ptr) Variable Input 116 180: 6(int) Constant 4 117 181: 6(int) Constant 5 118 187: TypeVector 12(int) 3 119 188: TypePointer Input 187(ivec3) 120 189(u3): 188(ptr) Variable Input 121 201: TypePointer Input 107(ivec3) 122 202(i3): 201(ptr) Variable Input 123 280: TypePointer Input 19(fvec4) 124 281(v4): 280(ptr) Variable Input 125 4(main): 2 Function None 3 126 5: Label 127 30(u2out): 29(ptr) Variable Function 128 57(u1out): 56(ptr) Variable Function 129 76(u4outHi): 75(ptr) Variable Function 130 77(u4outLow): 75(ptr) Variable Function 131 92(i4outHi): 91(ptr) Variable Function 132 93(i4outLow): 91(ptr) Variable Function 133 109(i3out): 108(ptr) Variable Function 134 140(i1out): 139(ptr) Variable Function 135 Store 9(iout) 11 136 Store 15(uout) 17 137 Store 21(fout) 23 138 27: 24(ivec2) Load 26(u2) 139 28: 24(ivec2) Load 26(u2) 140 32: 31(ResType) IAddCarry 27 28 141 33: 24(ivec2) CompositeExtract 32 1 142 Store 30(u2out) 33 143 34: 24(ivec2) CompositeExtract 32 0 144 35: 13(ivec4) Load 15(uout) 145 36: 24(ivec2) VectorShuffle 35 35 0 1 146 37: 24(ivec2) IAdd 36 34 147 39: 38(ptr) AccessChain 15(uout) 16 148 40: 12(int) CompositeExtract 37 0 149 Store 39 40 150 42: 38(ptr) AccessChain 15(uout) 41 151 43: 12(int) CompositeExtract 37 1 152 Store 42 43 153 44: 24(ivec2) Load 30(u2out) 154 45: 13(ivec4) Load 15(uout) 155 46: 24(ivec2) VectorShuffle 45 45 0 1 156 47: 24(ivec2) IAdd 46 44 157 48: 38(ptr) AccessChain 15(uout) 16 158 49: 12(int) CompositeExtract 47 0 159 Store 48 49 160 50: 38(ptr) AccessChain 15(uout) 41 161 51: 12(int) CompositeExtract 47 1 162 Store 50 51 163 54: 12(int) Load 53(u1) 164 55: 12(int) Load 53(u1) 165 59: 58(ResType) ISubBorrow 54 55 166 60: 12(int) CompositeExtract 59 1 167 Store 57(u1out) 60 168 61: 12(int) CompositeExtract 59 0 169 62: 38(ptr) AccessChain 15(uout) 16 170 63: 12(int) Load 62 171 64: 12(int) IAdd 63 61 172 65: 38(ptr) AccessChain 15(uout) 16 173 Store 65 64 174 66: 12(int) Load 57(u1out) 175 67: 38(ptr) AccessChain 15(uout) 16 176 68: 12(int) Load 67 177 69: 12(int) IAdd 68 66 178 70: 38(ptr) AccessChain 15(uout) 16 179 Store 70 69 180 73: 13(ivec4) Load 72(u4) 181 74: 13(ivec4) Load 72(u4) 182 79: 78(ResType) UMulExtended 73 74 183 80: 13(ivec4) CompositeExtract 79 0 184 Store 77(u4outLow) 80 185 81: 13(ivec4) CompositeExtract 79 1 186 Store 76(u4outHi) 81 187 82: 13(ivec4) Load 76(u4outHi) 188 83: 13(ivec4) Load 77(u4outLow) 189 84: 13(ivec4) IAdd 82 83 190 85: 13(ivec4) Load 15(uout) 191 86: 13(ivec4) IAdd 85 84 192 Store 15(uout) 86 193 89: 7(ivec4) Load 88(i4) 194 90: 7(ivec4) Load 88(i4) 195 95: 94(ResType) SMulExtended 89 90 196 96: 7(ivec4) CompositeExtract 95 0 197 Store 93(i4outLow) 96 198 97: 7(ivec4) CompositeExtract 95 1 199 Store 92(i4outHi) 97 200 98: 7(ivec4) Load 93(i4outLow) 201 99: 7(ivec4) Load 92(i4outHi) 202 100: 7(ivec4) IAdd 98 99 203 101: 7(ivec4) Load 9(iout) 204 102: 7(ivec4) IAdd 101 100 205 Store 9(iout) 102 206 106: 103(fvec3) Load 105(v3) 207 111:110(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 106 208 112: 107(ivec3) CompositeExtract 111 1 209 Store 109(i3out) 112 210 113: 103(fvec3) CompositeExtract 111 0 211 114: 19(fvec4) Load 21(fout) 212 115: 103(fvec3) VectorShuffle 114 114 0 1 2 213 116: 103(fvec3) FAdd 115 113 214 118: 117(ptr) AccessChain 21(fout) 16 215 119: 18(float) CompositeExtract 116 0 216 Store 118 119 217 120: 117(ptr) AccessChain 21(fout) 41 218 121: 18(float) CompositeExtract 116 1 219 Store 120 121 220 123: 117(ptr) AccessChain 21(fout) 122 221 124: 18(float) CompositeExtract 116 2 222 Store 123 124 223 125: 107(ivec3) Load 109(i3out) 224 126: 7(ivec4) Load 9(iout) 225 127: 107(ivec3) VectorShuffle 126 126 0 1 2 226 128: 107(ivec3) IAdd 127 125 227 130: 129(ptr) AccessChain 9(iout) 16 228 131: 6(int) CompositeExtract 128 0 229 Store 130 131 230 132: 129(ptr) AccessChain 9(iout) 41 231 133: 6(int) CompositeExtract 128 1 232 Store 132 133 233 134: 129(ptr) AccessChain 9(iout) 122 234 135: 6(int) CompositeExtract 128 2 235 Store 134 135 236 138: 18(float) Load 137(v1) 237 142:141(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 138 238 143: 6(int) CompositeExtract 142 1 239 Store 140(i1out) 143 240 144: 18(float) CompositeExtract 142 0 241 145: 117(ptr) AccessChain 21(fout) 16 242 146: 18(float) Load 145 243 147: 18(float) FAdd 146 144 244 148: 117(ptr) AccessChain 21(fout) 16 245 Store 148 147 246 149: 6(int) Load 140(i1out) 247 150: 129(ptr) AccessChain 9(iout) 16 248 151: 6(int) Load 150 249 152: 6(int) IAdd 151 149 250 153: 129(ptr) AccessChain 9(iout) 16 251 Store 153 152 252 157: 154(fvec2) Load 156(v2) 253 161: 158(ivec2) Load 160(i2) 254 162: 154(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 157 161 255 163: 19(fvec4) Load 21(fout) 256 164: 154(fvec2) VectorShuffle 163 163 0 1 257 165: 154(fvec2) FAdd 164 162 258 166: 117(ptr) AccessChain 21(fout) 16 259 167: 18(float) CompositeExtract 165 0 260 Store 166 167 261 168: 117(ptr) AccessChain 21(fout) 41 262 169: 18(float) CompositeExtract 165 1 263 Store 168 169 264 170: 18(float) Load 137(v1) 265 173: 6(int) Load 172(i1) 266 174: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 170 173 267 175: 117(ptr) AccessChain 21(fout) 16 268 176: 18(float) Load 175 269 177: 18(float) FAdd 176 174 270 178: 117(ptr) AccessChain 21(fout) 16 271 Store 178 177 272 179: 6(int) Load 172(i1) 273 182: 6(int) BitFieldSExtract 179 180 181 274 183: 129(ptr) AccessChain 9(iout) 16 275 184: 6(int) Load 183 276 185: 6(int) IAdd 184 182 277 186: 129(ptr) AccessChain 9(iout) 16 278 Store 186 185 279 190: 187(ivec3) Load 189(u3) 280 191: 187(ivec3) BitFieldUExtract 190 180 181 281 192: 13(ivec4) Load 15(uout) 282 193: 187(ivec3) VectorShuffle 192 192 0 1 2 283 194: 187(ivec3) IAdd 193 191 284 195: 38(ptr) AccessChain 15(uout) 16 285 196: 12(int) CompositeExtract 194 0 286 Store 195 196 287 197: 38(ptr) AccessChain 15(uout) 41 288 198: 12(int) CompositeExtract 194 1 289 Store 197 198 290 199: 38(ptr) AccessChain 15(uout) 122 291 200: 12(int) CompositeExtract 194 2 292 Store 199 200 293 203: 107(ivec3) Load 202(i3) 294 204: 107(ivec3) Load 202(i3) 295 205: 107(ivec3) BitFieldInsert 203 204 180 181 296 206: 7(ivec4) Load 9(iout) 297 207: 107(ivec3) VectorShuffle 206 206 0 1 2 298 208: 107(ivec3) IAdd 207 205 299 209: 129(ptr) AccessChain 9(iout) 16 300 210: 6(int) CompositeExtract 208 0 301 Store 209 210 302 211: 129(ptr) AccessChain 9(iout) 41 303 212: 6(int) CompositeExtract 208 1 304 Store 211 212 305 213: 129(ptr) AccessChain 9(iout) 122 306 214: 6(int) CompositeExtract 208 2 307 Store 213 214 308 215: 12(int) Load 53(u1) 309 216: 12(int) Load 53(u1) 310 217: 12(int) BitFieldInsert 215 216 180 181 311 218: 38(ptr) AccessChain 15(uout) 16 312 219: 12(int) Load 218 313 220: 12(int) IAdd 219 217 314 221: 38(ptr) AccessChain 15(uout) 16 315 Store 221 220 316 222: 158(ivec2) Load 160(i2) 317 223: 158(ivec2) BitReverse 222 318 224: 7(ivec4) Load 9(iout) 319 225: 158(ivec2) VectorShuffle 224 224 0 1 320 226: 158(ivec2) IAdd 225 223 321 227: 129(ptr) AccessChain 9(iout) 16 322 228: 6(int) CompositeExtract 226 0 323 Store 227 228 324 229: 129(ptr) AccessChain 9(iout) 41 325 230: 6(int) CompositeExtract 226 1 326 Store 229 230 327 231: 13(ivec4) Load 72(u4) 328 232: 13(ivec4) BitReverse 231 329 233: 13(ivec4) Load 15(uout) 330 234: 13(ivec4) IAdd 233 232 331 Store 15(uout) 234 332 235: 6(int) Load 172(i1) 333 236: 6(int) BitCount 235 334 237: 129(ptr) AccessChain 9(iout) 16 335 238: 6(int) Load 237 336 239: 6(int) IAdd 238 236 337 240: 129(ptr) AccessChain 9(iout) 16 338 Store 240 239 339 241: 187(ivec3) Load 189(u3) 340 242: 107(ivec3) BitCount 241 341 243: 7(ivec4) Load 9(iout) 342 244: 107(ivec3) VectorShuffle 243 243 0 1 2 343 245: 107(ivec3) IAdd 244 242 344 246: 129(ptr) AccessChain 9(iout) 16 345 247: 6(int) CompositeExtract 245 0 346 Store 246 247 347 248: 129(ptr) AccessChain 9(iout) 41 348 249: 6(int) CompositeExtract 245 1 349 Store 248 249 350 250: 129(ptr) AccessChain 9(iout) 122 351 251: 6(int) CompositeExtract 245 2 352 Store 250 251 353 252: 158(ivec2) Load 160(i2) 354 253: 158(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 252 355 254: 7(ivec4) Load 9(iout) 356 255: 158(ivec2) VectorShuffle 254 254 0 1 357 256: 158(ivec2) IAdd 255 253 358 257: 129(ptr) AccessChain 9(iout) 16 359 258: 6(int) CompositeExtract 256 0 360 Store 257 258 361 259: 129(ptr) AccessChain 9(iout) 41 362 260: 6(int) CompositeExtract 256 1 363 Store 259 260 364 261: 13(ivec4) Load 72(u4) 365 262: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 261 366 263: 7(ivec4) Load 9(iout) 367 264: 7(ivec4) IAdd 263 262 368 Store 9(iout) 264 369 265: 6(int) Load 172(i1) 370 266: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 265 371 267: 129(ptr) AccessChain 9(iout) 16 372 268: 6(int) Load 267 373 269: 6(int) IAdd 268 266 374 270: 129(ptr) AccessChain 9(iout) 16 375 Store 270 269 376 271: 24(ivec2) Load 26(u2) 377 272: 158(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 271 378 273: 7(ivec4) Load 9(iout) 379 274: 158(ivec2) VectorShuffle 273 273 0 1 380 275: 158(ivec2) IAdd 274 272 381 276: 129(ptr) AccessChain 9(iout) 16 382 277: 6(int) CompositeExtract 275 0 383 Store 276 277 384 278: 129(ptr) AccessChain 9(iout) 41 385 279: 6(int) CompositeExtract 275 1 386 Store 278 279 387 282: 19(fvec4) Load 281(v4) 388 283: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 282 389 284: 38(ptr) AccessChain 15(uout) 16 390 285: 12(int) Load 284 391 286: 12(int) IAdd 285 283 392 287: 38(ptr) AccessChain 15(uout) 16 393 Store 287 286 394 288: 19(fvec4) Load 281(v4) 395 289: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 288 396 290: 38(ptr) AccessChain 15(uout) 16 397 291: 12(int) Load 290 398 292: 12(int) IAdd 291 289 399 293: 38(ptr) AccessChain 15(uout) 16 400 Store 293 292 401 294: 12(int) Load 53(u1) 402 295: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 294 403 296: 19(fvec4) Load 21(fout) 404 297: 19(fvec4) FAdd 296 295 405 Store 21(fout) 297 406 298: 12(int) Load 53(u1) 407 299: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 298 408 300: 19(fvec4) Load 21(fout) 409 301: 19(fvec4) FAdd 300 299 410 Store 21(fout) 301 411 Return 412 FunctionEnd 413