mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-23 11:19:40 +00:00
378 lines
20 KiB
Plaintext
378 lines
20 KiB
Plaintext
spv.subgroupExtendedTypesVote.comp
|
|
// Module Version 10300
|
|
// Generated by (magic number): 8000b
|
|
// 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
|