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