blob: bee206856117e81980ee7e0406606bd26fd2c312 [file] [log] [blame]
spv.float64.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 519
Capability Shader
Capability Float16
Capability Float64
Capability Int64
Capability Int16
Capability Int8
Capability DerivativeControl
Capability InterpolationFunction
Extension "SPV_AMD_gpu_shader_half_float"
Extension "SPV_AMD_gpu_shader_int16"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 456
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_KHX_shader_explicit_arithmetic_types"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_float16"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_float32"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_float64"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int16"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int32"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int64"
SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int8"
Name 4 "main"
Name 6 "literal("
Name 8 "operators("
Name 10 "typeCast("
Name 12 "builtinAngleTrigFuncs("
Name 14 "builtinExpFuncs("
Name 16 "builtinCommonFuncs("
Name 18 "builtinGeometryFuncs("
Name 20 "builtinMatrixFuncs("
Name 22 "builtinVecRelFuncs("
Name 24 "builtinFragProcFuncs("
Name 29 "f64v"
Name 40 "f64v"
Name 62 "f64m"
Name 85 "f64"
Name 109 "b"
Name 151 "f64v"
Name 154 "bv"
Name 165 "f16v"
Name 173 "i8v"
Name 179 "i16v"
Name 185 "i32v"
Name 191 "i64v"
Name 194 "u8v"
Name 198 "u16v"
Name 203 "u32v"
Name 209 "u64v"
Name 214 "f64v2"
Name 215 "f64v1"
Name 247 "f64v2"
Name 248 "f64v1"
Name 264 "f64v2"
Name 265 "f64v1"
Name 286 "f64"
Name 290 "f64v3"
Name 330 "bv"
Name 351 "b"
Name 361 "iv"
Name 362 "ResType"
Name 369 "f64"
Name 370 "f64v1"
Name 374 "f64v2"
Name 380 "f64v3"
Name 399 "f64m3"
Name 400 "f64m1"
Name 402 "f64m2"
Name 411 "f64v1"
Name 413 "f64v2"
Name 418 "f64m4"
Name 421 "f64"
Name 424 "f64m5"
Name 429 "f64m6"
Name 430 "f64m7"
Name 433 "bv"
Name 434 "f64v1"
Name 436 "f64v2"
Name 454 "f64v"
Name 456 "if64v"
Name 505 "S"
MemberName 505(S) 0 "x"
MemberName 505(S) 1 "y"
MemberName 505(S) 2 "z"
Name 507 "B1"
MemberName 507(B1) 0 "a"
MemberName 507(B1) 1 "b"
MemberName 507(B1) 2 "c"
MemberName 507(B1) 3 "d"
MemberName 507(B1) 4 "e"
MemberName 507(B1) 5 "f"
MemberName 507(B1) 6 "g"
MemberName 507(B1) 7 "h"
Name 509 ""
Name 510 "sf16"
Name 512 "sf"
Name 513 "sd"
Decorate 456(if64v) Flat
Decorate 503 ArrayStride 16
Decorate 504 ArrayStride 64
MemberDecorate 505(S) 0 Offset 0
MemberDecorate 505(S) 1 Offset 16
MemberDecorate 505(S) 2 Offset 32
Decorate 506 ArrayStride 64
MemberDecorate 507(B1) 0 Offset 0
MemberDecorate 507(B1) 1 Offset 16
MemberDecorate 507(B1) 2 Offset 32
MemberDecorate 507(B1) 3 Offset 64
MemberDecorate 507(B1) 4 ColMajor
MemberDecorate 507(B1) 4 Offset 96
MemberDecorate 507(B1) 4 MatrixStride 32
MemberDecorate 507(B1) 5 ColMajor
MemberDecorate 507(B1) 5 Offset 160
MemberDecorate 507(B1) 5 MatrixStride 32
MemberDecorate 507(B1) 6 Offset 288
MemberDecorate 507(B1) 7 Offset 352
Decorate 507(B1) Block
Decorate 509 DescriptorSet 0
Decorate 510(sf16) SpecId 100
Decorate 512(sf) SpecId 101
Decorate 513(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 64
27: TypeVector 26(float) 2
28: TypePointer Function 27(fvec2)
30: 26(float) Constant 2696277389 1051772663
31: TypeInt 32 0
32: 31(int) Constant 0
33: TypePointer Function 26(float)
35: 26(float) Constant 0 3218079744
36: 26(float) Constant 3951369912 1067366481
37: 27(fvec2) ConstantComposite 35 36
54: 26(float) Constant 0 1072693248
60: TypeMatrix 27(fvec2) 2
61: TypePointer Function 60
88: 31(int) Constant 1
107: TypeBool
108: TypePointer Function 107(bool)
149: TypeVector 26(float) 3
150: TypePointer Function 149(fvec3)
152: TypeVector 107(bool) 3
153: TypePointer Function 152(bvec3)
156: 26(float) Constant 0 0
157: 149(fvec3) ConstantComposite 156 156 156
158: 149(fvec3) ConstantComposite 54 54 54
162: TypeFloat 16
163: TypeVector 162(float) 3
164: TypePointer Function 163(fvec3)
170: TypeInt 8 1
171: TypeVector 170(int) 3
172: TypePointer Function 171(ivec3)
176: TypeInt 16 1
177: TypeVector 176(int) 3
178: TypePointer Function 177(ivec3)
182: TypeInt 32 1
183: TypeVector 182(int) 3
184: TypePointer Function 183(ivec3)
188: TypeInt 64 1
189: TypeVector 188(int) 3
190: TypePointer Function 189(ivec3)
197: TypeInt 16 0
201: TypeVector 31(int) 3
202: TypePointer Function 201(ivec3)
206: TypeInt 64 0
207: TypeVector 206(int) 3
208: TypePointer Function 207(ivec3)
212: TypeVector 26(float) 4
213: TypePointer Function 212(fvec4)
362(ResType): TypeStruct 149(fvec3) 183(ivec3)
397: TypeMatrix 149(fvec3) 2
398: TypePointer Function 397
416: TypeMatrix 27(fvec2) 3
417: TypePointer Function 416
422: TypeMatrix 149(fvec3) 3
423: TypePointer Function 422
427: TypeMatrix 212(fvec4) 4
428: TypePointer Function 427
455: TypePointer Input 149(fvec3)
456(if64v): 455(ptr) Variable Input
457: TypePointer Input 26(float)
494: 182(int) Constant 1
499: 26(float) Constant 0 1071644672
500: 27(fvec2) ConstantComposite 499 499
502: 31(int) Constant 2
503: TypeArray 26(float) 502
504: TypeArray 397 502
505(S): TypeStruct 26(float) 27(fvec2) 149(fvec3)
506: TypeArray 505(S) 502
507(B1): TypeStruct 26(float) 27(fvec2) 149(fvec3) 503 397 504 505(S) 506
508: TypePointer Uniform 507(B1)
509: 508(ptr) Variable Uniform
510(sf16): 162(float) SpecConstant 12288
511: TypeFloat 32
512(sf): 511(float) SpecConstant 1048576000
513(sd): 26(float) SpecConstant 0 1071644672
514: 511(float) SpecConstantOp 115 510(sf16)
515: 511(float) SpecConstantOp 115 510(sf16)
516: 26(float) SpecConstantOp 115 515
517: 162(float) SpecConstantOp 115 512(sf)
518: 162(float) SpecConstantOp 115 513(sd)
4(main): 2 Function None 3
5: Label
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
29(f64v): 28(ptr) Variable Function
34: 33(ptr) AccessChain 29(f64v) 32
Store 34 30
38: 27(fvec2) Load 29(f64v)
39: 27(fvec2) FAdd 38 37
Store 29(f64v) 39
Return
FunctionEnd
8(operators(): 2 Function None 3
9: Label
40(f64v): 28(ptr) Variable Function
62(f64m): 61(ptr) Variable Function
85(f64): 33(ptr) Variable Function
109(b): 108(ptr) Variable Function
41: 27(fvec2) Load 40(f64v)
42: 27(fvec2) Load 40(f64v)
43: 27(fvec2) FAdd 42 41
Store 40(f64v) 43
44: 27(fvec2) Load 40(f64v)
45: 27(fvec2) Load 40(f64v)
46: 27(fvec2) FSub 45 44
Store 40(f64v) 46
47: 27(fvec2) Load 40(f64v)
48: 27(fvec2) Load 40(f64v)
49: 27(fvec2) FMul 48 47
Store 40(f64v) 49
50: 27(fvec2) Load 40(f64v)
51: 27(fvec2) Load 40(f64v)
52: 27(fvec2) FDiv 51 50
Store 40(f64v) 52
53: 27(fvec2) Load 40(f64v)
55: 27(fvec2) CompositeConstruct 54 54
56: 27(fvec2) FAdd 53 55
Store 40(f64v) 56
57: 27(fvec2) Load 40(f64v)
58: 27(fvec2) CompositeConstruct 54 54
59: 27(fvec2) FSub 57 58
Store 40(f64v) 59
63: 60 Load 62(f64m)
64: 27(fvec2) CompositeConstruct 54 54
65: 27(fvec2) CompositeExtract 63 0
66: 27(fvec2) FAdd 65 64
67: 27(fvec2) CompositeExtract 63 1
68: 27(fvec2) FAdd 67 64
69: 60 CompositeConstruct 66 68
Store 62(f64m) 69
70: 60 Load 62(f64m)
71: 27(fvec2) CompositeConstruct 54 54
72: 27(fvec2) CompositeExtract 70 0
73: 27(fvec2) FSub 72 71
74: 27(fvec2) CompositeExtract 70 1
75: 27(fvec2) FSub 74 71
76: 60 CompositeConstruct 73 75
Store 62(f64m) 76
77: 27(fvec2) Load 40(f64v)
78: 27(fvec2) FNegate 77
Store 40(f64v) 78
79: 60 Load 62(f64m)
80: 27(fvec2) CompositeExtract 79 0
81: 27(fvec2) FNegate 80
82: 27(fvec2) CompositeExtract 79 1
83: 27(fvec2) FNegate 82
84: 60 CompositeConstruct 81 83
Store 62(f64m) 84
86: 33(ptr) AccessChain 40(f64v) 32
87: 26(float) Load 86
89: 33(ptr) AccessChain 40(f64v) 88
90: 26(float) Load 89
91: 26(float) FAdd 87 90
Store 85(f64) 91
92: 33(ptr) AccessChain 40(f64v) 32
93: 26(float) Load 92
94: 33(ptr) AccessChain 40(f64v) 88
95: 26(float) Load 94
96: 26(float) FSub 93 95
Store 85(f64) 96
97: 33(ptr) AccessChain 40(f64v) 32
98: 26(float) Load 97
99: 33(ptr) AccessChain 40(f64v) 88
100: 26(float) Load 99
101: 26(float) FMul 98 100
Store 85(f64) 101
102: 33(ptr) AccessChain 40(f64v) 32
103: 26(float) Load 102
104: 33(ptr) AccessChain 40(f64v) 88
105: 26(float) Load 104
106: 26(float) FDiv 103 105
Store 85(f64) 106
110: 33(ptr) AccessChain 40(f64v) 32
111: 26(float) Load 110
112: 26(float) Load 85(f64)
113: 107(bool) FOrdNotEqual 111 112
Store 109(b) 113
114: 33(ptr) AccessChain 40(f64v) 88
115: 26(float) Load 114
116: 26(float) Load 85(f64)
117: 107(bool) FOrdEqual 115 116
Store 109(b) 117
118: 33(ptr) AccessChain 40(f64v) 32
119: 26(float) Load 118
120: 26(float) Load 85(f64)
121: 107(bool) FOrdGreaterThan 119 120
Store 109(b) 121
122: 33(ptr) AccessChain 40(f64v) 88
123: 26(float) Load 122
124: 26(float) Load 85(f64)
125: 107(bool) FOrdLessThan 123 124
Store 109(b) 125
126: 33(ptr) AccessChain 40(f64v) 32
127: 26(float) Load 126
128: 26(float) Load 85(f64)
129: 107(bool) FOrdGreaterThanEqual 127 128
Store 109(b) 129
130: 33(ptr) AccessChain 40(f64v) 88
131: 26(float) Load 130
132: 26(float) Load 85(f64)
133: 107(bool) FOrdLessThanEqual 131 132
Store 109(b) 133
134: 27(fvec2) Load 40(f64v)
135: 26(float) Load 85(f64)
136: 27(fvec2) VectorTimesScalar 134 135
Store 40(f64v) 136
137: 60 Load 62(f64m)
138: 26(float) Load 85(f64)
139: 60 MatrixTimesScalar 137 138
Store 62(f64m) 139
140: 60 Load 62(f64m)
141: 27(fvec2) Load 40(f64v)
142: 27(fvec2) MatrixTimesVector 140 141
Store 40(f64v) 142
143: 27(fvec2) Load 40(f64v)
144: 60 Load 62(f64m)
145: 27(fvec2) VectorTimesMatrix 143 144
Store 40(f64v) 145
146: 60 Load 62(f64m)
147: 60 Load 62(f64m)
148: 60 MatrixTimesMatrix 146 147
Store 62(f64m) 148
Return
FunctionEnd
10(typeCast(): 2 Function None 3
11: Label
151(f64v): 150(ptr) Variable Function
154(bv): 153(ptr) Variable Function
165(f16v): 164(ptr) Variable Function
173(i8v): 172(ptr) Variable Function
179(i16v): 178(ptr) Variable Function
185(i32v): 184(ptr) Variable Function
191(i64v): 190(ptr) Variable Function
194(u8v): 172(ptr) Variable Function
198(u16v): 184(ptr) Variable Function
203(u32v): 202(ptr) Variable Function
209(u64v): 208(ptr) Variable Function
155: 152(bvec3) Load 154(bv)
159: 149(fvec3) Select 155 158 157
Store 151(f64v) 159
160: 149(fvec3) Load 151(f64v)
161: 152(bvec3) FOrdNotEqual 160 157
Store 154(bv) 161
166: 163(fvec3) Load 165(f16v)
167: 149(fvec3) FConvert 166
Store 151(f64v) 167
168: 149(fvec3) Load 151(f64v)
169: 163(fvec3) FConvert 168
Store 165(f16v) 169
174: 149(fvec3) Load 151(f64v)
175: 171(ivec3) ConvertFToS 174
Store 173(i8v) 175
180: 149(fvec3) Load 151(f64v)
181: 177(ivec3) ConvertFToS 180
Store 179(i16v) 181
186: 149(fvec3) Load 151(f64v)
187: 183(ivec3) ConvertFToS 186
Store 185(i32v) 187
192: 149(fvec3) Load 151(f64v)
193: 189(ivec3) ConvertFToS 192
Store 191(i64v) 193
195: 149(fvec3) Load 151(f64v)
196: 171(ivec3) ConvertFToS 195
Store 194(u8v) 196
199: 149(fvec3) Load 151(f64v)
200: 183(ivec3) ConvertFToU 199
Store 198(u16v) 200
204: 149(fvec3) Load 151(f64v)
205: 201(ivec3) ConvertFToU 204
Store 203(u32v) 205
210: 149(fvec3) Load 151(f64v)
211: 207(ivec3) ConvertFToU 210
Store 209(u64v) 211
Return
FunctionEnd
12(builtinAngleTrigFuncs(): 2 Function None 3
13: Label
214(f64v2): 213(ptr) Variable Function
215(f64v1): 213(ptr) Variable Function
216: 212(fvec4) Load 215(f64v1)
217: 212(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 216
Store 214(f64v2) 217
218: 212(fvec4) Load 215(f64v1)
219: 212(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 218
Store 214(f64v2) 219
220: 212(fvec4) Load 215(f64v1)
221: 212(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 220
Store 214(f64v2) 221
222: 212(fvec4) Load 215(f64v1)
223: 212(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 222
Store 214(f64v2) 223
224: 212(fvec4) Load 215(f64v1)
225: 212(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 224
Store 214(f64v2) 225
226: 212(fvec4) Load 215(f64v1)
227: 212(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 226
Store 214(f64v2) 227
228: 212(fvec4) Load 215(f64v1)
229: 212(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 228
Store 214(f64v2) 229
230: 212(fvec4) Load 215(f64v1)
231: 212(fvec4) Load 214(f64v2)
232: 212(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 230 231
Store 214(f64v2) 232
233: 212(fvec4) Load 215(f64v1)
234: 212(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 233
Store 214(f64v2) 234
235: 212(fvec4) Load 215(f64v1)
236: 212(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 235
Store 214(f64v2) 236
237: 212(fvec4) Load 215(f64v1)
238: 212(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 237
Store 214(f64v2) 238
239: 212(fvec4) Load 215(f64v1)
240: 212(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 239
Store 214(f64v2) 240
241: 212(fvec4) Load 215(f64v1)
242: 212(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 241
Store 214(f64v2) 242
243: 212(fvec4) Load 215(f64v1)
244: 212(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 243
Store 214(f64v2) 244
245: 212(fvec4) Load 215(f64v1)
246: 212(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 245
Store 214(f64v2) 246
Return
FunctionEnd
14(builtinExpFuncs(): 2 Function None 3
15: Label
247(f64v2): 28(ptr) Variable Function
248(f64v1): 28(ptr) Variable Function
249: 27(fvec2) Load 248(f64v1)
250: 27(fvec2) Load 247(f64v2)
251: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 249 250
Store 247(f64v2) 251
252: 27(fvec2) Load 248(f64v1)
253: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 252
Store 247(f64v2) 253
254: 27(fvec2) Load 248(f64v1)
255: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 254
Store 247(f64v2) 255
256: 27(fvec2) Load 248(f64v1)
257: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 256
Store 247(f64v2) 257
258: 27(fvec2) Load 248(f64v1)
259: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 258
Store 247(f64v2) 259
260: 27(fvec2) Load 248(f64v1)
261: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 260
Store 247(f64v2) 261
262: 27(fvec2) Load 248(f64v1)
263: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 262
Store 247(f64v2) 263
Return
FunctionEnd
16(builtinCommonFuncs(): 2 Function None 3
17: Label
264(f64v2): 150(ptr) Variable Function
265(f64v1): 150(ptr) Variable Function
286(f64): 33(ptr) Variable Function
290(f64v3): 150(ptr) Variable Function
330(bv): 153(ptr) Variable Function
351(b): 108(ptr) Variable Function
361(iv): 184(ptr) Variable Function
266: 149(fvec3) Load 265(f64v1)
267: 149(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 266
Store 264(f64v2) 267
268: 149(fvec3) Load 265(f64v1)
269: 149(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 268
Store 264(f64v2) 269
270: 149(fvec3) Load 265(f64v1)
271: 149(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 270
Store 264(f64v2) 271
272: 149(fvec3) Load 265(f64v1)
273: 149(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 272
Store 264(f64v2) 273
274: 149(fvec3) Load 265(f64v1)
275: 149(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 274
Store 264(f64v2) 275
276: 149(fvec3) Load 265(f64v1)
277: 149(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 276
Store 264(f64v2) 277
278: 149(fvec3) Load 265(f64v1)
279: 149(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 278
Store 264(f64v2) 279
280: 149(fvec3) Load 265(f64v1)
281: 149(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 280
Store 264(f64v2) 281
282: 149(fvec3) Load 265(f64v1)
283: 149(fvec3) Load 264(f64v2)
284: 149(fvec3) FMod 282 283
Store 264(f64v2) 284
285: 149(fvec3) Load 265(f64v1)
287: 26(float) Load 286(f64)
288: 149(fvec3) CompositeConstruct 287 287 287
289: 149(fvec3) FMod 285 288
Store 264(f64v2) 289
291: 149(fvec3) Load 265(f64v1)
292: 149(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 291 264(f64v2)
Store 290(f64v3) 292
293: 149(fvec3) Load 265(f64v1)
294: 149(fvec3) Load 264(f64v2)
295: 149(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 293 294
Store 290(f64v3) 295
296: 149(fvec3) Load 265(f64v1)
297: 26(float) Load 286(f64)
298: 149(fvec3) CompositeConstruct 297 297 297
299: 149(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 296 298
Store 290(f64v3) 299
300: 149(fvec3) Load 265(f64v1)
301: 149(fvec3) Load 264(f64v2)
302: 149(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 300 301
Store 290(f64v3) 302
303: 149(fvec3) Load 265(f64v1)
304: 26(float) Load 286(f64)
305: 149(fvec3) CompositeConstruct 304 304 304
306: 149(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 303 305
Store 290(f64v3) 306
307: 149(fvec3) Load 265(f64v1)
308: 26(float) Load 286(f64)
309: 33(ptr) AccessChain 264(f64v2) 32
310: 26(float) Load 309
311: 149(fvec3) CompositeConstruct 308 308 308
312: 149(fvec3) CompositeConstruct 310 310 310
313: 149(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 307 311 312
Store 290(f64v3) 313
314: 149(fvec3) Load 265(f64v1)
315: 149(fvec3) Load 264(f64v2)
316: 26(float) Load 286(f64)
317: 149(fvec3) CompositeConstruct 316 316 316
318: 149(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 314 315 317
Store 290(f64v3) 318
319: 149(fvec3) Load 265(f64v1)
320: 149(fvec3) Load 264(f64v2)
321: 26(float) Load 286(f64)
322: 149(fvec3) CompositeConstruct 321 321 321
323: 149(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 319 320 322
Store 290(f64v3) 323
324: 149(fvec3) Load 265(f64v1)
325: 149(fvec3) Load 264(f64v2)
326: 149(fvec3) Load 290(f64v3)
327: 149(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 326
Store 290(f64v3) 327
328: 149(fvec3) Load 265(f64v1)
329: 149(fvec3) Load 264(f64v2)
331: 152(bvec3) Load 330(bv)
332: 149(fvec3) Select 331 329 328
Store 290(f64v3) 332
333: 149(fvec3) Load 265(f64v1)
334: 149(fvec3) Load 264(f64v2)
335: 149(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 333 334
Store 290(f64v3) 335
336: 26(float) Load 286(f64)
337: 149(fvec3) Load 290(f64v3)
338: 149(fvec3) CompositeConstruct 336 336 336
339: 149(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 338 337
Store 290(f64v3) 339
340: 149(fvec3) Load 265(f64v1)
341: 149(fvec3) Load 264(f64v2)
342: 149(fvec3) Load 290(f64v3)
343: 149(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 340 341 342
Store 290(f64v3) 343
344: 26(float) Load 286(f64)
345: 33(ptr) AccessChain 265(f64v1) 32
346: 26(float) Load 345
347: 149(fvec3) Load 264(f64v2)
348: 149(fvec3) CompositeConstruct 344 344 344
349: 149(fvec3) CompositeConstruct 346 346 346
350: 149(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 348 349 347
Store 290(f64v3) 350
352: 26(float) Load 286(f64)
353: 107(bool) IsNan 352
Store 351(b) 353
354: 149(fvec3) Load 265(f64v1)
355: 152(bvec3) IsInf 354
Store 330(bv) 355
356: 149(fvec3) Load 265(f64v1)
357: 149(fvec3) Load 264(f64v2)
358: 149(fvec3) Load 290(f64v3)
359: 149(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 356 357 358
Store 290(f64v3) 359
360: 149(fvec3) Load 265(f64v1)
363:362(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 360
364: 183(ivec3) CompositeExtract 363 1
Store 361(iv) 364
365: 149(fvec3) CompositeExtract 363 0
Store 264(f64v2) 365
366: 149(fvec3) Load 265(f64v1)
367: 183(ivec3) Load 361(iv)
368: 149(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 366 367
Store 264(f64v2) 368
Return
FunctionEnd
18(builtinGeometryFuncs(): 2 Function None 3
19: Label
369(f64): 33(ptr) Variable Function
370(f64v1): 150(ptr) Variable Function
374(f64v2): 150(ptr) Variable Function
380(f64v3): 150(ptr) Variable Function
371: 149(fvec3) Load 370(f64v1)
372: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 371
Store 369(f64) 372
373: 149(fvec3) Load 370(f64v1)
375: 149(fvec3) Load 374(f64v2)
376: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 373 375
Store 369(f64) 376
377: 149(fvec3) Load 370(f64v1)
378: 149(fvec3) Load 374(f64v2)
379: 26(float) Dot 377 378
Store 369(f64) 379
381: 149(fvec3) Load 370(f64v1)
382: 149(fvec3) Load 374(f64v2)
383: 149(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 381 382
Store 380(f64v3) 383
384: 149(fvec3) Load 370(f64v1)
385: 149(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 384
Store 374(f64v2) 385
386: 149(fvec3) Load 370(f64v1)
387: 149(fvec3) Load 374(f64v2)
388: 149(fvec3) Load 380(f64v3)
389: 149(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 386 387 388
Store 380(f64v3) 389
390: 149(fvec3) Load 370(f64v1)
391: 149(fvec3) Load 374(f64v2)
392: 149(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 390 391
Store 380(f64v3) 392
393: 149(fvec3) Load 370(f64v1)
394: 149(fvec3) Load 374(f64v2)
395: 26(float) Load 369(f64)
396: 149(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 393 394 395
Store 380(f64v3) 396
Return
FunctionEnd
20(builtinMatrixFuncs(): 2 Function None 3
21: Label
399(f64m3): 398(ptr) Variable Function
400(f64m1): 398(ptr) Variable Function
402(f64m2): 398(ptr) Variable Function
411(f64v1): 150(ptr) Variable Function
413(f64v2): 28(ptr) Variable Function
418(f64m4): 417(ptr) Variable Function
421(f64): 33(ptr) Variable Function
424(f64m5): 423(ptr) Variable Function
429(f64m6): 428(ptr) Variable Function
430(f64m7): 428(ptr) Variable Function
401: 397 Load 400(f64m1)
403: 397 Load 402(f64m2)
404: 149(fvec3) CompositeExtract 401 0
405: 149(fvec3) CompositeExtract 403 0
406: 149(fvec3) FMul 404 405
407: 149(fvec3) CompositeExtract 401 1
408: 149(fvec3) CompositeExtract 403 1
409: 149(fvec3) FMul 407 408
410: 397 CompositeConstruct 406 409
Store 399(f64m3) 410
412: 149(fvec3) Load 411(f64v1)
414: 27(fvec2) Load 413(f64v2)
415: 397 OuterProduct 412 414
Store 400(f64m1) 415
419: 397 Load 400(f64m1)
420: 416 Transpose 419
Store 418(f64m4) 420
425: 422 Load 424(f64m5)
426: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 425
Store 421(f64) 426
431: 427 Load 430(f64m7)
432: 427 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 431
Store 429(f64m6) 432
Return
FunctionEnd
22(builtinVecRelFuncs(): 2 Function None 3
23: Label
433(bv): 153(ptr) Variable Function
434(f64v1): 150(ptr) Variable Function
436(f64v2): 150(ptr) Variable Function
435: 149(fvec3) Load 434(f64v1)
437: 149(fvec3) Load 436(f64v2)
438: 152(bvec3) FOrdLessThan 435 437
Store 433(bv) 438
439: 149(fvec3) Load 434(f64v1)
440: 149(fvec3) Load 436(f64v2)
441: 152(bvec3) FOrdLessThanEqual 439 440
Store 433(bv) 441
442: 149(fvec3) Load 434(f64v1)
443: 149(fvec3) Load 436(f64v2)
444: 152(bvec3) FOrdGreaterThan 442 443
Store 433(bv) 444
445: 149(fvec3) Load 434(f64v1)
446: 149(fvec3) Load 436(f64v2)
447: 152(bvec3) FOrdGreaterThanEqual 445 446
Store 433(bv) 447
448: 149(fvec3) Load 434(f64v1)
449: 149(fvec3) Load 436(f64v2)
450: 152(bvec3) FOrdEqual 448 449
Store 433(bv) 450
451: 149(fvec3) Load 434(f64v1)
452: 149(fvec3) Load 436(f64v2)
453: 152(bvec3) FOrdNotEqual 451 452
Store 433(bv) 453
Return
FunctionEnd
24(builtinFragProcFuncs(): 2 Function None 3
25: Label
454(f64v): 150(ptr) Variable Function
458: 457(ptr) AccessChain 456(if64v) 32
459: 26(float) Load 458
460: 26(float) DPdx 459
461: 33(ptr) AccessChain 454(f64v) 32
Store 461 460
462: 457(ptr) AccessChain 456(if64v) 88
463: 26(float) Load 462
464: 26(float) DPdy 463
465: 33(ptr) AccessChain 454(f64v) 88
Store 465 464
466: 149(fvec3) Load 456(if64v)
467: 27(fvec2) VectorShuffle 466 466 0 1
468: 27(fvec2) DPdxFine 467
469: 149(fvec3) Load 454(f64v)
470: 149(fvec3) VectorShuffle 469 468 3 4 2
Store 454(f64v) 470
471: 149(fvec3) Load 456(if64v)
472: 27(fvec2) VectorShuffle 471 471 0 1
473: 27(fvec2) DPdyFine 472
474: 149(fvec3) Load 454(f64v)
475: 149(fvec3) VectorShuffle 474 473 3 4 2
Store 454(f64v) 475
476: 149(fvec3) Load 456(if64v)
477: 149(fvec3) DPdxCoarse 476
Store 454(f64v) 477
478: 149(fvec3) Load 456(if64v)
479: 149(fvec3) DPdxCoarse 478
Store 454(f64v) 479
480: 457(ptr) AccessChain 456(if64v) 32
481: 26(float) Load 480
482: 26(float) Fwidth 481
483: 33(ptr) AccessChain 454(f64v) 32
Store 483 482
484: 149(fvec3) Load 456(if64v)
485: 27(fvec2) VectorShuffle 484 484 0 1
486: 27(fvec2) FwidthFine 485
487: 149(fvec3) Load 454(f64v)
488: 149(fvec3) VectorShuffle 487 486 3 4 2
Store 454(f64v) 488
489: 149(fvec3) Load 456(if64v)
490: 149(fvec3) FwidthCoarse 489
Store 454(f64v) 490
491: 457(ptr) AccessChain 456(if64v) 32
492: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 491
493: 33(ptr) AccessChain 454(f64v) 32
Store 493 492
495: 149(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 456(if64v) 494
496: 27(fvec2) VectorShuffle 495 495 0 1
497: 149(fvec3) Load 454(f64v)
498: 149(fvec3) VectorShuffle 497 496 3 4 2
Store 454(f64v) 498
501: 149(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 456(if64v) 500
Store 454(f64v) 501
Return
FunctionEnd