blob: c0e0ee54c9795f820a0e312af64ddc2c345f94be [file] [log] [blame]
spv.int16.frag
// Module Version 10000
// Generated by (magic number): 80003
// Id's are bound by 561
Capability Shader
Capability Float16
Capability Float64
Capability Int64
Capability Int16
Capability StorageUniform16
Capability StorageInputOutput16
Extension "SPV_AMD_gpu_shader_half_float"
Extension "SPV_AMD_gpu_shader_int16"
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 520 522
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_AMD_gpu_shader_half_float"
SourceExtension "GL_AMD_gpu_shader_int16"
SourceExtension "GL_ARB_gpu_shader_int64"
Name 4 "main"
Name 6 "literal("
Name 8 "operators("
Name 10 "typeCast("
Name 12 "builtinFuncs("
Name 16 "u16"
Name 25 "Uniforms"
MemberName 25(Uniforms) 0 "i"
Name 27 ""
Name 34 "indexable"
Name 45 "indexable"
Name 51 "u16v"
Name 57 "i16"
Name 70 "u16"
Name 108 "i"
Name 130 "b"
Name 151 "u"
Name 190 "i16v"
Name 193 "bv"
Name 201 "u16v"
Name 214 "iv"
Name 227 "uv"
Name 241 "fv"
Name 253 "dv"
Name 265 "f16v"
Name 277 "i64v"
Name 291 "u64v"
Name 306 "i16v"
Name 312 "i16"
Name 320 "u16v"
Name 322 "u16"
Name 394 "f16v"
Name 397 "exp"
Name 398 "ResType"
Name 419 "packi"
Name 424 "packu"
Name 433 "packi64"
Name 442 "packu64"
Name 451 "bv"
Name 516 "Block"
MemberName 516(Block) 0 "i16v"
MemberName 516(Block) 1 "u16"
Name 518 "block"
Name 520 "iu16v"
Name 522 "ii16"
Name 523 "si64"
Name 524 "su64"
Name 525 "si"
Name 526 "su"
Name 527 "sb"
Name 528 "si16"
Name 529 "su16"
MemberDecorate 25(Uniforms) 0 Offset 0
Decorate 25(Uniforms) Block
Decorate 27 DescriptorSet 0
Decorate 27 Binding 0
MemberDecorate 516(Block) 0 Offset 0
MemberDecorate 516(Block) 1 Offset 6
Decorate 516(Block) Block
Decorate 518(block) DescriptorSet 0
Decorate 518(block) Binding 1
Decorate 520(iu16v) Flat
Decorate 520(iu16v) Location 0
Decorate 522(ii16) Flat
Decorate 522(ii16) Location 1
Decorate 523(si64) SpecId 100
Decorate 524(su64) SpecId 101
Decorate 525(si) SpecId 102
Decorate 526(su) SpecId 103
Decorate 527(sb) SpecId 104
Decorate 528(si16) SpecId 105
Decorate 529(su16) SpecId 106
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 0
15: TypePointer Function 14(int)
17: TypeInt 16 1
18: TypeInt 32 0
19: 18(int) Constant 3
20: TypeArray 17(int) 19
21: 17(int) Constant 273
22: 17(int) Constant 65534
23: 17(int) Constant 256
24: 20 ConstantComposite 21 22 23
25(Uniforms): TypeStruct 18(int)
26: TypePointer Uniform 25(Uniforms)
27: 26(ptr) Variable Uniform
28: TypeInt 32 1
29: 28(int) Constant 0
30: TypePointer Uniform 18(int)
33: TypePointer Function 20
35: TypePointer Function 17(int)
39: TypeArray 14(int) 19
40: 14(int) Constant 65535
41: 39 ConstantComposite 40 40 40
44: TypePointer Function 39
49: TypeVector 14(int) 3
50: TypePointer Function 49(ivec3)
53: 17(int) Constant 1
54: TypeVector 17(int) 3
107: TypePointer Function 28(int)
111: TypeVector 28(int) 3
114: 18(int) Constant 1
120: 18(int) Constant 2
128: TypeBool
129: TypePointer Function 128(bool)
131: 18(int) Constant 0
150: TypePointer Function 18(int)
188: TypeVector 17(int) 2
189: TypePointer Function 188(ivec2)
191: TypeVector 128(bool) 2
192: TypePointer Function 191(bvec2)
195: 17(int) Constant 0
196: 188(ivec2) ConstantComposite 195 195
197: 188(ivec2) ConstantComposite 53 53
199: TypeVector 14(int) 2
200: TypePointer Function 199(ivec2)
203: 14(int) Constant 0
204: 14(int) Constant 1
205: 199(ivec2) ConstantComposite 203 203
206: 199(ivec2) ConstantComposite 204 204
212: TypeVector 28(int) 2
213: TypePointer Function 212(ivec2)
223: TypeVector 18(int) 2
226: TypePointer Function 223(ivec2)
238: TypeFloat 32
239: TypeVector 238(float) 2
240: TypePointer Function 239(fvec2)
250: TypeFloat 64
251: TypeVector 250(float) 2
252: TypePointer Function 251(fvec2)
262: TypeFloat 16
263: TypeVector 262(float) 2
264: TypePointer Function 263(fvec2)
274: TypeInt 64 1
275: TypeVector 274(int) 2
276: TypePointer Function 275(ivec2)
286: TypeInt 64 0
287: TypeVector 286(int) 2
290: TypePointer Function 287(ivec2)
317: 17(int) Constant 65535
318: 188(ivec2) ConstantComposite 317 317
327: 49(ivec3) ConstantComposite 203 203 203
369: 128(bool) ConstantTrue
376: 128(bool) ConstantFalse
377: 191(bvec2) ConstantComposite 376 376
389: TypeVector 128(bool) 3
390: 389(bvec3) ConstantComposite 376 376 376
392: TypeVector 262(float) 3
393: TypePointer Function 392(fvec3)
396: TypePointer Function 54(ivec3)
398(ResType): TypeStruct 392(fvec3) 54(ivec3)
408: TypePointer Function 262(float)
432: TypePointer Function 274(int)
435: TypeVector 17(int) 4
441: TypePointer Function 286(int)
444: TypeVector 14(int) 4
450: TypePointer Function 389(bvec3)
516(Block): TypeStruct 54(ivec3) 14(int)
517: TypePointer Uniform 516(Block)
518(block): 517(ptr) Variable Uniform
519: TypePointer Input 49(ivec3)
520(iu16v): 519(ptr) Variable Input
521: TypePointer Input 17(int)
522(ii16): 521(ptr) Variable Input
523(si64): 274(int) SpecConstant 4294967286 4294967295
524(su64): 286(int) SpecConstant 20 0
525(si): 28(int) SpecConstant 4294967291
526(su): 18(int) SpecConstant 4
527(sb): 128(bool) SpecConstantTrue
528(si16): 17(int) SpecConstant 65531
529(su16): 14(int) SpecConstant 4
530: 128(bool) SpecConstantOp 171 528(si16) 203
531: 128(bool) SpecConstantOp 171 529(su16) 203
532: 17(int) SpecConstantOp 169 527(sb) 53 195
533: 14(int) SpecConstantOp 169 527(sb) 204 203
534: 28(int) SpecConstantOp 114 528(si16)
535: 18(int) SpecConstantOp 113 529(su16)
536: 28(int) SpecConstantOp 128 535 131
537: 17(int) SpecConstantOp 114 525(si)
538: 17(int) SpecConstantOp 114 525(si)
539: 14(int) SpecConstantOp 128 538 203
540: 28(int) SpecConstantOp 114 528(si16)
541: 18(int) SpecConstantOp 128 540 131
542: 18(int) SpecConstantOp 113 529(su16)
543: 14(int) SpecConstantOp 113 526(su)
544: 17(int) SpecConstantOp 128 543 203
545: 14(int) SpecConstantOp 113 526(su)
546: 274(int) SpecConstantOp 114 528(si16)
547: 286(int) SpecConstantOp 113 529(su16)
548: 286(int) Constant 0 0
549: 274(int) SpecConstantOp 128 547 548
550: 17(int) SpecConstantOp 114 523(si64)
551: 17(int) SpecConstantOp 114 523(si64)
552: 14(int) SpecConstantOp 128 551 203
553: 274(int) SpecConstantOp 114 528(si16)
554: 286(int) SpecConstantOp 128 553 548
555: 286(int) SpecConstantOp 113 529(su16)
556: 14(int) SpecConstantOp 113 524(su64)
557: 17(int) SpecConstantOp 128 556 203
558: 14(int) SpecConstantOp 113 524(su64)
559: 14(int) SpecConstantOp 128 528(si16) 203
560: 17(int) SpecConstantOp 128 529(su16) 203
4(main): 2 Function None 3
5: Label
512: 2 FunctionCall 6(literal()
513: 2 FunctionCall 8(operators()
514: 2 FunctionCall 10(typeCast()
515: 2 FunctionCall 12(builtinFuncs()
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
16(u16): 15(ptr) Variable Function
34(indexable): 33(ptr) Variable Function
45(indexable): 44(ptr) Variable Function
31: 30(ptr) AccessChain 27 29
32: 18(int) Load 31
Store 34(indexable) 24
36: 35(ptr) AccessChain 34(indexable) 32
37: 17(int) Load 36
38: 14(int) Bitcast 37
42: 30(ptr) AccessChain 27 29
43: 18(int) Load 42
Store 45(indexable) 41
46: 15(ptr) AccessChain 45(indexable) 43
47: 14(int) Load 46
48: 14(int) IAdd 38 47
Store 16(u16) 48
Return
FunctionEnd
8(operators(): 2 Function None 3
9: Label
51(u16v): 50(ptr) Variable Function
57(i16): 35(ptr) Variable Function
70(u16): 15(ptr) Variable Function
108(i): 107(ptr) Variable Function
130(b): 129(ptr) Variable Function
151(u): 150(ptr) Variable Function
52: 49(ivec3) Load 51(u16v)
55: 54(ivec3) CompositeConstruct 53 53 53
56: 49(ivec3) IAdd 52 55
Store 51(u16v) 56
58: 17(int) Load 57(i16)
59: 17(int) ISub 58 53
Store 57(i16) 59
60: 17(int) Load 57(i16)
61: 17(int) IAdd 60 53
Store 57(i16) 61
62: 49(ivec3) Load 51(u16v)
63: 54(ivec3) CompositeConstruct 53 53 53
64: 49(ivec3) ISub 62 63
Store 51(u16v) 64
65: 49(ivec3) Load 51(u16v)
66: 49(ivec3) Not 65
Store 51(u16v) 66
67: 17(int) Load 57(i16)
Store 57(i16) 67
68: 49(ivec3) Load 51(u16v)
69: 49(ivec3) SNegate 68
Store 51(u16v) 69
71: 17(int) Load 57(i16)
72: 14(int) Bitcast 71
73: 14(int) Load 70(u16)
74: 14(int) IAdd 73 72
Store 70(u16) 74
75: 49(ivec3) Load 51(u16v)
76: 49(ivec3) Load 51(u16v)
77: 49(ivec3) ISub 76 75
Store 51(u16v) 77
78: 17(int) Load 57(i16)
79: 17(int) Load 57(i16)
80: 17(int) IMul 79 78
Store 57(i16) 80
81: 49(ivec3) Load 51(u16v)
82: 49(ivec3) Load 51(u16v)
83: 49(ivec3) UDiv 82 81
Store 51(u16v) 83
84: 17(int) Load 57(i16)
85: 14(int) Bitcast 84
86: 49(ivec3) Load 51(u16v)
87: 49(ivec3) CompositeConstruct 85 85 85
88: 49(ivec3) UMod 86 87
Store 51(u16v) 88
89: 49(ivec3) Load 51(u16v)
90: 49(ivec3) Load 51(u16v)
91: 49(ivec3) IAdd 89 90
Store 51(u16v) 91
92: 17(int) Load 57(i16)
93: 14(int) Bitcast 92
94: 14(int) Load 70(u16)
95: 14(int) ISub 93 94
Store 70(u16) 95
96: 49(ivec3) Load 51(u16v)
97: 17(int) Load 57(i16)
98: 14(int) Bitcast 97
99: 49(ivec3) CompositeConstruct 98 98 98
100: 49(ivec3) IMul 96 99
Store 51(u16v) 100
101: 17(int) Load 57(i16)
102: 17(int) Load 57(i16)
103: 17(int) IMul 101 102
Store 57(i16) 103
104: 17(int) Load 57(i16)
105: 17(int) Load 57(i16)
106: 17(int) SMod 104 105
Store 57(i16) 106
109: 28(int) Load 108(i)
110: 49(ivec3) Load 51(u16v)
112: 111(ivec3) CompositeConstruct 109 109 109
113: 49(ivec3) ShiftLeftLogical 110 112
Store 51(u16v) 113
115: 15(ptr) AccessChain 51(u16v) 114
116: 14(int) Load 115
117: 17(int) Load 57(i16)
118: 17(int) ShiftRightArithmetic 117 116
Store 57(i16) 118
119: 17(int) Load 57(i16)
121: 15(ptr) AccessChain 51(u16v) 120
122: 14(int) Load 121
123: 17(int) ShiftLeftLogical 119 122
Store 57(i16) 123
124: 49(ivec3) Load 51(u16v)
125: 17(int) Load 57(i16)
126: 54(ivec3) CompositeConstruct 125 125 125
127: 49(ivec3) ShiftLeftLogical 124 126
Store 51(u16v) 127
132: 15(ptr) AccessChain 51(u16v) 131
133: 14(int) Load 132
134: 17(int) Load 57(i16)
135: 14(int) Bitcast 134
136: 128(bool) INotEqual 133 135
Store 130(b) 136
137: 17(int) Load 57(i16)
138: 14(int) Bitcast 137
139: 15(ptr) AccessChain 51(u16v) 131
140: 14(int) Load 139
141: 128(bool) IEqual 138 140
Store 130(b) 141
142: 15(ptr) AccessChain 51(u16v) 131
143: 14(int) Load 142
144: 15(ptr) AccessChain 51(u16v) 114
145: 14(int) Load 144
146: 128(bool) UGreaterThan 143 145
Store 130(b) 146
147: 17(int) Load 57(i16)
148: 28(int) SConvert 147
149: 18(int) Bitcast 148
152: 18(int) Load 151(u)
153: 128(bool) ULessThan 149 152
Store 130(b) 153
154: 15(ptr) AccessChain 51(u16v) 114
155: 14(int) Load 154
156: 15(ptr) AccessChain 51(u16v) 131
157: 14(int) Load 156
158: 128(bool) UGreaterThanEqual 155 157
Store 130(b) 158
159: 17(int) Load 57(i16)
160: 28(int) SConvert 159
161: 28(int) Load 108(i)
162: 128(bool) SLessThanEqual 160 161
Store 130(b) 162
163: 17(int) Load 57(i16)
164: 14(int) Bitcast 163
165: 49(ivec3) Load 51(u16v)
166: 49(ivec3) CompositeConstruct 164 164 164
167: 49(ivec3) BitwiseOr 165 166
Store 51(u16v) 167
168: 17(int) Load 57(i16)
169: 14(int) Bitcast 168
170: 14(int) Load 70(u16)
171: 14(int) BitwiseOr 169 170
Store 70(u16) 171
172: 17(int) Load 57(i16)
173: 17(int) Load 57(i16)
174: 17(int) BitwiseAnd 173 172
Store 57(i16) 174
175: 49(ivec3) Load 51(u16v)
176: 49(ivec3) Load 51(u16v)
177: 49(ivec3) BitwiseAnd 175 176
Store 51(u16v) 177
178: 17(int) Load 57(i16)
179: 14(int) Bitcast 178
180: 49(ivec3) Load 51(u16v)
181: 49(ivec3) CompositeConstruct 179 179 179
182: 49(ivec3) BitwiseXor 180 181
Store 51(u16v) 182
183: 49(ivec3) Load 51(u16v)
184: 17(int) Load 57(i16)
185: 14(int) Bitcast 184
186: 49(ivec3) CompositeConstruct 185 185 185
187: 49(ivec3) BitwiseXor 183 186
Store 51(u16v) 187
Return
FunctionEnd
10(typeCast(): 2 Function None 3
11: Label
190(i16v): 189(ptr) Variable Function
193(bv): 192(ptr) Variable Function
201(u16v): 200(ptr) Variable Function
214(iv): 213(ptr) Variable Function
227(uv): 226(ptr) Variable Function
241(fv): 240(ptr) Variable Function
253(dv): 252(ptr) Variable Function
265(f16v): 264(ptr) Variable Function
277(i64v): 276(ptr) Variable Function
291(u64v): 290(ptr) Variable Function
194: 191(bvec2) Load 193(bv)
198: 188(ivec2) Select 194 197 196
Store 190(i16v) 198
202: 191(bvec2) Load 193(bv)
207: 199(ivec2) Select 202 206 205
Store 201(u16v) 207
208: 188(ivec2) Load 190(i16v)
209: 191(bvec2) INotEqual 208 205
Store 193(bv) 209
210: 199(ivec2) Load 201(u16v)
211: 191(bvec2) INotEqual 210 205
Store 193(bv) 211
215: 212(ivec2) Load 214(iv)
216: 188(ivec2) SConvert 215
Store 190(i16v) 216
217: 212(ivec2) Load 214(iv)
218: 188(ivec2) SConvert 217
219: 199(ivec2) Bitcast 218
Store 201(u16v) 219
220: 188(ivec2) Load 190(i16v)
221: 212(ivec2) SConvert 220
Store 214(iv) 221
222: 199(ivec2) Load 201(u16v)
224: 223(ivec2) UConvert 222
225: 212(ivec2) Bitcast 224
Store 214(iv) 225
228: 223(ivec2) Load 227(uv)
229: 199(ivec2) UConvert 228
230: 188(ivec2) Bitcast 229
Store 190(i16v) 230
231: 223(ivec2) Load 227(uv)
232: 199(ivec2) UConvert 231
Store 201(u16v) 232
233: 188(ivec2) Load 190(i16v)
234: 212(ivec2) SConvert 233
235: 223(ivec2) Bitcast 234
Store 227(uv) 235
236: 199(ivec2) Load 201(u16v)
237: 223(ivec2) UConvert 236
Store 227(uv) 237
242: 239(fvec2) Load 241(fv)
243: 188(ivec2) ConvertFToS 242
Store 190(i16v) 243
244: 239(fvec2) Load 241(fv)
245: 199(ivec2) ConvertFToU 244
Store 201(u16v) 245
246: 188(ivec2) Load 190(i16v)
247: 239(fvec2) ConvertSToF 246
Store 241(fv) 247
248: 199(ivec2) Load 201(u16v)
249: 239(fvec2) ConvertUToF 248
Store 241(fv) 249
254: 251(fvec2) Load 253(dv)
255: 188(ivec2) ConvertFToS 254
Store 190(i16v) 255
256: 251(fvec2) Load 253(dv)
257: 199(ivec2) ConvertFToU 256
Store 201(u16v) 257
258: 188(ivec2) Load 190(i16v)
259: 251(fvec2) ConvertSToF 258
Store 253(dv) 259
260: 199(ivec2) Load 201(u16v)
261: 251(fvec2) ConvertUToF 260
Store 253(dv) 261
266: 263(fvec2) Load 265(f16v)
267: 188(ivec2) ConvertFToS 266
Store 190(i16v) 267
268: 263(fvec2) Load 265(f16v)
269: 199(ivec2) ConvertFToU 268
Store 201(u16v) 269
270: 188(ivec2) Load 190(i16v)
271: 263(fvec2) ConvertSToF 270
Store 265(f16v) 271
272: 199(ivec2) Load 201(u16v)
273: 263(fvec2) ConvertUToF 272
Store 265(f16v) 273
278: 275(ivec2) Load 277(i64v)
279: 188(ivec2) SConvert 278
Store 190(i16v) 279
280: 275(ivec2) Load 277(i64v)
281: 188(ivec2) SConvert 280
282: 199(ivec2) Bitcast 281
Store 201(u16v) 282
283: 188(ivec2) Load 190(i16v)
284: 275(ivec2) SConvert 283
Store 277(i64v) 284
285: 199(ivec2) Load 201(u16v)
288: 287(ivec2) UConvert 285
289: 275(ivec2) Bitcast 288
Store 277(i64v) 289
292: 287(ivec2) Load 291(u64v)
293: 199(ivec2) UConvert 292
294: 188(ivec2) Bitcast 293
Store 190(i16v) 294
295: 287(ivec2) Load 291(u64v)
296: 199(ivec2) UConvert 295
Store 201(u16v) 296
297: 188(ivec2) Load 190(i16v)
298: 275(ivec2) SConvert 297
299: 287(ivec2) Bitcast 298
Store 291(u64v) 299
300: 199(ivec2) Load 201(u16v)
301: 287(ivec2) UConvert 300
Store 291(u64v) 301
302: 199(ivec2) Load 201(u16v)
303: 188(ivec2) Bitcast 302
Store 190(i16v) 303
304: 188(ivec2) Load 190(i16v)
305: 199(ivec2) Bitcast 304
Store 201(u16v) 305
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
306(i16v): 189(ptr) Variable Function
312(i16): 35(ptr) Variable Function
320(u16v): 50(ptr) Variable Function
322(u16): 15(ptr) Variable Function
394(f16v): 393(ptr) Variable Function
397(exp): 396(ptr) Variable Function
419(packi): 107(ptr) Variable Function
424(packu): 150(ptr) Variable Function
433(packi64): 432(ptr) Variable Function
442(packu64): 441(ptr) Variable Function
451(bv): 450(ptr) Variable Function
307: 188(ivec2) Load 306(i16v)
308: 188(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 307
Store 306(i16v) 308
309: 188(ivec2) Load 306(i16v)
310: 188(ivec2) ExtInst 1(GLSL.std.450) 7(SSign) 309
Store 306(i16v) 310
311: 188(ivec2) Load 306(i16v)
313: 17(int) Load 312(i16)
314: 188(ivec2) CompositeConstruct 313 313
315: 188(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 311 314
Store 306(i16v) 315
316: 188(ivec2) Load 306(i16v)
319: 188(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 316 318
Store 306(i16v) 319
321: 49(ivec3) Load 320(u16v)
323: 14(int) Load 322(u16)
324: 49(ivec3) CompositeConstruct 323 323 323
325: 49(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 321 324
Store 320(u16v) 325
326: 49(ivec3) Load 320(u16v)
328: 49(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 326 327
Store 320(u16v) 328
329: 188(ivec2) Load 306(i16v)
330: 17(int) Load 312(i16)
331: 188(ivec2) CompositeConstruct 330 330
332: 188(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 329 331
Store 306(i16v) 332
333: 188(ivec2) Load 306(i16v)
334: 188(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 333 318
Store 306(i16v) 334
335: 49(ivec3) Load 320(u16v)
336: 14(int) Load 322(u16)
337: 49(ivec3) CompositeConstruct 336 336 336
338: 49(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 335 337
Store 320(u16v) 338
339: 49(ivec3) Load 320(u16v)
340: 49(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 339 327
Store 320(u16v) 340
341: 188(ivec2) Load 306(i16v)
342: 17(int) Load 312(i16)
343: 17(int) SNegate 342
344: 17(int) Load 312(i16)
345: 188(ivec2) CompositeConstruct 343 343
346: 188(ivec2) CompositeConstruct 344 344
347: 188(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 341 345 346
Store 306(i16v) 347
348: 188(ivec2) Load 306(i16v)
349: 188(ivec2) Load 306(i16v)
350: 188(ivec2) SNegate 349
351: 188(ivec2) Load 306(i16v)
352: 188(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 348 350 351
Store 306(i16v) 352
353: 49(ivec3) Load 320(u16v)
354: 14(int) Load 322(u16)
355: 14(int) SNegate 354
356: 14(int) Load 322(u16)
357: 49(ivec3) CompositeConstruct 355 355 355
358: 49(ivec3) CompositeConstruct 356 356 356
359: 49(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 353 357 358
Store 320(u16v) 359
360: 49(ivec3) Load 320(u16v)
361: 49(ivec3) Load 320(u16v)
362: 49(ivec3) SNegate 361
363: 49(ivec3) Load 320(u16v)
364: 49(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 360 362 363
Store 320(u16v) 364
365: 35(ptr) AccessChain 306(i16v) 131
366: 17(int) Load 365
367: 35(ptr) AccessChain 306(i16v) 114
368: 17(int) Load 367
370: 17(int) Select 369 368 366
Store 312(i16) 370
371: 17(int) Load 312(i16)
372: 188(ivec2) CompositeConstruct 371 371
373: 17(int) Load 312(i16)
374: 17(int) SNegate 373
375: 188(ivec2) CompositeConstruct 374 374
378: 188(ivec2) Select 377 375 372
Store 306(i16v) 378
379: 15(ptr) AccessChain 320(u16v) 131
380: 14(int) Load 379
381: 15(ptr) AccessChain 320(u16v) 114
382: 14(int) Load 381
383: 14(int) Select 369 382 380
Store 322(u16) 383
384: 14(int) Load 322(u16)
385: 49(ivec3) CompositeConstruct 384 384 384
386: 14(int) Load 322(u16)
387: 14(int) SNegate 386
388: 49(ivec3) CompositeConstruct 387 387 387
391: 49(ivec3) Select 390 388 385
Store 320(u16v) 391
395: 392(fvec3) Load 394(f16v)
399:398(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 395
400: 54(ivec3) CompositeExtract 399 1
Store 397(exp) 400
401: 392(fvec3) CompositeExtract 399 0
Store 394(f16v) 401
402: 392(fvec3) Load 394(f16v)
403: 54(ivec3) Load 397(exp)
404: 392(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 402 403
Store 394(f16v) 404
405: 392(fvec3) Load 394(f16v)
406: 263(fvec2) VectorShuffle 405 405 0 1
407: 188(ivec2) Bitcast 406
Store 306(i16v) 407
409: 408(ptr) AccessChain 394(f16v) 120
410: 262(float) Load 409
411: 14(int) Bitcast 410
412: 15(ptr) AccessChain 320(u16v) 131
Store 412 411
413: 188(ivec2) Load 306(i16v)
414: 263(fvec2) Bitcast 413
415: 392(fvec3) Load 394(f16v)
416: 392(fvec3) VectorShuffle 415 414 3 4 2
Store 394(f16v) 416
417: 49(ivec3) Load 320(u16v)
418: 392(fvec3) Bitcast 417
Store 394(f16v) 418
420: 188(ivec2) Load 306(i16v)
421: 28(int) Bitcast 420
Store 419(packi) 421
422: 28(int) Load 419(packi)
423: 188(ivec2) Bitcast 422
Store 306(i16v) 423
425: 49(ivec3) Load 320(u16v)
426: 199(ivec2) VectorShuffle 425 425 0 1
427: 18(int) Bitcast 426
Store 424(packu) 427
428: 18(int) Load 424(packu)
429: 199(ivec2) Bitcast 428
430: 49(ivec3) Load 320(u16v)
431: 49(ivec3) VectorShuffle 430 429 3 4 2
Store 320(u16v) 431
434: 17(int) Load 312(i16)
436: 435(ivec4) CompositeConstruct 434 434 434 434
437: 274(int) Bitcast 436
Store 433(packi64) 437
438: 274(int) Load 433(packi64)
439: 435(ivec4) Bitcast 438
440: 188(ivec2) VectorShuffle 439 439 0 1
Store 306(i16v) 440
443: 14(int) Load 322(u16)
445: 444(ivec4) CompositeConstruct 443 443 443 443
446: 286(int) Bitcast 445
Store 442(packu64) 446
447: 286(int) Load 442(packu64)
448: 444(ivec4) Bitcast 447
449: 49(ivec3) VectorShuffle 448 448 0 1 2
Store 320(u16v) 449
452: 49(ivec3) Load 320(u16v)
453: 14(int) Load 322(u16)
454: 49(ivec3) CompositeConstruct 453 453 453
455: 389(bvec3) ULessThan 452 454
Store 451(bv) 455
456: 188(ivec2) Load 306(i16v)
457: 17(int) Load 312(i16)
458: 188(ivec2) CompositeConstruct 457 457
459: 191(bvec2) SLessThan 456 458
460: 389(bvec3) Load 451(bv)
461: 389(bvec3) VectorShuffle 460 459 3 4 2
Store 451(bv) 461
462: 49(ivec3) Load 320(u16v)
463: 14(int) Load 322(u16)
464: 49(ivec3) CompositeConstruct 463 463 463
465: 389(bvec3) ULessThanEqual 462 464
Store 451(bv) 465
466: 188(ivec2) Load 306(i16v)
467: 17(int) Load 312(i16)
468: 188(ivec2) CompositeConstruct 467 467
469: 191(bvec2) SLessThanEqual 466 468
470: 389(bvec3) Load 451(bv)
471: 389(bvec3) VectorShuffle 470 469 3 4 2
Store 451(bv) 471
472: 49(ivec3) Load 320(u16v)
473: 14(int) Load 322(u16)
474: 49(ivec3) CompositeConstruct 473 473 473
475: 389(bvec3) UGreaterThan 472 474
Store 451(bv) 475
476: 188(ivec2) Load 306(i16v)
477: 17(int) Load 312(i16)
478: 188(ivec2) CompositeConstruct 477 477
479: 191(bvec2) SGreaterThan 476 478
480: 389(bvec3) Load 451(bv)
481: 389(bvec3) VectorShuffle 480 479 3 4 2
Store 451(bv) 481
482: 49(ivec3) Load 320(u16v)
483: 14(int) Load 322(u16)
484: 49(ivec3) CompositeConstruct 483 483 483
485: 389(bvec3) UGreaterThanEqual 482 484
Store 451(bv) 485
486: 188(ivec2) Load 306(i16v)
487: 17(int) Load 312(i16)
488: 188(ivec2) CompositeConstruct 487 487
489: 191(bvec2) SGreaterThanEqual 486 488
490: 389(bvec3) Load 451(bv)
491: 389(bvec3) VectorShuffle 490 489 3 4 2
Store 451(bv) 491
492: 49(ivec3) Load 320(u16v)
493: 14(int) Load 322(u16)
494: 49(ivec3) CompositeConstruct 493 493 493
495: 389(bvec3) IEqual 492 494
Store 451(bv) 495
496: 188(ivec2) Load 306(i16v)
497: 17(int) Load 312(i16)
498: 188(ivec2) CompositeConstruct 497 497
499: 191(bvec2) IEqual 496 498
500: 389(bvec3) Load 451(bv)
501: 389(bvec3) VectorShuffle 500 499 3 4 2
Store 451(bv) 501
502: 49(ivec3) Load 320(u16v)
503: 14(int) Load 322(u16)
504: 49(ivec3) CompositeConstruct 503 503 503
505: 389(bvec3) INotEqual 502 504
Store 451(bv) 505
506: 188(ivec2) Load 306(i16v)
507: 17(int) Load 312(i16)
508: 188(ivec2) CompositeConstruct 507 507
509: 191(bvec2) INotEqual 506 508
510: 389(bvec3) Load 451(bv)
511: 389(bvec3) VectorShuffle 510 509 3 4 2
Store 451(bv) 511
Return
FunctionEnd