Add GL_EXT_shader_subgroup_extended_types support
This commit is contained in:
377
Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
Normal file
377
Test/baseResults/spv.subgroupExtendedTypesVote.comp.out
Normal file
@@ -0,0 +1,377 @@
|
||||
spv.subgroupExtendedTypesVote.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 277
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability Int64
|
||||
Capability Int16
|
||||
Capability Int8
|
||||
Capability GroupNonUniform
|
||||
Capability GroupNonUniformVote
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint GLCompute 4 "main" 10 12
|
||||
ExecutionMode 4 LocalSize 8 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
|
||||
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
|
||||
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
|
||||
SourceExtension "GL_KHR_shader_subgroup_basic"
|
||||
SourceExtension "GL_KHR_shader_subgroup_vote"
|
||||
Name 4 "main"
|
||||
Name 8 "invocation"
|
||||
Name 10 "gl_SubgroupInvocationID"
|
||||
Name 12 "gl_SubgroupSize"
|
||||
Name 32 "Buffers"
|
||||
MemberName 32(Buffers) 0 "i8"
|
||||
MemberName 32(Buffers) 1 "u8"
|
||||
MemberName 32(Buffers) 2 "i16"
|
||||
MemberName 32(Buffers) 3 "u16"
|
||||
MemberName 32(Buffers) 4 "i64"
|
||||
MemberName 32(Buffers) 5 "u64"
|
||||
MemberName 32(Buffers) 6 "f16"
|
||||
MemberName 32(Buffers) 7 "r"
|
||||
Name 35 "data"
|
||||
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
||||
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
||||
Decorate 11 RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
||||
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
||||
Decorate 13 RelaxedPrecision
|
||||
Decorate 14 RelaxedPrecision
|
||||
Decorate 16 RelaxedPrecision
|
||||
MemberDecorate 32(Buffers) 0 Offset 0
|
||||
MemberDecorate 32(Buffers) 1 Offset 4
|
||||
MemberDecorate 32(Buffers) 2 Offset 8
|
||||
MemberDecorate 32(Buffers) 3 Offset 16
|
||||
MemberDecorate 32(Buffers) 4 Offset 32
|
||||
MemberDecorate 32(Buffers) 5 Offset 64
|
||||
MemberDecorate 32(Buffers) 6 Offset 96
|
||||
MemberDecorate 32(Buffers) 7 Offset 104
|
||||
Decorate 32(Buffers) Block
|
||||
Decorate 35(data) DescriptorSet 0
|
||||
Decorate 35(data) Binding 0
|
||||
Decorate 276 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypePointer Function 6(int)
|
||||
9: TypePointer Input 6(int)
|
||||
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
||||
12(gl_SubgroupSize): 9(ptr) Variable Input
|
||||
15: 6(int) Constant 4
|
||||
17: TypeInt 8 1
|
||||
18: TypeVector 17(int8_t) 4
|
||||
19: TypeInt 8 0
|
||||
20: TypeVector 19(int8_t) 4
|
||||
21: TypeInt 16 1
|
||||
22: TypeVector 21(int16_t) 4
|
||||
23: TypeInt 16 0
|
||||
24: TypeVector 23(int16_t) 4
|
||||
25: TypeInt 64 1
|
||||
26: TypeVector 25(int64_t) 4
|
||||
27: TypeInt 64 0
|
||||
28: TypeVector 27(int64_t) 4
|
||||
29: TypeFloat 16
|
||||
30: TypeVector 29(float16_t) 4
|
||||
31: TypeInt 32 1
|
||||
32(Buffers): TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4) 31(int)
|
||||
33: TypeArray 32(Buffers) 15
|
||||
34: TypePointer StorageBuffer 33
|
||||
35(data): 34(ptr) Variable StorageBuffer
|
||||
37: 31(int) Constant 7
|
||||
38: TypePointer StorageBuffer 31(int)
|
||||
41: 31(int) Constant 0
|
||||
42: TypeBool
|
||||
44: 6(int) Constant 3
|
||||
49: 6(int) Constant 0
|
||||
50: TypePointer StorageBuffer 17(int8_t)
|
||||
54: 31(int) Constant 1
|
||||
58: TypeVector 17(int8_t) 2
|
||||
59: TypePointer StorageBuffer 18(i8vec4)
|
||||
67: 31(int) Constant 2
|
||||
68: TypeVector 17(int8_t) 3
|
||||
76: 31(int) Constant 3
|
||||
83: TypePointer StorageBuffer 19(int8_t)
|
||||
90: TypeVector 19(int8_t) 2
|
||||
91: TypePointer StorageBuffer 20(i8vec4)
|
||||
99: TypeVector 19(int8_t) 3
|
||||
113: TypePointer StorageBuffer 21(int16_t)
|
||||
120: TypeVector 21(int16_t) 2
|
||||
121: TypePointer StorageBuffer 22(i16vec4)
|
||||
129: TypeVector 21(int16_t) 3
|
||||
143: TypePointer StorageBuffer 23(int16_t)
|
||||
150: TypeVector 23(int16_t) 2
|
||||
151: TypePointer StorageBuffer 24(i16vec4)
|
||||
159: TypeVector 23(int16_t) 3
|
||||
181: 31(int) Constant 4
|
||||
182: TypePointer StorageBuffer 25(int64_t)
|
||||
189: TypeVector 25(int64_t) 2
|
||||
190: TypePointer StorageBuffer 26(i64vec4)
|
||||
198: TypeVector 25(int64_t) 3
|
||||
212: 31(int) Constant 5
|
||||
213: TypePointer StorageBuffer 27(int64_t)
|
||||
220: TypeVector 27(int64_t) 2
|
||||
221: TypePointer StorageBuffer 28(i64vec4)
|
||||
229: TypeVector 27(int64_t) 3
|
||||
243: 31(int) Constant 6
|
||||
244: TypePointer StorageBuffer 29(float16_t)
|
||||
251: TypeVector 29(float16_t) 2
|
||||
252: TypePointer StorageBuffer 30(f16vec4)
|
||||
260: TypeVector 29(float16_t) 3
|
||||
273: TypeVector 6(int) 3
|
||||
274: 6(int) Constant 8
|
||||
275: 6(int) Constant 1
|
||||
276: 273(ivec3) ConstantComposite 274 275 275
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
||||
13: 6(int) Load 12(gl_SubgroupSize)
|
||||
14: 6(int) IAdd 11 13
|
||||
16: 6(int) UMod 14 15
|
||||
Store 8(invocation) 16
|
||||
36: 6(int) Load 8(invocation)
|
||||
39: 38(ptr) AccessChain 35(data) 36 37
|
||||
40: 31(int) Load 39
|
||||
43: 42(bool) SLessThan 40 41
|
||||
45: 42(bool) GroupNonUniformAll 44 43
|
||||
SelectionMerge 47 None
|
||||
BranchConditional 45 46 172
|
||||
46: Label
|
||||
48: 6(int) Load 8(invocation)
|
||||
51: 50(ptr) AccessChain 35(data) 41 41 49
|
||||
52: 17(int8_t) Load 51
|
||||
53: 42(bool) GroupNonUniformAllEqual 44 52
|
||||
55: 31(int) Select 53 54 41
|
||||
56: 38(ptr) AccessChain 35(data) 48 37
|
||||
Store 56 55
|
||||
57: 6(int) Load 8(invocation)
|
||||
60: 59(ptr) AccessChain 35(data) 54 41
|
||||
61: 18(i8vec4) Load 60
|
||||
62: 58(i8vec2) VectorShuffle 61 61 0 1
|
||||
63: 42(bool) GroupNonUniformAllEqual 44 62
|
||||
64: 31(int) Select 63 54 41
|
||||
65: 38(ptr) AccessChain 35(data) 57 37
|
||||
Store 65 64
|
||||
66: 6(int) Load 8(invocation)
|
||||
69: 59(ptr) AccessChain 35(data) 67 41
|
||||
70: 18(i8vec4) Load 69
|
||||
71: 68(i8vec3) VectorShuffle 70 70 0 1 2
|
||||
72: 42(bool) GroupNonUniformAllEqual 44 71
|
||||
73: 31(int) Select 72 54 41
|
||||
74: 38(ptr) AccessChain 35(data) 66 37
|
||||
Store 74 73
|
||||
75: 6(int) Load 8(invocation)
|
||||
77: 59(ptr) AccessChain 35(data) 76 41
|
||||
78: 18(i8vec4) Load 77
|
||||
79: 42(bool) GroupNonUniformAllEqual 44 78
|
||||
80: 31(int) Select 79 54 41
|
||||
81: 38(ptr) AccessChain 35(data) 75 37
|
||||
Store 81 80
|
||||
82: 6(int) Load 8(invocation)
|
||||
84: 83(ptr) AccessChain 35(data) 41 54 49
|
||||
85: 19(int8_t) Load 84
|
||||
86: 42(bool) GroupNonUniformAllEqual 44 85
|
||||
87: 31(int) Select 86 54 41
|
||||
88: 38(ptr) AccessChain 35(data) 82 37
|
||||
Store 88 87
|
||||
89: 6(int) Load 8(invocation)
|
||||
92: 91(ptr) AccessChain 35(data) 54 54
|
||||
93: 20(i8vec4) Load 92
|
||||
94: 90(i8vec2) VectorShuffle 93 93 0 1
|
||||
95: 42(bool) GroupNonUniformAllEqual 44 94
|
||||
96: 31(int) Select 95 54 41
|
||||
97: 38(ptr) AccessChain 35(data) 89 37
|
||||
Store 97 96
|
||||
98: 6(int) Load 8(invocation)
|
||||
100: 91(ptr) AccessChain 35(data) 67 54
|
||||
101: 20(i8vec4) Load 100
|
||||
102: 99(i8vec3) VectorShuffle 101 101 0 1 2
|
||||
103: 42(bool) GroupNonUniformAllEqual 44 102
|
||||
104: 31(int) Select 103 54 41
|
||||
105: 38(ptr) AccessChain 35(data) 98 37
|
||||
Store 105 104
|
||||
106: 6(int) Load 8(invocation)
|
||||
107: 91(ptr) AccessChain 35(data) 76 54
|
||||
108: 20(i8vec4) Load 107
|
||||
109: 42(bool) GroupNonUniformAllEqual 44 108
|
||||
110: 31(int) Select 109 54 41
|
||||
111: 38(ptr) AccessChain 35(data) 106 37
|
||||
Store 111 110
|
||||
112: 6(int) Load 8(invocation)
|
||||
114: 113(ptr) AccessChain 35(data) 41 67 49
|
||||
115: 21(int16_t) Load 114
|
||||
116: 42(bool) GroupNonUniformAllEqual 44 115
|
||||
117: 31(int) Select 116 54 41
|
||||
118: 38(ptr) AccessChain 35(data) 112 37
|
||||
Store 118 117
|
||||
119: 6(int) Load 8(invocation)
|
||||
122: 121(ptr) AccessChain 35(data) 54 67
|
||||
123: 22(i16vec4) Load 122
|
||||
124:120(i16vec2) VectorShuffle 123 123 0 1
|
||||
125: 42(bool) GroupNonUniformAllEqual 44 124
|
||||
126: 31(int) Select 125 54 41
|
||||
127: 38(ptr) AccessChain 35(data) 119 37
|
||||
Store 127 126
|
||||
128: 6(int) Load 8(invocation)
|
||||
130: 121(ptr) AccessChain 35(data) 67 67
|
||||
131: 22(i16vec4) Load 130
|
||||
132:129(i16vec3) VectorShuffle 131 131 0 1 2
|
||||
133: 42(bool) GroupNonUniformAllEqual 44 132
|
||||
134: 31(int) Select 133 54 41
|
||||
135: 38(ptr) AccessChain 35(data) 128 37
|
||||
Store 135 134
|
||||
136: 6(int) Load 8(invocation)
|
||||
137: 121(ptr) AccessChain 35(data) 76 67
|
||||
138: 22(i16vec4) Load 137
|
||||
139: 42(bool) GroupNonUniformAllEqual 44 138
|
||||
140: 31(int) Select 139 54 41
|
||||
141: 38(ptr) AccessChain 35(data) 136 37
|
||||
Store 141 140
|
||||
142: 6(int) Load 8(invocation)
|
||||
144: 143(ptr) AccessChain 35(data) 41 76 49
|
||||
145: 23(int16_t) Load 144
|
||||
146: 42(bool) GroupNonUniformAllEqual 44 145
|
||||
147: 31(int) Select 146 54 41
|
||||
148: 38(ptr) AccessChain 35(data) 142 37
|
||||
Store 148 147
|
||||
149: 6(int) Load 8(invocation)
|
||||
152: 151(ptr) AccessChain 35(data) 54 76
|
||||
153: 24(i16vec4) Load 152
|
||||
154:150(i16vec2) VectorShuffle 153 153 0 1
|
||||
155: 42(bool) GroupNonUniformAllEqual 44 154
|
||||
156: 31(int) Select 155 54 41
|
||||
157: 38(ptr) AccessChain 35(data) 149 37
|
||||
Store 157 156
|
||||
158: 6(int) Load 8(invocation)
|
||||
160: 151(ptr) AccessChain 35(data) 67 76
|
||||
161: 24(i16vec4) Load 160
|
||||
162:159(i16vec3) VectorShuffle 161 161 0 1 2
|
||||
163: 42(bool) GroupNonUniformAllEqual 44 162
|
||||
164: 31(int) Select 163 54 41
|
||||
165: 38(ptr) AccessChain 35(data) 158 37
|
||||
Store 165 164
|
||||
166: 6(int) Load 8(invocation)
|
||||
167: 151(ptr) AccessChain 35(data) 76 76
|
||||
168: 24(i16vec4) Load 167
|
||||
169: 42(bool) GroupNonUniformAllEqual 44 168
|
||||
170: 31(int) Select 169 54 41
|
||||
171: 38(ptr) AccessChain 35(data) 166 37
|
||||
Store 171 170
|
||||
Branch 47
|
||||
172: Label
|
||||
173: 6(int) Load 8(invocation)
|
||||
174: 38(ptr) AccessChain 35(data) 173 37
|
||||
175: 31(int) Load 174
|
||||
176: 42(bool) SLessThan 175 41
|
||||
177: 42(bool) GroupNonUniformAny 44 176
|
||||
SelectionMerge 179 None
|
||||
BranchConditional 177 178 179
|
||||
178: Label
|
||||
180: 6(int) Load 8(invocation)
|
||||
183: 182(ptr) AccessChain 35(data) 41 181 49
|
||||
184: 25(int64_t) Load 183
|
||||
185: 42(bool) GroupNonUniformAllEqual 44 184
|
||||
186: 31(int) Select 185 54 41
|
||||
187: 38(ptr) AccessChain 35(data) 180 37
|
||||
Store 187 186
|
||||
188: 6(int) Load 8(invocation)
|
||||
191: 190(ptr) AccessChain 35(data) 54 181
|
||||
192: 26(i64vec4) Load 191
|
||||
193:189(i64vec2) VectorShuffle 192 192 0 1
|
||||
194: 42(bool) GroupNonUniformAllEqual 44 193
|
||||
195: 31(int) Select 194 54 41
|
||||
196: 38(ptr) AccessChain 35(data) 188 37
|
||||
Store 196 195
|
||||
197: 6(int) Load 8(invocation)
|
||||
199: 190(ptr) AccessChain 35(data) 67 181
|
||||
200: 26(i64vec4) Load 199
|
||||
201:198(i64vec3) VectorShuffle 200 200 0 1 2
|
||||
202: 42(bool) GroupNonUniformAllEqual 44 201
|
||||
203: 31(int) Select 202 54 41
|
||||
204: 38(ptr) AccessChain 35(data) 197 37
|
||||
Store 204 203
|
||||
205: 6(int) Load 8(invocation)
|
||||
206: 190(ptr) AccessChain 35(data) 76 181
|
||||
207: 26(i64vec4) Load 206
|
||||
208: 42(bool) GroupNonUniformAllEqual 44 207
|
||||
209: 31(int) Select 208 54 41
|
||||
210: 38(ptr) AccessChain 35(data) 205 37
|
||||
Store 210 209
|
||||
211: 6(int) Load 8(invocation)
|
||||
214: 213(ptr) AccessChain 35(data) 41 212 49
|
||||
215: 27(int64_t) Load 214
|
||||
216: 42(bool) GroupNonUniformAllEqual 44 215
|
||||
217: 31(int) Select 216 54 41
|
||||
218: 38(ptr) AccessChain 35(data) 211 37
|
||||
Store 218 217
|
||||
219: 6(int) Load 8(invocation)
|
||||
222: 221(ptr) AccessChain 35(data) 54 212
|
||||
223: 28(i64vec4) Load 222
|
||||
224:220(i64vec2) VectorShuffle 223 223 0 1
|
||||
225: 42(bool) GroupNonUniformAllEqual 44 224
|
||||
226: 31(int) Select 225 54 41
|
||||
227: 38(ptr) AccessChain 35(data) 219 37
|
||||
Store 227 226
|
||||
228: 6(int) Load 8(invocation)
|
||||
230: 221(ptr) AccessChain 35(data) 67 212
|
||||
231: 28(i64vec4) Load 230
|
||||
232:229(i64vec3) VectorShuffle 231 231 0 1 2
|
||||
233: 42(bool) GroupNonUniformAllEqual 44 232
|
||||
234: 31(int) Select 233 54 41
|
||||
235: 38(ptr) AccessChain 35(data) 228 37
|
||||
Store 235 234
|
||||
236: 6(int) Load 8(invocation)
|
||||
237: 221(ptr) AccessChain 35(data) 76 212
|
||||
238: 28(i64vec4) Load 237
|
||||
239: 42(bool) GroupNonUniformAllEqual 44 238
|
||||
240: 31(int) Select 239 54 41
|
||||
241: 38(ptr) AccessChain 35(data) 236 37
|
||||
Store 241 240
|
||||
242: 6(int) Load 8(invocation)
|
||||
245: 244(ptr) AccessChain 35(data) 41 243 49
|
||||
246:29(float16_t) Load 245
|
||||
247: 42(bool) GroupNonUniformAllEqual 44 246
|
||||
248: 31(int) Select 247 54 41
|
||||
249: 38(ptr) AccessChain 35(data) 242 37
|
||||
Store 249 248
|
||||
250: 6(int) Load 8(invocation)
|
||||
253: 252(ptr) AccessChain 35(data) 54 243
|
||||
254: 30(f16vec4) Load 253
|
||||
255:251(f16vec2) VectorShuffle 254 254 0 1
|
||||
256: 42(bool) GroupNonUniformAllEqual 44 255
|
||||
257: 31(int) Select 256 54 41
|
||||
258: 38(ptr) AccessChain 35(data) 250 37
|
||||
Store 258 257
|
||||
259: 6(int) Load 8(invocation)
|
||||
261: 252(ptr) AccessChain 35(data) 67 243
|
||||
262: 30(f16vec4) Load 261
|
||||
263:260(f16vec3) VectorShuffle 262 262 0 1 2
|
||||
264: 42(bool) GroupNonUniformAllEqual 44 263
|
||||
265: 31(int) Select 264 54 41
|
||||
266: 38(ptr) AccessChain 35(data) 259 37
|
||||
Store 266 265
|
||||
267: 6(int) Load 8(invocation)
|
||||
268: 252(ptr) AccessChain 35(data) 76 243
|
||||
269: 30(f16vec4) Load 268
|
||||
270: 42(bool) GroupNonUniformAllEqual 44 269
|
||||
271: 31(int) Select 270 54 41
|
||||
272: 38(ptr) AccessChain 35(data) 267 37
|
||||
Store 272 271
|
||||
Branch 179
|
||||
179: Label
|
||||
Branch 47
|
||||
47: Label
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user