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