xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/baseResults/spv.float16.frag.out (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1spv.float16.frag
2Validation failed
3// Module Version 10000
4// Generated by (magic number): 8000b
5// Id's are bound by 541
6
7                              Capability Shader
8                              Capability Float16
9                              Capability Float64
10                              Capability Int64
11                              Capability DerivativeControl
12                              Capability InterpolationFunction
13                              Capability StorageUniformBufferBlock16
14                              Capability StorageUniform16
15                              Capability StorageInputOutput16
16                              Extension  "SPV_AMD_gpu_shader_half_float"
17                              Extension  "SPV_KHR_16bit_storage"
18               1:             ExtInstImport  "GLSL.std.450"
19                              MemoryModel Logical GLSL450
20                              EntryPoint Fragment 4  "main" 464
21                              ExecutionMode 4 OriginUpperLeft
22                              Source GLSL 450
23                              SourceExtension  "GL_AMD_gpu_shader_half_float"
24                              SourceExtension  "GL_ARB_gpu_shader_int64"
25                              Name 4  "main"
26                              Name 6  "literal("
27                              Name 8  "operators("
28                              Name 10  "typeCast("
29                              Name 12  "builtinAngleTrigFuncs("
30                              Name 14  "builtinExpFuncs("
31                              Name 16  "builtinCommonFuncs("
32                              Name 18  "builtinPackUnpackFuncs("
33                              Name 20  "builtinGeometryFuncs("
34                              Name 22  "builtinMatrixFuncs("
35                              Name 24  "builtinVecRelFuncs("
36                              Name 26  "builtinFragProcFuncs("
37                              Name 31  "f16v"
38                              Name 42  "f16v"
39                              Name 64  "f16m"
40                              Name 87  "f16"
41                              Name 111  "b"
42                              Name 153  "f16v"
43                              Name 156  "bv"
44                              Name 167  "fv"
45                              Name 175  "dv"
46                              Name 182  "iv"
47                              Name 189  "uv"
48                              Name 197  "i64v"
49                              Name 205  "u64v"
50                              Name 212  "f16v2"
51                              Name 213  "f16v1"
52                              Name 245  "f16v2"
53                              Name 246  "f16v1"
54                              Name 262  "f16v2"
55                              Name 263  "f16v1"
56                              Name 284  "f16"
57                              Name 288  "f16v3"
58                              Name 290  "ResType"
59                              Name 331  "bv"
60                              Name 352  "b"
61                              Name 362  "iv"
62                              Name 363  "ResType"
63                              Name 371  "u"
64                              Name 372  "f16v"
65                              Name 377  "f16"
66                              Name 378  "f16v1"
67                              Name 382  "f16v2"
68                              Name 388  "f16v3"
69                              Name 407  "f16m3"
70                              Name 408  "f16m1"
71                              Name 410  "f16m2"
72                              Name 419  "f16v1"
73                              Name 421  "f16v2"
74                              Name 426  "f16m4"
75                              Name 429  "f16"
76                              Name 432  "f16m5"
77                              Name 437  "f16m6"
78                              Name 438  "f16m7"
79                              Name 441  "bv"
80                              Name 442  "f16v1"
81                              Name 444  "f16v2"
82                              Name 462  "f16v"
83                              Name 464  "if16v"
84                              Name 521  "S"
85                              MemberName 521(S) 0  "x"
86                              MemberName 521(S) 1  "y"
87                              MemberName 521(S) 2  "z"
88                              Name 523  "B1"
89                              MemberName 523(B1) 0  "a"
90                              MemberName 523(B1) 1  "b"
91                              MemberName 523(B1) 2  "c"
92                              MemberName 523(B1) 3  "d"
93                              MemberName 523(B1) 4  "e"
94                              MemberName 523(B1) 5  "f"
95                              MemberName 523(B1) 6  "g"
96                              MemberName 523(B1) 7  "h"
97                              Name 525  ""
98                              Name 528  "S"
99                              MemberName 528(S) 0  "x"
100                              MemberName 528(S) 1  "y"
101                              MemberName 528(S) 2  "z"
102                              Name 530  "B2"
103                              MemberName 530(B2) 0  "o"
104                              MemberName 530(B2) 1  "p"
105                              MemberName 530(B2) 2  "q"
106                              MemberName 530(B2) 3  "r"
107                              MemberName 530(B2) 4  "s"
108                              MemberName 530(B2) 5  "t"
109                              MemberName 530(B2) 6  "u"
110                              MemberName 530(B2) 7  "v"
111                              Name 532  ""
112                              Name 533  "sf16"
113                              Name 534  "sf"
114                              Name 535  "sd"
115                              Name 536  "f16_to_f"
116                              Name 538  "f16_to_d"
117                              Name 539  "f_to_f16"
118                              Name 540  "d_to_f16"
119                              Decorate 464(if16v) Location 0
120                              Decorate 519 ArrayStride 16
121                              Decorate 520 ArrayStride 32
122                              MemberDecorate 521(S) 0 Offset 0
123                              MemberDecorate 521(S) 1 Offset 4
124                              MemberDecorate 521(S) 2 Offset 8
125                              Decorate 522 ArrayStride 16
126                              Decorate 523(B1) Block
127                              MemberDecorate 523(B1) 0 Offset 0
128                              MemberDecorate 523(B1) 1 Offset 4
129                              MemberDecorate 523(B1) 2 Offset 8
130                              MemberDecorate 523(B1) 3 Offset 16
131                              MemberDecorate 523(B1) 4 ColMajor
132                              MemberDecorate 523(B1) 4 MatrixStride 16
133                              MemberDecorate 523(B1) 4 Offset 48
134                              MemberDecorate 523(B1) 5 ColMajor
135                              MemberDecorate 523(B1) 5 MatrixStride 16
136                              MemberDecorate 523(B1) 5 Offset 80
137                              MemberDecorate 523(B1) 6 Offset 144
138                              MemberDecorate 523(B1) 7 Offset 160
139                              Decorate 525 Binding 0
140                              Decorate 525 DescriptorSet 0
141                              Decorate 526 ArrayStride 2
142                              Decorate 527 ArrayStride 12
143                              MemberDecorate 528(S) 0 Offset 0
144                              MemberDecorate 528(S) 1 Offset 4
145                              MemberDecorate 528(S) 2 Offset 8
146                              Decorate 529 ArrayStride 16
147                              Decorate 530(B2) BufferBlock
148                              MemberDecorate 530(B2) 0 Offset 0
149                              MemberDecorate 530(B2) 1 Offset 4
150                              MemberDecorate 530(B2) 2 Offset 8
151                              MemberDecorate 530(B2) 3 Offset 14
152                              MemberDecorate 530(B2) 4 RowMajor
153                              MemberDecorate 530(B2) 4 MatrixStride 4
154                              MemberDecorate 530(B2) 4 Offset 20
155                              MemberDecorate 530(B2) 5 RowMajor
156                              MemberDecorate 530(B2) 5 MatrixStride 4
157                              MemberDecorate 530(B2) 5 Offset 32
158                              MemberDecorate 530(B2) 6 Offset 56
159                              MemberDecorate 530(B2) 7 Offset 72
160                              Decorate 532 Binding 0
161                              Decorate 532 DescriptorSet 0
162                              Decorate 533(sf16) SpecId 100
163                              Decorate 534(sf) SpecId 101
164                              Decorate 535(sd) SpecId 102
165               2:             TypeVoid
166               3:             TypeFunction 2
167              28:             TypeFloat 16
168              29:             TypeVector 28(float16_t) 2
169              30:             TypePointer Function 29(f16vec2)
170              32:28(float16_t) Constant 16
171              33:             TypeInt 32 0
172              34:     33(int) Constant 0
173              35:             TypePointer Function 28(float16_t)
174              37:28(float16_t) Constant 46080
175              38:28(float16_t) Constant 10158
176              39: 29(f16vec2) ConstantComposite 37 38
177              56:28(float16_t) Constant 15360
178              62:             TypeMatrix 29(f16vec2) 2
179              63:             TypePointer Function 62
180              90:     33(int) Constant 1
181             109:             TypeBool
182             110:             TypePointer Function 109(bool)
183             151:             TypeVector 28(float16_t) 3
184             152:             TypePointer Function 151(f16vec3)
185             154:             TypeVector 109(bool) 3
186             155:             TypePointer Function 154(bvec3)
187             158:28(float16_t) Constant 0
188             159:151(f16vec3) ConstantComposite 158 158 158
189             160:151(f16vec3) ConstantComposite 56 56 56
190             164:             TypeFloat 32
191             165:             TypeVector 164(float) 3
192             166:             TypePointer Function 165(fvec3)
193             172:             TypeFloat 64
194             173:             TypeVector 172(float64_t) 3
195             174:             TypePointer Function 173(f64vec3)
196             179:             TypeInt 32 1
197             180:             TypeVector 179(int) 3
198             181:             TypePointer Function 180(ivec3)
199             187:             TypeVector 33(int) 3
200             188:             TypePointer Function 187(ivec3)
201             194:             TypeInt 64 1
202             195:             TypeVector 194(int64_t) 3
203             196:             TypePointer Function 195(i64vec3)
204             202:             TypeInt 64 0
205             203:             TypeVector 202(int64_t) 3
206             204:             TypePointer Function 203(i64vec3)
207             210:             TypeVector 28(float16_t) 4
208             211:             TypePointer Function 210(f16vec4)
209    290(ResType):             TypeStruct 151(f16vec3) 151(f16vec3)
210    363(ResType):             TypeStruct 151(f16vec3) 180(ivec3)
211             370:             TypePointer Function 33(int)
212             405:             TypeMatrix 151(f16vec3) 2
213             406:             TypePointer Function 405
214             424:             TypeMatrix 29(f16vec2) 3
215             425:             TypePointer Function 424
216             430:             TypeMatrix 151(f16vec3) 3
217             431:             TypePointer Function 430
218             435:             TypeMatrix 210(f16vec4) 4
219             436:             TypePointer Function 435
220             463:             TypePointer Input 151(f16vec3)
221      464(if16v):    463(ptr) Variable Input
222             465:             TypePointer Input 28(float16_t)
223             508:    179(int) Constant 1
224             515:28(float16_t) Constant 14336
225             516: 29(f16vec2) ConstantComposite 515 515
226             518:     33(int) Constant 2
227             519:             TypeArray 28(float16_t) 518
228             520:             TypeArray 405 518
229          521(S):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
230             522:             TypeArray 521(S) 518
231         523(B1):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519 405 520 521(S) 522
232             524:             TypePointer Uniform 523(B1)
233             525:    524(ptr) Variable Uniform
234             526:             TypeArray 28(float16_t) 518
235             527:             TypeArray 405 518
236          528(S):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
237             529:             TypeArray 528(S) 518
238         530(B2):             TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 526 405 527 528(S) 529
239             531:             TypePointer Uniform 530(B2)
240             532:    531(ptr) Variable Uniform
241       533(sf16):28(float16_t) SpecConstant 12288
242         534(sf):  164(float) SpecConstant 1048576000
243         535(sd):172(float64_t) SpecConstant 0 1071644672
244   536(f16_to_f):  164(float) SpecConstantOp 115 533(sf16)
245             537:  164(float) SpecConstantOp 115 533(sf16)
246   538(f16_to_d):172(float64_t) SpecConstantOp 115 537
247   539(f_to_f16):28(float16_t) SpecConstantOp 115 534(sf)
248   540(d_to_f16):28(float16_t) SpecConstantOp 115 535(sd)
249         4(main):           2 Function None 3
250               5:             Label
251                              Return
252                              FunctionEnd
253     6(literal():           2 Function None 3
254               7:             Label
255        31(f16v):     30(ptr) Variable Function
256              36:     35(ptr) AccessChain 31(f16v) 34
257                              Store 36 32
258              40: 29(f16vec2) Load 31(f16v)
259              41: 29(f16vec2) FAdd 40 39
260                              Store 31(f16v) 41
261                              Return
262                              FunctionEnd
263   8(operators():           2 Function None 3
264               9:             Label
265        42(f16v):     30(ptr) Variable Function
266        64(f16m):     63(ptr) Variable Function
267         87(f16):     35(ptr) Variable Function
268          111(b):    110(ptr) Variable Function
269              43: 29(f16vec2) Load 42(f16v)
270              44: 29(f16vec2) Load 42(f16v)
271              45: 29(f16vec2) FAdd 44 43
272                              Store 42(f16v) 45
273              46: 29(f16vec2) Load 42(f16v)
274              47: 29(f16vec2) Load 42(f16v)
275              48: 29(f16vec2) FSub 47 46
276                              Store 42(f16v) 48
277              49: 29(f16vec2) Load 42(f16v)
278              50: 29(f16vec2) Load 42(f16v)
279              51: 29(f16vec2) FMul 50 49
280                              Store 42(f16v) 51
281              52: 29(f16vec2) Load 42(f16v)
282              53: 29(f16vec2) Load 42(f16v)
283              54: 29(f16vec2) FDiv 53 52
284                              Store 42(f16v) 54
285              55: 29(f16vec2) Load 42(f16v)
286              57: 29(f16vec2) CompositeConstruct 56 56
287              58: 29(f16vec2) FAdd 55 57
288                              Store 42(f16v) 58
289              59: 29(f16vec2) Load 42(f16v)
290              60: 29(f16vec2) CompositeConstruct 56 56
291              61: 29(f16vec2) FSub 59 60
292                              Store 42(f16v) 61
293              65:          62 Load 64(f16m)
294              66: 29(f16vec2) CompositeConstruct 56 56
295              67: 29(f16vec2) CompositeExtract 65 0
296              68: 29(f16vec2) FAdd 67 66
297              69: 29(f16vec2) CompositeExtract 65 1
298              70: 29(f16vec2) FAdd 69 66
299              71:          62 CompositeConstruct 68 70
300                              Store 64(f16m) 71
301              72:          62 Load 64(f16m)
302              73: 29(f16vec2) CompositeConstruct 56 56
303              74: 29(f16vec2) CompositeExtract 72 0
304              75: 29(f16vec2) FSub 74 73
305              76: 29(f16vec2) CompositeExtract 72 1
306              77: 29(f16vec2) FSub 76 73
307              78:          62 CompositeConstruct 75 77
308                              Store 64(f16m) 78
309              79: 29(f16vec2) Load 42(f16v)
310              80: 29(f16vec2) FNegate 79
311                              Store 42(f16v) 80
312              81:          62 Load 64(f16m)
313              82: 29(f16vec2) CompositeExtract 81 0
314              83: 29(f16vec2) FNegate 82
315              84: 29(f16vec2) CompositeExtract 81 1
316              85: 29(f16vec2) FNegate 84
317              86:          62 CompositeConstruct 83 85
318                              Store 64(f16m) 86
319              88:     35(ptr) AccessChain 42(f16v) 34
320              89:28(float16_t) Load 88
321              91:     35(ptr) AccessChain 42(f16v) 90
322              92:28(float16_t) Load 91
323              93:28(float16_t) FAdd 89 92
324                              Store 87(f16) 93
325              94:     35(ptr) AccessChain 42(f16v) 34
326              95:28(float16_t) Load 94
327              96:     35(ptr) AccessChain 42(f16v) 90
328              97:28(float16_t) Load 96
329              98:28(float16_t) FSub 95 97
330                              Store 87(f16) 98
331              99:     35(ptr) AccessChain 42(f16v) 34
332             100:28(float16_t) Load 99
333             101:     35(ptr) AccessChain 42(f16v) 90
334             102:28(float16_t) Load 101
335             103:28(float16_t) FMul 100 102
336                              Store 87(f16) 103
337             104:     35(ptr) AccessChain 42(f16v) 34
338             105:28(float16_t) Load 104
339             106:     35(ptr) AccessChain 42(f16v) 90
340             107:28(float16_t) Load 106
341             108:28(float16_t) FDiv 105 107
342                              Store 87(f16) 108
343             112:     35(ptr) AccessChain 42(f16v) 34
344             113:28(float16_t) Load 112
345             114:28(float16_t) Load 87(f16)
346             115:   109(bool) FUnordNotEqual 113 114
347                              Store 111(b) 115
348             116:     35(ptr) AccessChain 42(f16v) 90
349             117:28(float16_t) Load 116
350             118:28(float16_t) Load 87(f16)
351             119:   109(bool) FOrdEqual 117 118
352                              Store 111(b) 119
353             120:     35(ptr) AccessChain 42(f16v) 34
354             121:28(float16_t) Load 120
355             122:28(float16_t) Load 87(f16)
356             123:   109(bool) FOrdGreaterThan 121 122
357                              Store 111(b) 123
358             124:     35(ptr) AccessChain 42(f16v) 90
359             125:28(float16_t) Load 124
360             126:28(float16_t) Load 87(f16)
361             127:   109(bool) FOrdLessThan 125 126
362                              Store 111(b) 127
363             128:     35(ptr) AccessChain 42(f16v) 34
364             129:28(float16_t) Load 128
365             130:28(float16_t) Load 87(f16)
366             131:   109(bool) FOrdGreaterThanEqual 129 130
367                              Store 111(b) 131
368             132:     35(ptr) AccessChain 42(f16v) 90
369             133:28(float16_t) Load 132
370             134:28(float16_t) Load 87(f16)
371             135:   109(bool) FOrdLessThanEqual 133 134
372                              Store 111(b) 135
373             136: 29(f16vec2) Load 42(f16v)
374             137:28(float16_t) Load 87(f16)
375             138: 29(f16vec2) VectorTimesScalar 136 137
376                              Store 42(f16v) 138
377             139:          62 Load 64(f16m)
378             140:28(float16_t) Load 87(f16)
379             141:          62 MatrixTimesScalar 139 140
380                              Store 64(f16m) 141
381             142:          62 Load 64(f16m)
382             143: 29(f16vec2) Load 42(f16v)
383             144: 29(f16vec2) MatrixTimesVector 142 143
384                              Store 42(f16v) 144
385             145: 29(f16vec2) Load 42(f16v)
386             146:          62 Load 64(f16m)
387             147: 29(f16vec2) VectorTimesMatrix 145 146
388                              Store 42(f16v) 147
389             148:          62 Load 64(f16m)
390             149:          62 Load 64(f16m)
391             150:          62 MatrixTimesMatrix 148 149
392                              Store 64(f16m) 150
393                              Return
394                              FunctionEnd
395   10(typeCast():           2 Function None 3
396              11:             Label
397       153(f16v):    152(ptr) Variable Function
398         156(bv):    155(ptr) Variable Function
399         167(fv):    166(ptr) Variable Function
400         175(dv):    174(ptr) Variable Function
401         182(iv):    181(ptr) Variable Function
402         189(uv):    188(ptr) Variable Function
403       197(i64v):    196(ptr) Variable Function
404       205(u64v):    204(ptr) Variable Function
405             157:  154(bvec3) Load 156(bv)
406             161:151(f16vec3) Select 157 160 159
407                              Store 153(f16v) 161
408             162:151(f16vec3) Load 153(f16v)
409             163:  154(bvec3) FUnordNotEqual 162 159
410                              Store 156(bv) 163
411             168:  165(fvec3) Load 167(fv)
412             169:151(f16vec3) FConvert 168
413                              Store 153(f16v) 169
414             170:151(f16vec3) Load 153(f16v)
415             171:  165(fvec3) FConvert 170
416                              Store 167(fv) 171
417             176:173(f64vec3) Load 175(dv)
418             177:151(f16vec3) FConvert 176
419                              Store 153(f16v) 177
420             178:173(f64vec3) Load 175(dv)
421                              Store 175(dv) 178
422             183:  180(ivec3) Load 182(iv)
423             184:151(f16vec3) ConvertSToF 183
424                              Store 153(f16v) 184
425             185:151(f16vec3) Load 153(f16v)
426             186:  180(ivec3) ConvertFToS 185
427                              Store 182(iv) 186
428             190:  187(ivec3) Load 189(uv)
429             191:151(f16vec3) ConvertUToF 190
430                              Store 153(f16v) 191
431             192:151(f16vec3) Load 153(f16v)
432             193:  187(ivec3) ConvertFToU 192
433                              Store 189(uv) 193
434             198:195(i64vec3) Load 197(i64v)
435             199:151(f16vec3) ConvertSToF 198
436                              Store 153(f16v) 199
437             200:151(f16vec3) Load 153(f16v)
438             201:195(i64vec3) ConvertFToS 200
439                              Store 197(i64v) 201
440             206:203(i64vec3) Load 205(u64v)
441             207:151(f16vec3) ConvertUToF 206
442                              Store 153(f16v) 207
443             208:151(f16vec3) Load 153(f16v)
444             209:203(i64vec3) ConvertFToU 208
445                              Store 205(u64v) 209
446                              Return
447                              FunctionEnd
44812(builtinAngleTrigFuncs():           2 Function None 3
449              13:             Label
450      212(f16v2):    211(ptr) Variable Function
451      213(f16v1):    211(ptr) Variable Function
452             214:210(f16vec4) Load 213(f16v1)
453             215:210(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 214
454                              Store 212(f16v2) 215
455             216:210(f16vec4) Load 213(f16v1)
456             217:210(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 216
457                              Store 212(f16v2) 217
458             218:210(f16vec4) Load 213(f16v1)
459             219:210(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 218
460                              Store 212(f16v2) 219
461             220:210(f16vec4) Load 213(f16v1)
462             221:210(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 220
463                              Store 212(f16v2) 221
464             222:210(f16vec4) Load 213(f16v1)
465             223:210(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 222
466                              Store 212(f16v2) 223
467             224:210(f16vec4) Load 213(f16v1)
468             225:210(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 224
469                              Store 212(f16v2) 225
470             226:210(f16vec4) Load 213(f16v1)
471             227:210(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 226
472                              Store 212(f16v2) 227
473             228:210(f16vec4) Load 213(f16v1)
474             229:210(f16vec4) Load 212(f16v2)
475             230:210(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 228 229
476                              Store 212(f16v2) 230
477             231:210(f16vec4) Load 213(f16v1)
478             232:210(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 231
479                              Store 212(f16v2) 232
480             233:210(f16vec4) Load 213(f16v1)
481             234:210(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 233
482                              Store 212(f16v2) 234
483             235:210(f16vec4) Load 213(f16v1)
484             236:210(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 235
485                              Store 212(f16v2) 236
486             237:210(f16vec4) Load 213(f16v1)
487             238:210(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 237
488                              Store 212(f16v2) 238
489             239:210(f16vec4) Load 213(f16v1)
490             240:210(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 239
491                              Store 212(f16v2) 240
492             241:210(f16vec4) Load 213(f16v1)
493             242:210(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 241
494                              Store 212(f16v2) 242
495             243:210(f16vec4) Load 213(f16v1)
496             244:210(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 243
497                              Store 212(f16v2) 244
498                              Return
499                              FunctionEnd
50014(builtinExpFuncs():           2 Function None 3
501              15:             Label
502      245(f16v2):     30(ptr) Variable Function
503      246(f16v1):     30(ptr) Variable Function
504             247: 29(f16vec2) Load 246(f16v1)
505             248: 29(f16vec2) Load 245(f16v2)
506             249: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 247 248
507                              Store 245(f16v2) 249
508             250: 29(f16vec2) Load 246(f16v1)
509             251: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 250
510                              Store 245(f16v2) 251
511             252: 29(f16vec2) Load 246(f16v1)
512             253: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 252
513                              Store 245(f16v2) 253
514             254: 29(f16vec2) Load 246(f16v1)
515             255: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 254
516                              Store 245(f16v2) 255
517             256: 29(f16vec2) Load 246(f16v1)
518             257: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 256
519                              Store 245(f16v2) 257
520             258: 29(f16vec2) Load 246(f16v1)
521             259: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 258
522                              Store 245(f16v2) 259
523             260: 29(f16vec2) Load 246(f16v1)
524             261: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 260
525                              Store 245(f16v2) 261
526                              Return
527                              FunctionEnd
52816(builtinCommonFuncs():           2 Function None 3
529              17:             Label
530      262(f16v2):    152(ptr) Variable Function
531      263(f16v1):    152(ptr) Variable Function
532        284(f16):     35(ptr) Variable Function
533      288(f16v3):    152(ptr) Variable Function
534         331(bv):    155(ptr) Variable Function
535          352(b):    110(ptr) Variable Function
536         362(iv):    181(ptr) Variable Function
537             264:151(f16vec3) Load 263(f16v1)
538             265:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 264
539                              Store 262(f16v2) 265
540             266:151(f16vec3) Load 263(f16v1)
541             267:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 266
542                              Store 262(f16v2) 267
543             268:151(f16vec3) Load 263(f16v1)
544             269:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 268
545                              Store 262(f16v2) 269
546             270:151(f16vec3) Load 263(f16v1)
547             271:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 270
548                              Store 262(f16v2) 271
549             272:151(f16vec3) Load 263(f16v1)
550             273:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 272
551                              Store 262(f16v2) 273
552             274:151(f16vec3) Load 263(f16v1)
553             275:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 274
554                              Store 262(f16v2) 275
555             276:151(f16vec3) Load 263(f16v1)
556             277:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 276
557                              Store 262(f16v2) 277
558             278:151(f16vec3) Load 263(f16v1)
559             279:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 278
560                              Store 262(f16v2) 279
561             280:151(f16vec3) Load 263(f16v1)
562             281:151(f16vec3) Load 262(f16v2)
563             282:151(f16vec3) FMod 280 281
564                              Store 262(f16v2) 282
565             283:151(f16vec3) Load 263(f16v1)
566             285:28(float16_t) Load 284(f16)
567             286:151(f16vec3) CompositeConstruct 285 285 285
568             287:151(f16vec3) FMod 283 286
569                              Store 262(f16v2) 287
570             289:151(f16vec3) Load 263(f16v1)
571             291:290(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 289
572             292:151(f16vec3) CompositeExtract 291 1
573                              Store 262(f16v2) 292
574             293:151(f16vec3) CompositeExtract 291 0
575                              Store 288(f16v3) 293
576             294:151(f16vec3) Load 263(f16v1)
577             295:151(f16vec3) Load 262(f16v2)
578             296:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 294 295
579                              Store 288(f16v3) 296
580             297:151(f16vec3) Load 263(f16v1)
581             298:28(float16_t) Load 284(f16)
582             299:151(f16vec3) CompositeConstruct 298 298 298
583             300:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 297 299
584                              Store 288(f16v3) 300
585             301:151(f16vec3) Load 263(f16v1)
586             302:151(f16vec3) Load 262(f16v2)
587             303:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 301 302
588                              Store 288(f16v3) 303
589             304:151(f16vec3) Load 263(f16v1)
590             305:28(float16_t) Load 284(f16)
591             306:151(f16vec3) CompositeConstruct 305 305 305
592             307:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 304 306
593                              Store 288(f16v3) 307
594             308:151(f16vec3) Load 263(f16v1)
595             309:28(float16_t) Load 284(f16)
596             310:     35(ptr) AccessChain 262(f16v2) 34
597             311:28(float16_t) Load 310
598             312:151(f16vec3) CompositeConstruct 309 309 309
599             313:151(f16vec3) CompositeConstruct 311 311 311
600             314:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 308 312 313
601                              Store 288(f16v3) 314
602             315:151(f16vec3) Load 263(f16v1)
603             316:151(f16vec3) Load 262(f16v2)
604             317:28(float16_t) Load 284(f16)
605             318:151(f16vec3) CompositeConstruct 317 317 317
606             319:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 315 316 318
607                              Store 288(f16v3) 319
608             320:151(f16vec3) Load 263(f16v1)
609             321:151(f16vec3) Load 262(f16v2)
610             322:28(float16_t) Load 284(f16)
611             323:151(f16vec3) CompositeConstruct 322 322 322
612             324:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 320 321 323
613                              Store 288(f16v3) 324
614             325:151(f16vec3) Load 263(f16v1)
615             326:151(f16vec3) Load 262(f16v2)
616             327:151(f16vec3) Load 288(f16v3)
617             328:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 325 326 327
618                              Store 288(f16v3) 328
619             329:151(f16vec3) Load 263(f16v1)
620             330:151(f16vec3) Load 262(f16v2)
621             332:  154(bvec3) Load 331(bv)
622             333:151(f16vec3) Select 332 330 329
623                              Store 288(f16v3) 333
624             334:151(f16vec3) Load 263(f16v1)
625             335:151(f16vec3) Load 262(f16v2)
626             336:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 334 335
627                              Store 288(f16v3) 336
628             337:28(float16_t) Load 284(f16)
629             338:151(f16vec3) Load 288(f16v3)
630             339:151(f16vec3) CompositeConstruct 337 337 337
631             340:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 339 338
632                              Store 288(f16v3) 340
633             341:151(f16vec3) Load 263(f16v1)
634             342:151(f16vec3) Load 262(f16v2)
635             343:151(f16vec3) Load 288(f16v3)
636             344:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 341 342 343
637                              Store 288(f16v3) 344
638             345:28(float16_t) Load 284(f16)
639             346:     35(ptr) AccessChain 263(f16v1) 34
640             347:28(float16_t) Load 346
641             348:151(f16vec3) Load 262(f16v2)
642             349:151(f16vec3) CompositeConstruct 345 345 345
643             350:151(f16vec3) CompositeConstruct 347 347 347
644             351:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 349 350 348
645                              Store 288(f16v3) 351
646             353:28(float16_t) Load 284(f16)
647             354:   109(bool) IsNan 353
648                              Store 352(b) 354
649             355:151(f16vec3) Load 263(f16v1)
650             356:  154(bvec3) IsInf 355
651                              Store 331(bv) 356
652             357:151(f16vec3) Load 263(f16v1)
653             358:151(f16vec3) Load 262(f16v2)
654             359:151(f16vec3) Load 288(f16v3)
655             360:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 357 358 359
656                              Store 288(f16v3) 360
657             361:151(f16vec3) Load 263(f16v1)
658             364:363(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 361
659             365:  180(ivec3) CompositeExtract 364 1
660                              Store 362(iv) 365
661             366:151(f16vec3) CompositeExtract 364 0
662                              Store 262(f16v2) 366
663             367:151(f16vec3) Load 263(f16v1)
664             368:  180(ivec3) Load 362(iv)
665             369:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 367 368
666                              Store 262(f16v2) 369
667                              Return
668                              FunctionEnd
66918(builtinPackUnpackFuncs():           2 Function None 3
670              19:             Label
671          371(u):    370(ptr) Variable Function
672       372(f16v):     30(ptr) Variable Function
673             373: 29(f16vec2) Load 372(f16v)
674             374:     33(int) Bitcast 373
675                              Store 371(u) 374
676             375:     33(int) Load 371(u)
677             376: 29(f16vec2) Bitcast 375
678                              Store 372(f16v) 376
679                              Return
680                              FunctionEnd
68120(builtinGeometryFuncs():           2 Function None 3
682              21:             Label
683        377(f16):     35(ptr) Variable Function
684      378(f16v1):    152(ptr) Variable Function
685      382(f16v2):    152(ptr) Variable Function
686      388(f16v3):    152(ptr) Variable Function
687             379:151(f16vec3) Load 378(f16v1)
688             380:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 379
689                              Store 377(f16) 380
690             381:151(f16vec3) Load 378(f16v1)
691             383:151(f16vec3) Load 382(f16v2)
692             384:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 381 383
693                              Store 377(f16) 384
694             385:151(f16vec3) Load 378(f16v1)
695             386:151(f16vec3) Load 382(f16v2)
696             387:28(float16_t) Dot 385 386
697                              Store 377(f16) 387
698             389:151(f16vec3) Load 378(f16v1)
699             390:151(f16vec3) Load 382(f16v2)
700             391:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 389 390
701                              Store 388(f16v3) 391
702             392:151(f16vec3) Load 378(f16v1)
703             393:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 392
704                              Store 382(f16v2) 393
705             394:151(f16vec3) Load 378(f16v1)
706             395:151(f16vec3) Load 382(f16v2)
707             396:151(f16vec3) Load 388(f16v3)
708             397:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 394 395 396
709                              Store 388(f16v3) 397
710             398:151(f16vec3) Load 378(f16v1)
711             399:151(f16vec3) Load 382(f16v2)
712             400:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 398 399
713                              Store 388(f16v3) 400
714             401:151(f16vec3) Load 378(f16v1)
715             402:151(f16vec3) Load 382(f16v2)
716             403:28(float16_t) Load 377(f16)
717             404:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 401 402 403
718                              Store 388(f16v3) 404
719                              Return
720                              FunctionEnd
72122(builtinMatrixFuncs():           2 Function None 3
722              23:             Label
723      407(f16m3):    406(ptr) Variable Function
724      408(f16m1):    406(ptr) Variable Function
725      410(f16m2):    406(ptr) Variable Function
726      419(f16v1):    152(ptr) Variable Function
727      421(f16v2):     30(ptr) Variable Function
728      426(f16m4):    425(ptr) Variable Function
729        429(f16):     35(ptr) Variable Function
730      432(f16m5):    431(ptr) Variable Function
731      437(f16m6):    436(ptr) Variable Function
732      438(f16m7):    436(ptr) Variable Function
733             409:         405 Load 408(f16m1)
734             411:         405 Load 410(f16m2)
735             412:151(f16vec3) CompositeExtract 409 0
736             413:151(f16vec3) CompositeExtract 411 0
737             414:151(f16vec3) FMul 412 413
738             415:151(f16vec3) CompositeExtract 409 1
739             416:151(f16vec3) CompositeExtract 411 1
740             417:151(f16vec3) FMul 415 416
741             418:         405 CompositeConstruct 414 417
742                              Store 407(f16m3) 418
743             420:151(f16vec3) Load 419(f16v1)
744             422: 29(f16vec2) Load 421(f16v2)
745             423:         405 OuterProduct 420 422
746                              Store 408(f16m1) 423
747             427:         405 Load 408(f16m1)
748             428:         424 Transpose 427
749                              Store 426(f16m4) 428
750             433:         430 Load 432(f16m5)
751             434:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 433
752                              Store 429(f16) 434
753             439:         435 Load 438(f16m7)
754             440:         435 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 439
755                              Store 437(f16m6) 440
756                              Return
757                              FunctionEnd
75824(builtinVecRelFuncs():           2 Function None 3
759              25:             Label
760         441(bv):    155(ptr) Variable Function
761      442(f16v1):    152(ptr) Variable Function
762      444(f16v2):    152(ptr) Variable Function
763             443:151(f16vec3) Load 442(f16v1)
764             445:151(f16vec3) Load 444(f16v2)
765             446:  154(bvec3) FOrdLessThan 443 445
766                              Store 441(bv) 446
767             447:151(f16vec3) Load 442(f16v1)
768             448:151(f16vec3) Load 444(f16v2)
769             449:  154(bvec3) FOrdLessThanEqual 447 448
770                              Store 441(bv) 449
771             450:151(f16vec3) Load 442(f16v1)
772             451:151(f16vec3) Load 444(f16v2)
773             452:  154(bvec3) FOrdGreaterThan 450 451
774                              Store 441(bv) 452
775             453:151(f16vec3) Load 442(f16v1)
776             454:151(f16vec3) Load 444(f16v2)
777             455:  154(bvec3) FOrdGreaterThanEqual 453 454
778                              Store 441(bv) 455
779             456:151(f16vec3) Load 442(f16v1)
780             457:151(f16vec3) Load 444(f16v2)
781             458:  154(bvec3) FOrdEqual 456 457
782                              Store 441(bv) 458
783             459:151(f16vec3) Load 442(f16v1)
784             460:151(f16vec3) Load 444(f16v2)
785             461:  154(bvec3) FUnordNotEqual 459 460
786                              Store 441(bv) 461
787                              Return
788                              FunctionEnd
78926(builtinFragProcFuncs():           2 Function None 3
790              27:             Label
791       462(f16v):    152(ptr) Variable Function
792             466:    465(ptr) AccessChain 464(if16v) 34
793             467:28(float16_t) Load 466
794             468:28(float16_t) DPdx 467
795             469:     35(ptr) AccessChain 462(f16v) 34
796                              Store 469 468
797             470:    465(ptr) AccessChain 464(if16v) 90
798             471:28(float16_t) Load 470
799             472:28(float16_t) DPdy 471
800             473:     35(ptr) AccessChain 462(f16v) 90
801                              Store 473 472
802             474:151(f16vec3) Load 464(if16v)
803             475: 29(f16vec2) VectorShuffle 474 474 0 1
804             476: 29(f16vec2) DPdxFine 475
805             477:     35(ptr) AccessChain 462(f16v) 34
806             478:28(float16_t) CompositeExtract 476 0
807                              Store 477 478
808             479:     35(ptr) AccessChain 462(f16v) 90
809             480:28(float16_t) CompositeExtract 476 1
810                              Store 479 480
811             481:151(f16vec3) Load 464(if16v)
812             482: 29(f16vec2) VectorShuffle 481 481 0 1
813             483: 29(f16vec2) DPdyFine 482
814             484:     35(ptr) AccessChain 462(f16v) 34
815             485:28(float16_t) CompositeExtract 483 0
816                              Store 484 485
817             486:     35(ptr) AccessChain 462(f16v) 90
818             487:28(float16_t) CompositeExtract 483 1
819                              Store 486 487
820             488:151(f16vec3) Load 464(if16v)
821             489:151(f16vec3) DPdxCoarse 488
822                              Store 462(f16v) 489
823             490:151(f16vec3) Load 464(if16v)
824             491:151(f16vec3) DPdxCoarse 490
825                              Store 462(f16v) 491
826             492:    465(ptr) AccessChain 464(if16v) 34
827             493:28(float16_t) Load 492
828             494:28(float16_t) Fwidth 493
829             495:     35(ptr) AccessChain 462(f16v) 34
830                              Store 495 494
831             496:151(f16vec3) Load 464(if16v)
832             497: 29(f16vec2) VectorShuffle 496 496 0 1
833             498: 29(f16vec2) FwidthFine 497
834             499:     35(ptr) AccessChain 462(f16v) 34
835             500:28(float16_t) CompositeExtract 498 0
836                              Store 499 500
837             501:     35(ptr) AccessChain 462(f16v) 90
838             502:28(float16_t) CompositeExtract 498 1
839                              Store 501 502
840             503:151(f16vec3) Load 464(if16v)
841             504:151(f16vec3) FwidthCoarse 503
842                              Store 462(f16v) 504
843             505:    465(ptr) AccessChain 464(if16v) 34
844             506:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 505
845             507:     35(ptr) AccessChain 462(f16v) 34
846                              Store 507 506
847             509:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 464(if16v) 508
848             510: 29(f16vec2) VectorShuffle 509 509 0 1
849             511:     35(ptr) AccessChain 462(f16v) 34
850             512:28(float16_t) CompositeExtract 510 0
851                              Store 511 512
852             513:     35(ptr) AccessChain 462(f16v) 90
853             514:28(float16_t) CompositeExtract 510 1
854                              Store 513 514
855             517:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 464(if16v) 516
856                              Store 462(f16v) 517
857                              Return
858                              FunctionEnd
859