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