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