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