David Gonzalez Martin be2de1d672 Render a texture
2024-11-10 08:48:46 -06:00

854 lines
42 KiB
Plaintext

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