blob: 792c24b5a389b49edeffcab8b5fce7295307bdb2 [file] [edit]
spv.longVector.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 230
Capability Shader
Capability Float16
Capability StorageUniformBufferBlock16
Capability StorageBuffer8BitAccess
Capability LongVectorEXT
Extension "SPV_EXT_long_vector"
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 64 1 1
Source GLSL 450
SourceExtension "GL_EXT_buffer_reference"
SourceExtension "GL_EXT_long_vector"
SourceExtension "GL_EXT_nonuniform_qualifier"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
SourceExtension "GL_KHR_memory_scope_semantics"
Name 4 "main"
Name 11 "foo(f161<1>;"
Name 10 "x"
Name 17 "foo(f161<2>;"
Name 16 "x"
Name 24 "funcvec4(vf4;"
Name 23 "a"
Name 27 "funcvector4(f1<4>;"
Name 26 "a"
Name 29 "testfuncs("
Name 33 "v"
Name 38 "x"
Name 41 "y"
Name 44 "v2"
Name 53 "v3"
Name 55 "x3"
Name 60 "y3"
Name 65 "v4"
Name 78 "v5"
Name 81 "v6"
Name 107 "f"
Name 117 "len"
Name 132 "f162"
Name 138 "f161"
Name 140 "f16"
Name 145 "v11"
Name 147 "v12"
Name 158 "v13"
Name 183 "vecA"
Name 201 "a"
Name 202 "b"
Name 205 "param"
Name 208 "param"
Name 211 "x"
Name 212 "param"
Name 221 "MatrixBuf"
MemberName 221(MatrixBuf) 0 "matrixData"
Name 223 "matrixBuf"
Name 226 "MatrixBuf2"
MemberName 226(MatrixBuf2) 0 "matrixData"
Name 228 "matrixBuf2"
Name 229 "matrixLayout"
Decorate 219 BuiltIn WorkgroupSize
Decorate 220 ArrayStride 2
Decorate 221(MatrixBuf) Block
MemberDecorate 221(MatrixBuf) 0 Offset 0
Decorate 223(matrixBuf) Binding 0
Decorate 223(matrixBuf) DescriptorSet 0
Decorate 225 ArrayStride 1
Decorate 226(MatrixBuf2) Block
MemberDecorate 226(MatrixBuf2) 0 Offset 0
Decorate 228(matrixBuf2) Binding 0
Decorate 228(matrixBuf2) DescriptorSet 0
Decorate 229(matrixLayout) SpecId 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16
7: TypeVector 6(float16_t) 1
8: TypePointer Function 7(f16vec)
9: TypeFunction 7(f16vec) 8(ptr)
13: TypeVector 6(float16_t) 2
14: TypePointer Function 13(f16vec2)
15: TypeFunction 13(f16vec2) 14(ptr)
19: TypeFloat 32
20: TypeVector 19(float) 4
21: TypePointer Function 20(fvec4)
22: TypeFunction 20(fvec4) 21(ptr)
31: TypeVector 19(float) 5
32: TypePointer Function 31(fvec)
34: 19(float) Constant 0
35: 31(fvec) ConstantComposite 34 34 34 34 34
36: TypeVector 19(float) 3
37: TypePointer Function 36(fvec3)
39: 19(float) Constant 1065353216
40: 36(fvec3) ConstantComposite 39 39 39
42: 19(float) Constant 1073741824
43: 36(fvec3) ConstantComposite 42 42 42
54: 31(fvec) ConstantComposite 39 39 39 42 42
56: 19(float) Constant 1082130432
57: 19(float) Constant 1084227584
58: 19(float) Constant 1086324736
59: 36(fvec3) ConstantComposite 56 57 58
61: 19(float) Constant 1088421888
62: 19(float) Constant 1090519040
63: 19(float) Constant 1091567616
64: 36(fvec3) ConstantComposite 61 62 63
76: TypeVector 6(float16_t) 5
77: TypePointer Function 76(f16vec)
106: TypePointer Function 19(float)
115: TypeInt 32 1
116: TypePointer Function 115(int)
118: 115(int) Constant 5
120: 115(int) Constant 0
123: 115(int) Constant 4
133: TypeVector 19(float) 20
134: 115(int) Constant 20
139: TypePointer Function 6(float16_t)
143: TypeVector 6(float16_t) 7
144: TypePointer Function 143(f16vec)
185:6(float16_t) Constant 11264
186: 13(f16vec2) ConstantComposite 185 185
215: TypeInt 32 0
216: TypeVector 215(int) 3
217: 215(int) Constant 64
218: 215(int) Constant 1
219: 216(ivec3) ConstantComposite 217 218 218
220: TypeRuntimeArray 6(float16_t)
221(MatrixBuf): TypeStruct 220
222: TypePointer StorageBuffer 221(MatrixBuf)
223(matrixBuf): 222(ptr) Variable StorageBuffer
224: TypeInt 8 1
225: TypeRuntimeArray 224(int8_t)
226(MatrixBuf2): TypeStruct 225
227: TypePointer StorageBuffer 226(MatrixBuf2)
228(matrixBuf2): 227(ptr) Variable StorageBuffer
229(matrixLayout): 115(int) SpecConstant 1
4(main): 2 Function None 3
5: Label
33(v): 32(ptr) Variable Function
38(x): 37(ptr) Variable Function
41(y): 37(ptr) Variable Function
44(v2): 32(ptr) Variable Function
53(v3): 32(ptr) Variable Function
55(x3): 37(ptr) Variable Function
60(y3): 37(ptr) Variable Function
65(v4): 32(ptr) Variable Function
78(v5): 77(ptr) Variable Function
81(v6): 32(ptr) Variable Function
107(f): 106(ptr) Variable Function
117(len): 116(ptr) Variable Function
132(f162): 14(ptr) Variable Function
138(f161): 8(ptr) Variable Function
140(f16): 139(ptr) Variable Function
145(v11): 144(ptr) Variable Function
147(v12): 144(ptr) Variable Function
158(v13): 144(ptr) Variable Function
183(vecA): 14(ptr) Variable Function
Store 33(v) 35
Store 38(x) 40
Store 41(y) 43
45: 36(fvec3) Load 38(x)
46: 36(fvec3) Load 41(y)
47: 19(float) CompositeExtract 45 0
48: 19(float) CompositeExtract 45 1
49: 19(float) CompositeExtract 45 2
50: 19(float) CompositeExtract 46 0
51: 19(float) CompositeExtract 46 1
52: 31(fvec) CompositeConstruct 47 48 49 50 51
Store 44(v2) 52
Store 53(v3) 54
Store 55(x3) 59
Store 60(y3) 64
66: 36(fvec3) Load 55(x3)
67: 36(fvec3) VectorShuffle 66 66 2 1 0
68: 36(fvec3) Load 60(y3)
69: 36(fvec3) VectorShuffle 68 68 2 2 1
70: 19(float) CompositeExtract 67 0
71: 19(float) CompositeExtract 67 1
72: 19(float) CompositeExtract 67 2
73: 19(float) CompositeExtract 69 0
74: 19(float) CompositeExtract 69 1
75: 31(fvec) CompositeConstruct 70 71 72 73 74
Store 65(v4) 75
79: 31(fvec) Load 65(v4)
80: 76(f16vec) FConvert 79
Store 78(v5) 80
82: 31(fvec) Load 33(v)
83: 31(fvec) Load 44(v2)
84: 31(fvec) FAdd 82 83
Store 81(v6) 84
85: 31(fvec) Load 33(v)
86: 31(fvec) Load 44(v2)
87: 31(fvec) FSub 85 86
Store 81(v6) 87
88: 31(fvec) Load 33(v)
89: 31(fvec) Load 44(v2)
90: 31(fvec) FMul 88 89
Store 81(v6) 90
91: 31(fvec) Load 33(v)
92: 31(fvec) Load 44(v2)
93: 31(fvec) FDiv 91 92
Store 81(v6) 93
94: 31(fvec) Load 33(v)
95: 31(fvec) Load 81(v6)
96: 31(fvec) FAdd 95 94
Store 81(v6) 96
97: 31(fvec) Load 33(v)
98: 31(fvec) Load 81(v6)
99: 31(fvec) FSub 98 97
Store 81(v6) 99
100: 31(fvec) Load 33(v)
101: 31(fvec) Load 81(v6)
102: 31(fvec) FMul 101 100
Store 81(v6) 102
103: 31(fvec) Load 33(v)
104: 31(fvec) Load 81(v6)
105: 31(fvec) FDiv 104 103
Store 81(v6) 105
108: 19(float) Load 107(f)
109: 31(fvec) Load 81(v6)
110: 31(fvec) CompositeConstruct 108 108 108 108 108
111: 31(fvec) FMul 109 110
Store 81(v6) 111
112: 31(fvec) Load 81(v6)
113: 31(fvec) CompositeConstruct 57 57 57 57 57
114: 31(fvec) FMul 112 113
Store 81(v6) 114
119: 115(int) Bitcast 118
Store 117(len) 119
121: 19(float) Load 107(f)
122: 106(ptr) AccessChain 81(v6) 120
Store 122 121
124: 106(ptr) AccessChain 81(v6) 123
Store 124 57
125: 31(fvec) Load 33(v)
126: 31(fvec) Load 33(v)
127: 31(fvec) FAdd 126 125
Store 33(v) 127
128: 19(float) CompositeExtract 127 4
129: 19(float) Load 107(f)
130: 19(float) FAdd 129 128
Store 107(f) 130
131: 31(fvec) Load 33(v)
Store 81(v6) 131
135: 115(int) Bitcast 134
136:6(float16_t) ConvertSToF 135
137: 13(f16vec2) CompositeConstruct 136 136
Store 132(f162) 137
141:6(float16_t) Load 140(f16)
142: 7(f16vec) CompositeConstruct 141
Store 138(f161) 142
146: 143(f16vec) Load 145(v11)
148: 143(f16vec) Load 147(v12)
149: 143(f16vec) ExtInst 1(GLSL.std.450) 40(FMax) 146 148
Store 145(v11) 149
150: 143(f16vec) Load 145(v11)
151: 143(f16vec) Load 147(v12)
152: 143(f16vec) ExtInst 1(GLSL.std.450) 37(FMin) 150 151
Store 145(v11) 152
153: 143(f16vec) Load 145(v11)
154: 143(f16vec) Load 147(v12)
155: 143(f16vec) ExtInst 1(GLSL.std.450) 48(Step) 153 154
Store 145(v11) 155
156: 143(f16vec) Load 145(v11)
157: 143(f16vec) Load 147(v12)
159: 143(f16vec) Load 158(v13)
160: 143(f16vec) ExtInst 1(GLSL.std.450) 43(FClamp) 156 157 159
Store 145(v11) 160
161: 143(f16vec) Load 145(v11)
162: 143(f16vec) ExtInst 1(GLSL.std.450) 27(Exp) 161
Store 145(v11) 162
163: 143(f16vec) Load 145(v11)
164: 143(f16vec) ExtInst 1(GLSL.std.450) 28(Log) 163
Store 145(v11) 164
165: 143(f16vec) Load 145(v11)
166: 143(f16vec) ExtInst 1(GLSL.std.450) 21(Tanh) 165
Store 145(v11) 166
167: 143(f16vec) Load 145(v11)
168: 143(f16vec) ExtInst 1(GLSL.std.450) 18(Atan) 167
Store 145(v11) 168
169: 143(f16vec) Load 145(v11)
170: 143(f16vec) Load 147(v12)
171: 143(f16vec) Load 158(v13)
172: 143(f16vec) ExtInst 1(GLSL.std.450) 50(Fma) 169 170 171
Store 145(v11) 172
173: 31(fvec) Load 33(v)
174: 31(fvec) Load 33(v)
175: 31(fvec) FAdd 174 173
Store 33(v) 175
176: 115(int) Load 117(len)
177: 19(float) VectorExtractDynamic 175 176
178: 19(float) Load 107(f)
179: 19(float) FAdd 178 177
Store 107(f) 179
180: 143(f16vec) Load 158(v13)
Store 158(v13) 180
181: 143(f16vec) Load 158(v13)
182:6(float16_t) CompositeExtract 181 0
Store 140(f16) 182
184: 13(f16vec2) Load 183(vecA)
187: 13(f16vec2) FMul 184 186
188: 13(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 187
Store 183(vecA) 188
Return
FunctionEnd
11(foo(f161<1>;): 7(f16vec) Function None 9
10(x): 8(ptr) FunctionParameter
12: Label
189: 7(f16vec) Load 10(x)
ReturnValue 189
FunctionEnd
17(foo(f161<2>;): 13(f16vec2) Function None 15
16(x): 14(ptr) FunctionParameter
18: Label
192: 13(f16vec2) Load 16(x)
ReturnValue 192
FunctionEnd
24(funcvec4(vf4;): 20(fvec4) Function None 22
23(a): 21(ptr) FunctionParameter
25: Label
195: 20(fvec4) Load 23(a)
ReturnValue 195
FunctionEnd
27(funcvector4(f1<4>;): 20(fvec4) Function None 22
26(a): 21(ptr) FunctionParameter
28: Label
198: 20(fvec4) Load 26(a)
ReturnValue 198
FunctionEnd
29(testfuncs(): 2 Function None 3
30: Label
201(a): 21(ptr) Variable Function
202(b): 21(ptr) Variable Function
205(param): 21(ptr) Variable Function
208(param): 21(ptr) Variable Function
211(x): 8(ptr) Variable Function
212(param): 8(ptr) Variable Function
203: 20(fvec4) Load 202(b)
Store 201(a) 203
204: 20(fvec4) Load 201(a)
Store 202(b) 204
206: 20(fvec4) Load 202(b)
Store 205(param) 206
207: 20(fvec4) FunctionCall 24(funcvec4(vf4;) 205(param)
209: 20(fvec4) Load 201(a)
Store 208(param) 209
210: 20(fvec4) FunctionCall 27(funcvector4(f1<4>;) 208(param)
213: 7(f16vec) Load 211(x)
Store 212(param) 213
214: 7(f16vec) FunctionCall 11(foo(f161<1>;) 212(param)
Store 211(x) 214
Return
FunctionEnd