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