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