Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to. Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector. While this change generates more SPIR-V instructions, it is necessary for correctness. Fixes #2518.
858 lines
43 KiB
Plaintext
858 lines
43 KiB
Plaintext
spv.float16.frag
|
|
Validation failed
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 542
|
|
|
|
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 522 "S"
|
|
MemberName 522(S) 0 "x"
|
|
MemberName 522(S) 1 "y"
|
|
MemberName 522(S) 2 "z"
|
|
Name 524 "B1"
|
|
MemberName 524(B1) 0 "a"
|
|
MemberName 524(B1) 1 "b"
|
|
MemberName 524(B1) 2 "c"
|
|
MemberName 524(B1) 3 "d"
|
|
MemberName 524(B1) 4 "e"
|
|
MemberName 524(B1) 5 "f"
|
|
MemberName 524(B1) 6 "g"
|
|
MemberName 524(B1) 7 "h"
|
|
Name 526 ""
|
|
Name 529 "S"
|
|
MemberName 529(S) 0 "x"
|
|
MemberName 529(S) 1 "y"
|
|
MemberName 529(S) 2 "z"
|
|
Name 531 "B2"
|
|
MemberName 531(B2) 0 "o"
|
|
MemberName 531(B2) 1 "p"
|
|
MemberName 531(B2) 2 "q"
|
|
MemberName 531(B2) 3 "r"
|
|
MemberName 531(B2) 4 "s"
|
|
MemberName 531(B2) 5 "t"
|
|
MemberName 531(B2) 6 "u"
|
|
MemberName 531(B2) 7 "v"
|
|
Name 533 ""
|
|
Name 534 "sf16"
|
|
Name 535 "sf"
|
|
Name 536 "sd"
|
|
Name 537 "f16_to_f"
|
|
Name 539 "f16_to_d"
|
|
Name 540 "f_to_f16"
|
|
Name 541 "d_to_f16"
|
|
Decorate 465(if16v) Location 0
|
|
Decorate 520 ArrayStride 16
|
|
Decorate 521 ArrayStride 32
|
|
MemberDecorate 522(S) 0 Offset 0
|
|
MemberDecorate 522(S) 1 Offset 4
|
|
MemberDecorate 522(S) 2 Offset 8
|
|
Decorate 523 ArrayStride 16
|
|
MemberDecorate 524(B1) 0 Offset 0
|
|
MemberDecorate 524(B1) 1 Offset 4
|
|
MemberDecorate 524(B1) 2 Offset 8
|
|
MemberDecorate 524(B1) 3 Offset 16
|
|
MemberDecorate 524(B1) 4 ColMajor
|
|
MemberDecorate 524(B1) 4 Offset 48
|
|
MemberDecorate 524(B1) 4 MatrixStride 16
|
|
MemberDecorate 524(B1) 5 ColMajor
|
|
MemberDecorate 524(B1) 5 Offset 80
|
|
MemberDecorate 524(B1) 5 MatrixStride 16
|
|
MemberDecorate 524(B1) 6 Offset 144
|
|
MemberDecorate 524(B1) 7 Offset 160
|
|
Decorate 524(B1) Block
|
|
Decorate 526 DescriptorSet 0
|
|
Decorate 526 Binding 0
|
|
Decorate 527 ArrayStride 2
|
|
Decorate 528 ArrayStride 12
|
|
MemberDecorate 529(S) 0 Offset 0
|
|
MemberDecorate 529(S) 1 Offset 4
|
|
MemberDecorate 529(S) 2 Offset 8
|
|
Decorate 530 ArrayStride 16
|
|
MemberDecorate 531(B2) 0 Offset 0
|
|
MemberDecorate 531(B2) 1 Offset 4
|
|
MemberDecorate 531(B2) 2 Offset 8
|
|
MemberDecorate 531(B2) 3 Offset 14
|
|
MemberDecorate 531(B2) 4 RowMajor
|
|
MemberDecorate 531(B2) 4 Offset 20
|
|
MemberDecorate 531(B2) 4 MatrixStride 4
|
|
MemberDecorate 531(B2) 5 RowMajor
|
|
MemberDecorate 531(B2) 5 Offset 32
|
|
MemberDecorate 531(B2) 5 MatrixStride 4
|
|
MemberDecorate 531(B2) 6 Offset 56
|
|
MemberDecorate 531(B2) 7 Offset 72
|
|
Decorate 531(B2) BufferBlock
|
|
Decorate 533 DescriptorSet 0
|
|
Decorate 533 Binding 0
|
|
Decorate 534(sf16) SpecId 100
|
|
Decorate 535(sf) SpecId 101
|
|
Decorate 536(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)
|
|
509: 183(int) Constant 1
|
|
516:28(float16_t) Constant 14336
|
|
517: 29(f16vec2) ConstantComposite 516 516
|
|
519: 33(int) Constant 2
|
|
520: TypeArray 28(float16_t) 519
|
|
521: TypeArray 406 519
|
|
522(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
|
|
523: TypeArray 522(S) 519
|
|
524(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 520 406 521 522(S) 523
|
|
525: TypePointer Uniform 524(B1)
|
|
526: 525(ptr) Variable Uniform
|
|
527: TypeArray 28(float16_t) 519
|
|
528: TypeArray 406 519
|
|
529(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
|
|
530: TypeArray 529(S) 519
|
|
531(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 527 406 528 529(S) 530
|
|
532: TypePointer Uniform 531(B2)
|
|
533: 532(ptr) Variable Uniform
|
|
534(sf16):28(float16_t) SpecConstant 12288
|
|
535(sf): 164(float) SpecConstant 1048576000
|
|
536(sd):172(float64_t) SpecConstant 0 1071644672
|
|
537(f16_to_f): 164(float) SpecConstantOp 115 534(sf16)
|
|
538: 164(float) SpecConstantOp 115 534(sf16)
|
|
539(f16_to_d):172(float64_t) SpecConstantOp 115 538
|
|
540(f_to_f16):28(float16_t) SpecConstantOp 115 535(sf)
|
|
541(d_to_f16):28(float16_t) SpecConstantOp 115 536(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
|
|
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) 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)
|
|
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) FUnordNotEqual 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: 35(ptr) AccessChain 463(f16v) 34
|
|
479:28(float16_t) CompositeExtract 477 0
|
|
Store 478 479
|
|
480: 35(ptr) AccessChain 463(f16v) 90
|
|
481:28(float16_t) CompositeExtract 477 1
|
|
Store 480 481
|
|
482:151(f16vec3) Load 465(if16v)
|
|
483: 29(f16vec2) VectorShuffle 482 482 0 1
|
|
484: 29(f16vec2) DPdyFine 483
|
|
485: 35(ptr) AccessChain 463(f16v) 34
|
|
486:28(float16_t) CompositeExtract 484 0
|
|
Store 485 486
|
|
487: 35(ptr) AccessChain 463(f16v) 90
|
|
488:28(float16_t) CompositeExtract 484 1
|
|
Store 487 488
|
|
489:151(f16vec3) Load 465(if16v)
|
|
490:151(f16vec3) DPdxCoarse 489
|
|
Store 463(f16v) 490
|
|
491:151(f16vec3) Load 465(if16v)
|
|
492:151(f16vec3) DPdxCoarse 491
|
|
Store 463(f16v) 492
|
|
493: 466(ptr) AccessChain 465(if16v) 34
|
|
494:28(float16_t) Load 493
|
|
495:28(float16_t) Fwidth 494
|
|
496: 35(ptr) AccessChain 463(f16v) 34
|
|
Store 496 495
|
|
497:151(f16vec3) Load 465(if16v)
|
|
498: 29(f16vec2) VectorShuffle 497 497 0 1
|
|
499: 29(f16vec2) FwidthFine 498
|
|
500: 35(ptr) AccessChain 463(f16v) 34
|
|
501:28(float16_t) CompositeExtract 499 0
|
|
Store 500 501
|
|
502: 35(ptr) AccessChain 463(f16v) 90
|
|
503:28(float16_t) CompositeExtract 499 1
|
|
Store 502 503
|
|
504:151(f16vec3) Load 465(if16v)
|
|
505:151(f16vec3) FwidthCoarse 504
|
|
Store 463(f16v) 505
|
|
506: 466(ptr) AccessChain 465(if16v) 34
|
|
507:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
|
|
508: 35(ptr) AccessChain 463(f16v) 34
|
|
Store 508 507
|
|
510:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 509
|
|
511: 29(f16vec2) VectorShuffle 510 510 0 1
|
|
512: 35(ptr) AccessChain 463(f16v) 34
|
|
513:28(float16_t) CompositeExtract 511 0
|
|
Store 512 513
|
|
514: 35(ptr) AccessChain 463(f16v) 90
|
|
515:28(float16_t) CompositeExtract 511 1
|
|
Store 514 515
|
|
518:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 517
|
|
Store 463(f16v) 518
|
|
Return
|
|
FunctionEnd
|