blob: fca5cd4b66d80794292238071289ccd97e61258f [file] [log] [blame]
John Kessenichcc16fa02015-12-10 18:01:54 -07001spv.intOps.vert
2Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
3
4
5Linked 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
118268(gl_VertexID): 155(ptr) Variable Input
119269(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