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