blob: 85d50b656a255400b4ad42357b8071efbce395e0 [file] [log] [blame]
spv.float32.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 528
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" 466
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 "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 204 "u8v"
Name 208 "u16v"
Name 213 "u32v"
Name 219 "u64v"
Name 224 "f32v2"
Name 225 "f32v1"
Name 257 "f32v2"
Name 258 "f32v1"
Name 274 "f32v2"
Name 275 "f32v1"
Name 296 "f32"
Name 300 "f32v3"
Name 340 "bv"
Name 361 "b"
Name 371 "iv"
Name 372 "ResType"
Name 379 "f32"
Name 380 "f32v1"
Name 384 "f32v2"
Name 390 "f32v3"
Name 409 "f32m3"
Name 410 "f32m1"
Name 412 "f32m2"
Name 421 "f32v1"
Name 423 "f32v2"
Name 428 "f32m4"
Name 431 "f32"
Name 434 "f32m5"
Name 439 "f32m6"
Name 440 "f32m7"
Name 443 "bv"
Name 444 "f32v1"
Name 446 "f32v2"
Name 464 "f32v"
Name 466 "if32v"
Name 515 "S"
MemberName 515(S) 0 "x"
MemberName 515(S) 1 "y"
MemberName 515(S) 2 "z"
Name 517 "B1"
MemberName 517(B1) 0 "a"
MemberName 517(B1) 1 "b"
MemberName 517(B1) 2 "c"
MemberName 517(B1) 3 "d"
MemberName 517(B1) 4 "e"
MemberName 517(B1) 5 "f"
MemberName 517(B1) 6 "g"
MemberName 517(B1) 7 "h"
Name 519 ""
Name 520 "sf16"
Name 521 "sf"
Name 522 "sd"
Decorate 513 ArrayStride 16
Decorate 514 ArrayStride 32
MemberDecorate 515(S) 0 Offset 0
MemberDecorate 515(S) 1 Offset 8
MemberDecorate 515(S) 2 Offset 16
Decorate 516 ArrayStride 32
MemberDecorate 517(B1) 0 Offset 0
MemberDecorate 517(B1) 1 Offset 8
MemberDecorate 517(B1) 2 Offset 16
MemberDecorate 517(B1) 3 Offset 32
MemberDecorate 517(B1) 4 ColMajor
MemberDecorate 517(B1) 4 Offset 64
MemberDecorate 517(B1) 4 MatrixStride 16
MemberDecorate 517(B1) 5 ColMajor
MemberDecorate 517(B1) 5 Offset 96
MemberDecorate 517(B1) 5 MatrixStride 16
MemberDecorate 517(B1) 6 Offset 160
MemberDecorate 517(B1) 7 Offset 192
Decorate 517(B1) Block
Decorate 519 DescriptorSet 0
Decorate 520(sf16) SpecId 100
Decorate 521(sf) SpecId 101
Decorate 522(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(float) 3
151: TypePointer Function 150(fvec3)
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(float) 3
174: TypePointer Function 173(fvec3)
180: TypeInt 8 1
181: TypeVector 180(int) 3
182: TypePointer Function 181(ivec3)
186: TypeInt 16 1
187: TypeVector 186(int) 3
188: TypePointer Function 187(ivec3)
192: TypeInt 32 1
193: TypeVector 192(int) 3
194: TypePointer Function 193(ivec3)
198: TypeInt 64 1
199: TypeVector 198(int) 3
200: TypePointer Function 199(ivec3)
207: TypeInt 16 0
211: TypeVector 31(int) 3
212: TypePointer Function 211(ivec3)
216: TypeInt 64 0
217: TypeVector 216(int) 3
218: TypePointer Function 217(ivec3)
222: TypeVector 26(float) 4
223: TypePointer Function 222(fvec4)
372(ResType): TypeStruct 153(fvec3) 193(ivec3)
407: TypeMatrix 153(fvec3) 2
408: TypePointer Function 407
426: TypeMatrix 27(fvec2) 3
427: TypePointer Function 426
432: TypeMatrix 153(fvec3) 3
433: TypePointer Function 432
437: TypeMatrix 222(fvec4) 4
438: TypePointer Function 437
465: TypePointer Input 153(fvec3)
466(if32v): 465(ptr) Variable Input
467: TypePointer Input 26(float)
504: 192(int) Constant 1
509: 26(float) Constant 1056964608
510: 27(fvec2) ConstantComposite 509 509
512: 31(int) Constant 2
513: TypeArray 26(float) 512
514: TypeArray 407 512
515(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
516: TypeArray 515(S) 512
517(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 513 407 514 515(S) 516
518: TypePointer Uniform 517(B1)
519: 518(ptr) Variable Uniform
520(sf16): 172(float) SpecConstant 12288
521(sf): 26(float) SpecConstant 1048576000
522(sd): 149(float) SpecConstant 0 1071644672
523: 26(float) SpecConstantOp 115 520(sf16)
524: 26(float) SpecConstantOp 115 520(sf16)
525: 149(float) SpecConstantOp 115 524
526: 172(float) SpecConstantOp 115 521(sf)
527: 172(float) SpecConstantOp 115 522(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
204(u8v): 182(ptr) Variable Function
208(u16v): 194(ptr) Variable Function
213(u32v): 212(ptr) Variable Function
219(u64v): 218(ptr) Variable Function
156: 153(fvec3) Load 155(f32v)
157: 150(fvec3) 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(fvec3) Load 152(f64v)
169: 153(fvec3) FConvert 168
Store 155(f32v) 169
170: 153(fvec3) Load 155(f32v)
171: 150(fvec3) FConvert 170
Store 152(f64v) 171
176: 173(fvec3) Load 175(f16v)
177: 153(fvec3) FConvert 176
Store 155(f32v) 177
178: 153(fvec3) Load 155(f32v)
179: 173(fvec3) FConvert 178
Store 175(f16v) 179
184: 153(fvec3) Load 155(f32v)
185: 181(ivec3) ConvertFToS 184
Store 183(i8v) 185
190: 153(fvec3) Load 155(f32v)
191: 187(ivec3) 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(ivec3) ConvertFToS 202
Store 201(i64v) 203
205: 153(fvec3) Load 155(f32v)
206: 181(ivec3) ConvertFToS 205
Store 204(u8v) 206
209: 153(fvec3) Load 155(f32v)
210: 193(ivec3) ConvertFToU 209
Store 208(u16v) 210
214: 153(fvec3) Load 155(f32v)
215: 211(ivec3) ConvertFToU 214
Store 213(u32v) 215
220: 153(fvec3) Load 155(f32v)
221: 217(ivec3) ConvertFToU 220
Store 219(u64v) 221
Return
FunctionEnd
12(builtinAngleTrigFuncs(): 2 Function None 3
13: Label
224(f32v2): 223(ptr) Variable Function
225(f32v1): 223(ptr) Variable Function
226: 222(fvec4) Load 225(f32v1)
227: 222(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 226
Store 224(f32v2) 227
228: 222(fvec4) Load 225(f32v1)
229: 222(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 228
Store 224(f32v2) 229
230: 222(fvec4) Load 225(f32v1)
231: 222(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 230
Store 224(f32v2) 231
232: 222(fvec4) Load 225(f32v1)
233: 222(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 232
Store 224(f32v2) 233
234: 222(fvec4) Load 225(f32v1)
235: 222(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 234
Store 224(f32v2) 235
236: 222(fvec4) Load 225(f32v1)
237: 222(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 236
Store 224(f32v2) 237
238: 222(fvec4) Load 225(f32v1)
239: 222(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 238
Store 224(f32v2) 239
240: 222(fvec4) Load 225(f32v1)
241: 222(fvec4) Load 224(f32v2)
242: 222(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 240 241
Store 224(f32v2) 242
243: 222(fvec4) Load 225(f32v1)
244: 222(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 243
Store 224(f32v2) 244
245: 222(fvec4) Load 225(f32v1)
246: 222(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 245
Store 224(f32v2) 246
247: 222(fvec4) Load 225(f32v1)
248: 222(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 247
Store 224(f32v2) 248
249: 222(fvec4) Load 225(f32v1)
250: 222(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 249
Store 224(f32v2) 250
251: 222(fvec4) Load 225(f32v1)
252: 222(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 251
Store 224(f32v2) 252
253: 222(fvec4) Load 225(f32v1)
254: 222(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 253
Store 224(f32v2) 254
255: 222(fvec4) Load 225(f32v1)
256: 222(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 255
Store 224(f32v2) 256
Return
FunctionEnd
14(builtinExpFuncs(): 2 Function None 3
15: Label
257(f32v2): 28(ptr) Variable Function
258(f32v1): 28(ptr) Variable Function
259: 27(fvec2) Load 258(f32v1)
260: 27(fvec2) Load 257(f32v2)
261: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 259 260
Store 257(f32v2) 261
262: 27(fvec2) Load 258(f32v1)
263: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 262
Store 257(f32v2) 263
264: 27(fvec2) Load 258(f32v1)
265: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 264
Store 257(f32v2) 265
266: 27(fvec2) Load 258(f32v1)
267: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 266
Store 257(f32v2) 267
268: 27(fvec2) Load 258(f32v1)
269: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 268
Store 257(f32v2) 269
270: 27(fvec2) Load 258(f32v1)
271: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 270
Store 257(f32v2) 271
272: 27(fvec2) Load 258(f32v1)
273: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 272
Store 257(f32v2) 273
Return
FunctionEnd
16(builtinCommonFuncs(): 2 Function None 3
17: Label
274(f32v2): 154(ptr) Variable Function
275(f32v1): 154(ptr) Variable Function
296(f32): 33(ptr) Variable Function
300(f32v3): 154(ptr) Variable Function
340(bv): 159(ptr) Variable Function
361(b): 108(ptr) Variable Function
371(iv): 194(ptr) Variable Function
276: 153(fvec3) Load 275(f32v1)
277: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 276
Store 274(f32v2) 277
278: 153(fvec3) Load 275(f32v1)
279: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 278
Store 274(f32v2) 279
280: 153(fvec3) Load 275(f32v1)
281: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 280
Store 274(f32v2) 281
282: 153(fvec3) Load 275(f32v1)
283: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 282
Store 274(f32v2) 283
284: 153(fvec3) Load 275(f32v1)
285: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 284
Store 274(f32v2) 285
286: 153(fvec3) Load 275(f32v1)
287: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 286
Store 274(f32v2) 287
288: 153(fvec3) Load 275(f32v1)
289: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 288
Store 274(f32v2) 289
290: 153(fvec3) Load 275(f32v1)
291: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 290
Store 274(f32v2) 291
292: 153(fvec3) Load 275(f32v1)
293: 153(fvec3) Load 274(f32v2)
294: 153(fvec3) FMod 292 293
Store 274(f32v2) 294
295: 153(fvec3) Load 275(f32v1)
297: 26(float) Load 296(f32)
298: 153(fvec3) CompositeConstruct 297 297 297
299: 153(fvec3) FMod 295 298
Store 274(f32v2) 299
301: 153(fvec3) Load 275(f32v1)
302: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 301 274(f32v2)
Store 300(f32v3) 302
303: 153(fvec3) Load 275(f32v1)
304: 153(fvec3) Load 274(f32v2)
305: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 303 304
Store 300(f32v3) 305
306: 153(fvec3) Load 275(f32v1)
307: 26(float) Load 296(f32)
308: 153(fvec3) CompositeConstruct 307 307 307
309: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 306 308
Store 300(f32v3) 309
310: 153(fvec3) Load 275(f32v1)
311: 153(fvec3) Load 274(f32v2)
312: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 310 311
Store 300(f32v3) 312
313: 153(fvec3) Load 275(f32v1)
314: 26(float) Load 296(f32)
315: 153(fvec3) CompositeConstruct 314 314 314
316: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 313 315
Store 300(f32v3) 316
317: 153(fvec3) Load 275(f32v1)
318: 26(float) Load 296(f32)
319: 33(ptr) AccessChain 274(f32v2) 32
320: 26(float) Load 319
321: 153(fvec3) CompositeConstruct 318 318 318
322: 153(fvec3) CompositeConstruct 320 320 320
323: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 317 321 322
Store 300(f32v3) 323
324: 153(fvec3) Load 275(f32v1)
325: 153(fvec3) Load 274(f32v2)
326: 26(float) Load 296(f32)
327: 153(fvec3) CompositeConstruct 326 326 326
328: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 324 325 327
Store 300(f32v3) 328
329: 153(fvec3) Load 275(f32v1)
330: 153(fvec3) Load 274(f32v2)
331: 26(float) Load 296(f32)
332: 153(fvec3) CompositeConstruct 331 331 331
333: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 332
Store 300(f32v3) 333
334: 153(fvec3) Load 275(f32v1)
335: 153(fvec3) Load 274(f32v2)
336: 153(fvec3) Load 300(f32v3)
337: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 336
Store 300(f32v3) 337
338: 153(fvec3) Load 275(f32v1)
339: 153(fvec3) Load 274(f32v2)
341: 158(bvec3) Load 340(bv)
342: 153(fvec3) Select 341 339 338
Store 300(f32v3) 342
343: 153(fvec3) Load 275(f32v1)
344: 153(fvec3) Load 274(f32v2)
345: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 343 344
Store 300(f32v3) 345
346: 26(float) Load 296(f32)
347: 153(fvec3) Load 300(f32v3)
348: 153(fvec3) CompositeConstruct 346 346 346
349: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 347
Store 300(f32v3) 349
350: 153(fvec3) Load 275(f32v1)
351: 153(fvec3) Load 274(f32v2)
352: 153(fvec3) Load 300(f32v3)
353: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 352
Store 300(f32v3) 353
354: 26(float) Load 296(f32)
355: 33(ptr) AccessChain 275(f32v1) 32
356: 26(float) Load 355
357: 153(fvec3) Load 274(f32v2)
358: 153(fvec3) CompositeConstruct 354 354 354
359: 153(fvec3) CompositeConstruct 356 356 356
360: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 358 359 357
Store 300(f32v3) 360
362: 26(float) Load 296(f32)
363: 107(bool) IsNan 362
Store 361(b) 363
364: 153(fvec3) Load 275(f32v1)
365: 158(bvec3) IsInf 364
Store 340(bv) 365
366: 153(fvec3) Load 275(f32v1)
367: 153(fvec3) Load 274(f32v2)
368: 153(fvec3) Load 300(f32v3)
369: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 366 367 368
Store 300(f32v3) 369
370: 153(fvec3) Load 275(f32v1)
373:372(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 370
374: 193(ivec3) CompositeExtract 373 1
Store 371(iv) 374
375: 153(fvec3) CompositeExtract 373 0
Store 274(f32v2) 375
376: 153(fvec3) Load 275(f32v1)
377: 193(ivec3) Load 371(iv)
378: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 376 377
Store 274(f32v2) 378
Return
FunctionEnd
18(builtinGeometryFuncs(): 2 Function None 3
19: Label
379(f32): 33(ptr) Variable Function
380(f32v1): 154(ptr) Variable Function
384(f32v2): 154(ptr) Variable Function
390(f32v3): 154(ptr) Variable Function
381: 153(fvec3) Load 380(f32v1)
382: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 381
Store 379(f32) 382
383: 153(fvec3) Load 380(f32v1)
385: 153(fvec3) Load 384(f32v2)
386: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 383 385
Store 379(f32) 386
387: 153(fvec3) Load 380(f32v1)
388: 153(fvec3) Load 384(f32v2)
389: 26(float) Dot 387 388
Store 379(f32) 389
391: 153(fvec3) Load 380(f32v1)
392: 153(fvec3) Load 384(f32v2)
393: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 391 392
Store 390(f32v3) 393
394: 153(fvec3) Load 380(f32v1)
395: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 394
Store 384(f32v2) 395
396: 153(fvec3) Load 380(f32v1)
397: 153(fvec3) Load 384(f32v2)
398: 153(fvec3) Load 390(f32v3)
399: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 396 397 398
Store 390(f32v3) 399
400: 153(fvec3) Load 380(f32v1)
401: 153(fvec3) Load 384(f32v2)
402: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 400 401
Store 390(f32v3) 402
403: 153(fvec3) Load 380(f32v1)
404: 153(fvec3) Load 384(f32v2)
405: 26(float) Load 379(f32)
406: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 403 404 405
Store 390(f32v3) 406
Return
FunctionEnd
20(builtinMatrixFuncs(): 2 Function None 3
21: Label
409(f32m3): 408(ptr) Variable Function
410(f32m1): 408(ptr) Variable Function
412(f32m2): 408(ptr) Variable Function
421(f32v1): 154(ptr) Variable Function
423(f32v2): 28(ptr) Variable Function
428(f32m4): 427(ptr) Variable Function
431(f32): 33(ptr) Variable Function
434(f32m5): 433(ptr) Variable Function
439(f32m6): 438(ptr) Variable Function
440(f32m7): 438(ptr) Variable Function
411: 407 Load 410(f32m1)
413: 407 Load 412(f32m2)
414: 153(fvec3) CompositeExtract 411 0
415: 153(fvec3) CompositeExtract 413 0
416: 153(fvec3) FMul 414 415
417: 153(fvec3) CompositeExtract 411 1
418: 153(fvec3) CompositeExtract 413 1
419: 153(fvec3) FMul 417 418
420: 407 CompositeConstruct 416 419
Store 409(f32m3) 420
422: 153(fvec3) Load 421(f32v1)
424: 27(fvec2) Load 423(f32v2)
425: 407 OuterProduct 422 424
Store 410(f32m1) 425
429: 407 Load 410(f32m1)
430: 426 Transpose 429
Store 428(f32m4) 430
435: 432 Load 434(f32m5)
436: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 435
Store 431(f32) 436
441: 437 Load 440(f32m7)
442: 437 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 441
Store 439(f32m6) 442
Return
FunctionEnd
22(builtinVecRelFuncs(): 2 Function None 3
23: Label
443(bv): 159(ptr) Variable Function
444(f32v1): 154(ptr) Variable Function
446(f32v2): 154(ptr) Variable Function
445: 153(fvec3) Load 444(f32v1)
447: 153(fvec3) Load 446(f32v2)
448: 158(bvec3) FOrdLessThan 445 447
Store 443(bv) 448
449: 153(fvec3) Load 444(f32v1)
450: 153(fvec3) Load 446(f32v2)
451: 158(bvec3) FOrdLessThanEqual 449 450
Store 443(bv) 451
452: 153(fvec3) Load 444(f32v1)
453: 153(fvec3) Load 446(f32v2)
454: 158(bvec3) FOrdGreaterThan 452 453
Store 443(bv) 454
455: 153(fvec3) Load 444(f32v1)
456: 153(fvec3) Load 446(f32v2)
457: 158(bvec3) FOrdGreaterThanEqual 455 456
Store 443(bv) 457
458: 153(fvec3) Load 444(f32v1)
459: 153(fvec3) Load 446(f32v2)
460: 158(bvec3) FOrdEqual 458 459
Store 443(bv) 460
461: 153(fvec3) Load 444(f32v1)
462: 153(fvec3) Load 446(f32v2)
463: 158(bvec3) FOrdNotEqual 461 462
Store 443(bv) 463
Return
FunctionEnd
24(builtinFragProcFuncs(): 2 Function None 3
25: Label
464(f32v): 154(ptr) Variable Function
468: 467(ptr) AccessChain 466(if32v) 32
469: 26(float) Load 468
470: 26(float) DPdx 469
471: 33(ptr) AccessChain 464(f32v) 32
Store 471 470
472: 467(ptr) AccessChain 466(if32v) 88
473: 26(float) Load 472
474: 26(float) DPdy 473
475: 33(ptr) AccessChain 464(f32v) 88
Store 475 474
476: 153(fvec3) Load 466(if32v)
477: 27(fvec2) VectorShuffle 476 476 0 1
478: 27(fvec2) DPdxFine 477
479: 153(fvec3) Load 464(f32v)
480: 153(fvec3) VectorShuffle 479 478 3 4 2
Store 464(f32v) 480
481: 153(fvec3) Load 466(if32v)
482: 27(fvec2) VectorShuffle 481 481 0 1
483: 27(fvec2) DPdyFine 482
484: 153(fvec3) Load 464(f32v)
485: 153(fvec3) VectorShuffle 484 483 3 4 2
Store 464(f32v) 485
486: 153(fvec3) Load 466(if32v)
487: 153(fvec3) DPdxCoarse 486
Store 464(f32v) 487
488: 153(fvec3) Load 466(if32v)
489: 153(fvec3) DPdxCoarse 488
Store 464(f32v) 489
490: 467(ptr) AccessChain 466(if32v) 32
491: 26(float) Load 490
492: 26(float) Fwidth 491
493: 33(ptr) AccessChain 464(f32v) 32
Store 493 492
494: 153(fvec3) Load 466(if32v)
495: 27(fvec2) VectorShuffle 494 494 0 1
496: 27(fvec2) FwidthFine 495
497: 153(fvec3) Load 464(f32v)
498: 153(fvec3) VectorShuffle 497 496 3 4 2
Store 464(f32v) 498
499: 153(fvec3) Load 466(if32v)
500: 153(fvec3) FwidthCoarse 499
Store 464(f32v) 500
501: 467(ptr) AccessChain 466(if32v) 32
502: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 501
503: 33(ptr) AccessChain 464(f32v) 32
Store 503 502
505: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 466(if32v) 504
506: 27(fvec2) VectorShuffle 505 505 0 1
507: 153(fvec3) Load 464(f32v)
508: 153(fvec3) VectorShuffle 507 506 3 4 2
Store 464(f32v) 508
511: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 466(if32v) 510
Store 464(f32v) 511
Return
FunctionEnd