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