xemu/subprojects/glslang/Test/baseResults/spv.float32.frag.out

827 lines
41 KiB
Plaintext

spv.float32.frag
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 544
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" 474
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 307 "ResType"
Name 348 "bv"
Name 369 "b"
Name 379 "iv"
Name 380 "ResType"
Name 387 "f32"
Name 388 "f32v1"
Name 392 "f32v2"
Name 398 "f32v3"
Name 417 "f32m3"
Name 418 "f32m1"
Name 420 "f32m2"
Name 429 "f32v1"
Name 431 "f32v2"
Name 436 "f32m4"
Name 439 "f32"
Name 442 "f32m5"
Name 447 "f32m6"
Name 448 "f32m7"
Name 451 "bv"
Name 452 "f32v1"
Name 454 "f32v2"
Name 472 "f32v"
Name 474 "if32v"
Name 531 "S"
MemberName 531(S) 0 "x"
MemberName 531(S) 1 "y"
MemberName 531(S) 2 "z"
Name 533 "B1"
MemberName 533(B1) 0 "a"
MemberName 533(B1) 1 "b"
MemberName 533(B1) 2 "c"
MemberName 533(B1) 3 "d"
MemberName 533(B1) 4 "e"
MemberName 533(B1) 5 "f"
MemberName 533(B1) 6 "g"
MemberName 533(B1) 7 "h"
Name 535 ""
Name 536 "sf16"
Name 537 "sf"
Name 538 "sd"
Name 539 "f16_to_f"
Name 541 "f16_to_d"
Name 542 "f_to_f16"
Name 543 "d_to_f16"
Decorate 474(if32v) Location 0
Decorate 529 ArrayStride 16
Decorate 530 ArrayStride 32
MemberDecorate 531(S) 0 Offset 0
MemberDecorate 531(S) 1 Offset 8
MemberDecorate 531(S) 2 Offset 16
Decorate 532 ArrayStride 32
Decorate 533(B1) Block
MemberDecorate 533(B1) 0 Offset 0
MemberDecorate 533(B1) 1 Offset 8
MemberDecorate 533(B1) 2 Offset 16
MemberDecorate 533(B1) 3 Offset 32
MemberDecorate 533(B1) 4 ColMajor
MemberDecorate 533(B1) 4 MatrixStride 16
MemberDecorate 533(B1) 4 Offset 64
MemberDecorate 533(B1) 5 ColMajor
MemberDecorate 533(B1) 5 MatrixStride 16
MemberDecorate 533(B1) 5 Offset 96
MemberDecorate 533(B1) 6 Offset 160
MemberDecorate 533(B1) 7 Offset 192
Decorate 535 Binding 0
Decorate 535 DescriptorSet 0
Decorate 536(sf16) SpecId 100
Decorate 537(sf) SpecId 101
Decorate 538(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)
307(ResType): TypeStruct 153(fvec3) 153(fvec3)
380(ResType): TypeStruct 153(fvec3) 193(ivec3)
415: TypeMatrix 153(fvec3) 2
416: TypePointer Function 415
434: TypeMatrix 27(fvec2) 3
435: TypePointer Function 434
440: TypeMatrix 153(fvec3) 3
441: TypePointer Function 440
445: TypeMatrix 227(fvec4) 4
446: TypePointer Function 445
473: TypePointer Input 153(fvec3)
474(if32v): 473(ptr) Variable Input
475: TypePointer Input 26(float)
518: 192(int) Constant 1
525: 26(float) Constant 1056964608
526: 27(fvec2) ConstantComposite 525 525
528: 31(int) Constant 2
529: TypeArray 26(float) 528
530: TypeArray 415 528
531(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
532: TypeArray 531(S) 528
533(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 529 415 530 531(S) 532
534: TypePointer Uniform 533(B1)
535: 534(ptr) Variable Uniform
536(sf16):172(float16_t) SpecConstant 12288
537(sf): 26(float) SpecConstant 1048576000
538(sd):149(float64_t) SpecConstant 0 1071644672
539(f16_to_f): 26(float) SpecConstantOp 115 536(sf16)
540: 26(float) SpecConstantOp 115 536(sf16)
541(f16_to_d):149(float64_t) SpecConstantOp 115 540
542(f_to_f16):172(float16_t) SpecConstantOp 115 537(sf)
543(d_to_f16):172(float16_t) SpecConstantOp 115 538(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) FUnordNotEqual 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) FUnordNotEqual 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
348(bv): 159(ptr) Variable Function
369(b): 108(ptr) Variable Function
379(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)
308:307(ResType) ExtInst 1(GLSL.std.450) 36(ModfStruct) 306
309: 153(fvec3) CompositeExtract 308 1
Store 279(f32v2) 309
310: 153(fvec3) CompositeExtract 308 0
Store 305(f32v3) 310
311: 153(fvec3) Load 280(f32v1)
312: 153(fvec3) Load 279(f32v2)
313: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 312
Store 305(f32v3) 313
314: 153(fvec3) Load 280(f32v1)
315: 26(float) Load 301(f32)
316: 153(fvec3) CompositeConstruct 315 315 315
317: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 314 316
Store 305(f32v3) 317
318: 153(fvec3) Load 280(f32v1)
319: 153(fvec3) Load 279(f32v2)
320: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 319
Store 305(f32v3) 320
321: 153(fvec3) Load 280(f32v1)
322: 26(float) Load 301(f32)
323: 153(fvec3) CompositeConstruct 322 322 322
324: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 321 323
Store 305(f32v3) 324
325: 153(fvec3) Load 280(f32v1)
326: 26(float) Load 301(f32)
327: 33(ptr) AccessChain 279(f32v2) 32
328: 26(float) Load 327
329: 153(fvec3) CompositeConstruct 326 326 326
330: 153(fvec3) CompositeConstruct 328 328 328
331: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 325 329 330
Store 305(f32v3) 331
332: 153(fvec3) Load 280(f32v1)
333: 153(fvec3) Load 279(f32v2)
334: 26(float) Load 301(f32)
335: 153(fvec3) CompositeConstruct 334 334 334
336: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 332 333 335
Store 305(f32v3) 336
337: 153(fvec3) Load 280(f32v1)
338: 153(fvec3) Load 279(f32v2)
339: 26(float) Load 301(f32)
340: 153(fvec3) CompositeConstruct 339 339 339
341: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 337 338 340
Store 305(f32v3) 341
342: 153(fvec3) Load 280(f32v1)
343: 153(fvec3) Load 279(f32v2)
344: 153(fvec3) Load 305(f32v3)
345: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 342 343 344
Store 305(f32v3) 345
346: 153(fvec3) Load 280(f32v1)
347: 153(fvec3) Load 279(f32v2)
349: 158(bvec3) Load 348(bv)
350: 153(fvec3) Select 349 347 346
Store 305(f32v3) 350
351: 153(fvec3) Load 280(f32v1)
352: 153(fvec3) Load 279(f32v2)
353: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 351 352
Store 305(f32v3) 353
354: 26(float) Load 301(f32)
355: 153(fvec3) Load 305(f32v3)
356: 153(fvec3) CompositeConstruct 354 354 354
357: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 356 355
Store 305(f32v3) 357
358: 153(fvec3) Load 280(f32v1)
359: 153(fvec3) Load 279(f32v2)
360: 153(fvec3) Load 305(f32v3)
361: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 358 359 360
Store 305(f32v3) 361
362: 26(float) Load 301(f32)
363: 33(ptr) AccessChain 280(f32v1) 32
364: 26(float) Load 363
365: 153(fvec3) Load 279(f32v2)
366: 153(fvec3) CompositeConstruct 362 362 362
367: 153(fvec3) CompositeConstruct 364 364 364
368: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 366 367 365
Store 305(f32v3) 368
370: 26(float) Load 301(f32)
371: 107(bool) IsNan 370
Store 369(b) 371
372: 153(fvec3) Load 280(f32v1)
373: 158(bvec3) IsInf 372
Store 348(bv) 373
374: 153(fvec3) Load 280(f32v1)
375: 153(fvec3) Load 279(f32v2)
376: 153(fvec3) Load 305(f32v3)
377: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 374 375 376
Store 305(f32v3) 377
378: 153(fvec3) Load 280(f32v1)
381:380(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 378
382: 193(ivec3) CompositeExtract 381 1
Store 379(iv) 382
383: 153(fvec3) CompositeExtract 381 0
Store 279(f32v2) 383
384: 153(fvec3) Load 280(f32v1)
385: 193(ivec3) Load 379(iv)
386: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 384 385
Store 279(f32v2) 386
Return
FunctionEnd
18(builtinGeometryFuncs(): 2 Function None 3
19: Label
387(f32): 33(ptr) Variable Function
388(f32v1): 154(ptr) Variable Function
392(f32v2): 154(ptr) Variable Function
398(f32v3): 154(ptr) Variable Function
389: 153(fvec3) Load 388(f32v1)
390: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 389
Store 387(f32) 390
391: 153(fvec3) Load 388(f32v1)
393: 153(fvec3) Load 392(f32v2)
394: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 391 393
Store 387(f32) 394
395: 153(fvec3) Load 388(f32v1)
396: 153(fvec3) Load 392(f32v2)
397: 26(float) Dot 395 396
Store 387(f32) 397
399: 153(fvec3) Load 388(f32v1)
400: 153(fvec3) Load 392(f32v2)
401: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 399 400
Store 398(f32v3) 401
402: 153(fvec3) Load 388(f32v1)
403: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 402
Store 392(f32v2) 403
404: 153(fvec3) Load 388(f32v1)
405: 153(fvec3) Load 392(f32v2)
406: 153(fvec3) Load 398(f32v3)
407: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 404 405 406
Store 398(f32v3) 407
408: 153(fvec3) Load 388(f32v1)
409: 153(fvec3) Load 392(f32v2)
410: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 408 409
Store 398(f32v3) 410
411: 153(fvec3) Load 388(f32v1)
412: 153(fvec3) Load 392(f32v2)
413: 26(float) Load 387(f32)
414: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 411 412 413
Store 398(f32v3) 414
Return
FunctionEnd
20(builtinMatrixFuncs(): 2 Function None 3
21: Label
417(f32m3): 416(ptr) Variable Function
418(f32m1): 416(ptr) Variable Function
420(f32m2): 416(ptr) Variable Function
429(f32v1): 154(ptr) Variable Function
431(f32v2): 28(ptr) Variable Function
436(f32m4): 435(ptr) Variable Function
439(f32): 33(ptr) Variable Function
442(f32m5): 441(ptr) Variable Function
447(f32m6): 446(ptr) Variable Function
448(f32m7): 446(ptr) Variable Function
419: 415 Load 418(f32m1)
421: 415 Load 420(f32m2)
422: 153(fvec3) CompositeExtract 419 0
423: 153(fvec3) CompositeExtract 421 0
424: 153(fvec3) FMul 422 423
425: 153(fvec3) CompositeExtract 419 1
426: 153(fvec3) CompositeExtract 421 1
427: 153(fvec3) FMul 425 426
428: 415 CompositeConstruct 424 427
Store 417(f32m3) 428
430: 153(fvec3) Load 429(f32v1)
432: 27(fvec2) Load 431(f32v2)
433: 415 OuterProduct 430 432
Store 418(f32m1) 433
437: 415 Load 418(f32m1)
438: 434 Transpose 437
Store 436(f32m4) 438
443: 440 Load 442(f32m5)
444: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 443
Store 439(f32) 444
449: 445 Load 448(f32m7)
450: 445 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 449
Store 447(f32m6) 450
Return
FunctionEnd
22(builtinVecRelFuncs(): 2 Function None 3
23: Label
451(bv): 159(ptr) Variable Function
452(f32v1): 154(ptr) Variable Function
454(f32v2): 154(ptr) Variable Function
453: 153(fvec3) Load 452(f32v1)
455: 153(fvec3) Load 454(f32v2)
456: 158(bvec3) FOrdLessThan 453 455
Store 451(bv) 456
457: 153(fvec3) Load 452(f32v1)
458: 153(fvec3) Load 454(f32v2)
459: 158(bvec3) FOrdLessThanEqual 457 458
Store 451(bv) 459
460: 153(fvec3) Load 452(f32v1)
461: 153(fvec3) Load 454(f32v2)
462: 158(bvec3) FOrdGreaterThan 460 461
Store 451(bv) 462
463: 153(fvec3) Load 452(f32v1)
464: 153(fvec3) Load 454(f32v2)
465: 158(bvec3) FOrdGreaterThanEqual 463 464
Store 451(bv) 465
466: 153(fvec3) Load 452(f32v1)
467: 153(fvec3) Load 454(f32v2)
468: 158(bvec3) FOrdEqual 466 467
Store 451(bv) 468
469: 153(fvec3) Load 452(f32v1)
470: 153(fvec3) Load 454(f32v2)
471: 158(bvec3) FUnordNotEqual 469 470
Store 451(bv) 471
Return
FunctionEnd
24(builtinFragProcFuncs(): 2 Function None 3
25: Label
472(f32v): 154(ptr) Variable Function
476: 475(ptr) AccessChain 474(if32v) 32
477: 26(float) Load 476
478: 26(float) DPdx 477
479: 33(ptr) AccessChain 472(f32v) 32
Store 479 478
480: 475(ptr) AccessChain 474(if32v) 88
481: 26(float) Load 480
482: 26(float) DPdy 481
483: 33(ptr) AccessChain 472(f32v) 88
Store 483 482
484: 153(fvec3) Load 474(if32v)
485: 27(fvec2) VectorShuffle 484 484 0 1
486: 27(fvec2) DPdxFine 485
487: 33(ptr) AccessChain 472(f32v) 32
488: 26(float) CompositeExtract 486 0
Store 487 488
489: 33(ptr) AccessChain 472(f32v) 88
490: 26(float) CompositeExtract 486 1
Store 489 490
491: 153(fvec3) Load 474(if32v)
492: 27(fvec2) VectorShuffle 491 491 0 1
493: 27(fvec2) DPdyFine 492
494: 33(ptr) AccessChain 472(f32v) 32
495: 26(float) CompositeExtract 493 0
Store 494 495
496: 33(ptr) AccessChain 472(f32v) 88
497: 26(float) CompositeExtract 493 1
Store 496 497
498: 153(fvec3) Load 474(if32v)
499: 153(fvec3) DPdxCoarse 498
Store 472(f32v) 499
500: 153(fvec3) Load 474(if32v)
501: 153(fvec3) DPdxCoarse 500
Store 472(f32v) 501
502: 475(ptr) AccessChain 474(if32v) 32
503: 26(float) Load 502
504: 26(float) Fwidth 503
505: 33(ptr) AccessChain 472(f32v) 32
Store 505 504
506: 153(fvec3) Load 474(if32v)
507: 27(fvec2) VectorShuffle 506 506 0 1
508: 27(fvec2) FwidthFine 507
509: 33(ptr) AccessChain 472(f32v) 32
510: 26(float) CompositeExtract 508 0
Store 509 510
511: 33(ptr) AccessChain 472(f32v) 88
512: 26(float) CompositeExtract 508 1
Store 511 512
513: 153(fvec3) Load 474(if32v)
514: 153(fvec3) FwidthCoarse 513
Store 472(f32v) 514
515: 475(ptr) AccessChain 474(if32v) 32
516: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 515
517: 33(ptr) AccessChain 472(f32v) 32
Store 517 516
519: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 474(if32v) 518
520: 27(fvec2) VectorShuffle 519 519 0 1
521: 33(ptr) AccessChain 472(f32v) 32
522: 26(float) CompositeExtract 520 0
Store 521 522
523: 33(ptr) AccessChain 472(f32v) 88
524: 26(float) CompositeExtract 520 1
Store 523 524
527: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 474(if32v) 526
Store 472(f32v) 527
Return
FunctionEnd