yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

natgavrilenkoFix memory semantics validation rules according to the spec (#4008)579d34d5

main
22.4 KiB402 linesraw
1spv.memoryScopeSemantics.comp
2// Module Version 10300
3// Generated by (magic number): 8000b
4// Id's are bound by 245
5
6                              Capability Shader
7                              Capability Int64
8                              Capability Int64Atomics
9                              Capability StorageImageMultisample
10                              Capability VulkanMemoryModelKHR
11                              Capability VulkanMemoryModelDeviceScopeKHR
12                              Extension  "SPV_KHR_vulkan_memory_model"
13               1:             ExtInstImport  "GLSL.std.450"
14                              MemoryModel Logical VulkanKHR
15                              EntryPoint GLCompute 4  "main"
16                              ExecutionMode 4 LocalSize 1 1 1
17                              Source GLSL 450
18                              SourceExtension  "GL_ARB_gpu_shader_int64"
19                              SourceExtension  "GL_KHR_memory_scope_semantics"
20                              Name 4  "main"
21                              Name 8  "origi"
22                              Name 10  "atomi"
23                              Name 21  "origu"
24                              Name 23  "atomu"
25                              Name 24  "value"
26                              Name 36  "imagei"
27                              Name 46  "imageu"
28                              Name 66  "BufferU"
29                              MemberName 66(BufferU) 0  "x"
30                              Name 68  "bufferu"
31                              Name 73  "y"
32                              Name 78  "BufferI"
33                              MemberName 78(BufferI) 0  "x"
34                              Name 80  "bufferi"
35                              Name 84  "A"
36                              MemberName 84(A) 0  "x"
37                              Name 85  "BufferJ"
38                              MemberName 85(BufferJ) 0  "a"
39                              Name 88  "bufferj"
40                              Name 99  "BufferK"
41                              MemberName 99(BufferK) 0  "x"
42                              Name 101  "bufferk"
43                              Name 111  "imagej"
44                              Name 123  "samp"
45                              Name 134  "atomu64"
46                              Name 139  "atomi64"
47                              Name 144  "BufferL"
48                              MemberName 144(BufferL) 0  "x"
49                              Name 146  "bufferl"
50                              Name 151  "BufferM"
51                              MemberName 151(BufferM) 0  "x"
52                              Name 153  "bufferm"
53                              Name 165  "imageMS"
54                              Decorate 36(imagei) Binding 1
55                              Decorate 36(imagei) DescriptorSet 0
56                              Decorate 46(imageu) Binding 0
57                              Decorate 46(imageu) DescriptorSet 0
58                              Decorate 66(BufferU) Block
59                              MemberDecorate 66(BufferU) 0 Offset 0
60                              Decorate 68(bufferu) Binding 2
61                              Decorate 68(bufferu) DescriptorSet 0
62                              Decorate 78(BufferI) Block
63                              MemberDecorate 78(BufferI) 0 Offset 0
64                              Decorate 80(bufferi) Binding 3
65                              Decorate 80(bufferi) DescriptorSet 0
66                              Decorate 83 ArrayStride 4
67                              MemberDecorate 84(A) 0 Offset 0
68                              Decorate 85(BufferJ) Block
69                              MemberDecorate 85(BufferJ) 0 Offset 0
70                              Decorate 88(bufferj) Binding 4
71                              Decorate 88(bufferj) DescriptorSet 0
72                              Decorate 99(BufferK) Block
73                              MemberDecorate 99(BufferK) 0 Offset 0
74                              Decorate 101(bufferk) Binding 7
75                              Decorate 101(bufferk) DescriptorSet 0
76                              Decorate 111(imagej) Binding 5
77                              Decorate 111(imagej) DescriptorSet 0
78                              Decorate 123(samp) Binding 6
79                              Decorate 123(samp) DescriptorSet 0
80                              Decorate 144(BufferL) Block
81                              MemberDecorate 144(BufferL) 0 Offset 0
82                              Decorate 146(bufferl) Binding 8
83                              Decorate 146(bufferl) DescriptorSet 0
84                              Decorate 151(BufferM) Block
85                              MemberDecorate 151(BufferM) 0 Offset 0
86                              Decorate 153(bufferm) Binding 9
87                              Decorate 153(bufferm) DescriptorSet 0
88                              Decorate 165(imageMS) Binding 10
89                              Decorate 165(imageMS) DescriptorSet 0
90               2:             TypeVoid
91               3:             TypeFunction 2
92               6:             TypeInt 32 1
93               7:             TypePointer Function 6(int)
94               9:             TypePointer Workgroup 6(int)
95       10(atomi):      9(ptr) Variable Workgroup
96              11:      6(int) Constant 3
97              12:      6(int) Constant 1
98              13:      6(int) Constant 320
99              14:      6(int) Constant 4
100              15:             TypeInt 32 0
101              16:     15(int) Constant 5
102              17:     15(int) Constant 0
103              18:     15(int) Constant 324
104              20:             TypePointer Function 15(int)
105              22:             TypePointer Workgroup 15(int)
106       23(atomu):     22(ptr) Variable Workgroup
107       24(value):     22(ptr) Variable Workgroup
108              26:     15(int) Constant 2
109              28:      6(int) Constant 64
110              29:      6(int) Constant 2
111              30:     15(int) Constant 66
112              33:     15(int) Constant 68
113              34:             TypeImage 6(int) 2D nonsampled format:R32i
114              35:             TypePointer UniformConstant 34
115      36(imagei):     35(ptr) Variable UniformConstant
116              37:             TypeVector 6(int) 2
117              38:      6(int) Constant 0
118              39:   37(ivec2) ConstantComposite 38 38
119              40:             TypePointer Image 6(int)
120              42:     15(int) Constant 32768
121              44:             TypeImage 15(int) 2D nonsampled format:R32ui
122              45:             TypePointer UniformConstant 44
123      46(imageu):     45(ptr) Variable UniformConstant
124              47:     15(int) Constant 3
125              48:             TypePointer Image 15(int)
126              51:     15(int) Constant 4
127              53:     15(int) Constant 7
128              58:      6(int) Constant 7
129              62:     15(int) Constant 10
130              64:     15(int) Constant 322
131     66(BufferU):             TypeStruct 15(int)
132              67:             TypePointer StorageBuffer 66(BufferU)
133     68(bufferu):     67(ptr) Variable StorageBuffer
134              69:             TypePointer StorageBuffer 15(int)
135              71:     15(int) Constant 1
136     78(BufferI):             TypeStruct 15(int)
137              79:             TypePointer StorageBuffer 78(BufferI)
138     80(bufferi):     79(ptr) Variable StorageBuffer
139              83:             TypeArray 15(int) 26
140           84(A):             TypeStruct 83
141     85(BufferJ):             TypeStruct 84(A)
142              86:             TypeArray 85(BufferJ) 26
143              87:             TypePointer StorageBuffer 86
144     88(bufferj):     87(ptr) Variable StorageBuffer
145              95:             TypePointer StorageBuffer 84(A)
146     99(BufferK):             TypeStruct 15(int)
147             100:             TypePointer Uniform 99(BufferK)
148    101(bufferk):    100(ptr) Variable Uniform
149             102:             TypePointer Uniform 15(int)
150             107:             TypeVector 6(int) 4
151             109:             TypeArray 34 26
152             110:             TypePointer UniformConstant 109
153     111(imagej):    110(ptr) Variable UniformConstant
154             117:  107(ivec4) ConstantComposite 38 38 38 38
155             118:             TypeFloat 32
156             119:             TypeImage 118(float) 2D sampled format:Unknown
157             120:             TypeSampledImage 119
158             121:             TypeArray 120 26
159             122:             TypePointer UniformConstant 121
160       123(samp):    122(ptr) Variable UniformConstant
161             124:             TypePointer UniformConstant 120
162             127:             TypeVector 118(float) 2
163             128:  118(float) Constant 0
164             129:  127(fvec2) ConstantComposite 128 128
165             130:             TypeVector 118(float) 4
166             132:             TypeInt 64 0
167             133:             TypePointer Workgroup 132(int64_t)
168    134(atomu64):    133(ptr) Variable Workgroup
169             135:132(int64_t) Constant 7 0
170             137:             TypeInt 64 1
171             138:             TypePointer Workgroup 137(int64_t)
172    139(atomi64):    138(ptr) Variable Workgroup
173             140:137(int64_t) Constant 10 0
174    144(BufferL):             TypeStruct 15(int)
175             145:             TypePointer StorageBuffer 144(BufferL)
176    146(bufferl):    145(ptr) Variable StorageBuffer
177    151(BufferM):             TypeStruct 15(int)
178             152:             TypePointer StorageBuffer 151(BufferM)
179    153(bufferm):    152(ptr) Variable StorageBuffer
180             161:      6(int) Constant 32768
181             163:             TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
182             164:             TypePointer UniformConstant 163
183    165(imageMS):    164(ptr) Variable UniformConstant
184             167:      6(int) Constant 4294967289
185             169:      6(int) Constant 8
186             170:     15(int) Constant 72
187             171:     15(int) Constant 328
188             172:      6(int) Constant 16386
189             173:     15(int) Constant 16450
190             174:      6(int) Constant 8196
191             175:     15(int) Constant 8260
192             176:      6(int) Constant 24584
193             177:     15(int) Constant 24904
194             182:      6(int) Constant 32770
195             183:     15(int) Constant 32834
196             186:      6(int) Constant 49154
197             187:     15(int) Constant 49474
198             189:      6(int) Constant 32772
199             190:     15(int) Constant 32836
200             191:      6(int) Constant 40964
201             192:     15(int) Constant 41284
202             200:      6(int) Constant 32776
203             201:     15(int) Constant 32840
204             205:     15(int) Constant 24648
205             208:      6(int) Constant 57352
206             209:     15(int) Constant 57672
207             211:     15(int) Constant 20
208             235:      6(int) Constant 16392
209             236:     15(int) Constant 16456
210             238:      6(int) Constant 8200
211             239:     15(int) Constant 8264
212         4(main):           2 Function None 3
213               5:             Label
214        8(origi):      7(ptr) Variable Function
215       21(origu):     20(ptr) Variable Function
216           73(y):     20(ptr) Variable Function
217              19:      6(int) AtomicIAdd 10(atomi) 12 18 11
218                              Store 8(origi) 19
219              25:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
220              27:     15(int) AtomicAnd 23(atomu) 16 17 25
221                              Store 21(origu) 27
222              31:      6(int) AtomicLoad 10(atomi) 12 30
223                              Store 8(origi) 31
224              32:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
225                              AtomicStore 23(atomu) 12 33 32
226              41:     40(ptr) ImageTexelPointer 36(imagei) 39 17
227              43:      6(int) AtomicLoad 41 12 30
228                              Store 8(origi) 43
229              49:     48(ptr) ImageTexelPointer 46(imageu) 39 17
230              50:     15(int) AtomicIAdd 49 12 30 47
231                              Store 21(origu) 50
232              52:     48(ptr) ImageTexelPointer 46(imageu) 39 17
233                              AtomicStore 52 12 33 51
234              54:     15(int) AtomicOr 23(atomu) 12 17 53
235                              Store 21(origu) 54
236              55:     15(int) AtomicXor 23(atomu) 12 17 53
237                              Store 21(origu) 55
238              56:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
239              57:     15(int) AtomicUMin 23(atomu) 12 17 56
240                              Store 21(origu) 57
241              59:      6(int) AtomicSMax 10(atomi) 12 17 58
242                              Store 8(origi) 59
243              60:      6(int) Load 8(origi)
244              61:      6(int) AtomicExchange 10(atomi) 12 17 60
245                              Store 8(origi) 61
246              63:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
247              65:     15(int) AtomicCompareExchange 23(atomu) 12 64 64 63 62
248                              Store 21(origu) 65
249              70:     69(ptr) AccessChain 68(bufferu) 38
250              72:     15(int) AtomicIAdd 70 12 18 71
251              74:     69(ptr) AccessChain 68(bufferu) 38
252              75:     15(int) Load 74 MakePointerVisibleKHR NonPrivatePointerKHR 26
253                              Store 73(y) 75
254              76:     15(int) Load 73(y)
255              77:     69(ptr) AccessChain 68(bufferu) 38
256                              Store 77 76 MakePointerAvailableKHR NonPrivatePointerKHR 26
257              81:     69(ptr) AccessChain 80(bufferi) 38
258              82:     15(int) Load 81 MakePointerVisibleKHR NonPrivatePointerKHR 16
259                              Store 73(y) 82
260              89:     69(ptr) AccessChain 88(bufferj) 38 38 38 12
261              90:     15(int) Load 89 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
262                              Store 73(y) 90
263              91:     15(int) Load 73(y)
264              92:     69(ptr) AccessChain 80(bufferi) 38
265                              Store 92 91 MakePointerAvailableKHR NonPrivatePointerKHR 16
266              93:     15(int) Load 73(y)
267              94:     69(ptr) AccessChain 88(bufferj) 38 38 38 12
268                              Store 94 93 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
269              96:     95(ptr) AccessChain 88(bufferj) 12 38
270              97:       84(A) Load 96 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
271              98:     95(ptr) AccessChain 88(bufferj) 38 38
272                              Store 98 97 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
273             103:    102(ptr) AccessChain 101(bufferk) 38
274             104:     15(int) Load 103 NonPrivatePointerKHR 
275             105:     69(ptr) AccessChain 80(bufferi) 38
276                              Store 105 104 MakePointerAvailableKHR NonPrivatePointerKHR 16
277             106:          34 Load 36(imagei)
278             108:  107(ivec4) ImageRead 106 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
279             112:     35(ptr) AccessChain 111(imagej) 38
280             113:          34 Load 112
281             114:  107(ivec4) ImageRead 113 39 NonPrivateTexelKHR 
282             115:     35(ptr) AccessChain 111(imagej) 12
283             116:          34 Load 115
284                              ImageWrite 116 39 117 NonPrivateTexelKHR 
285             125:    124(ptr) AccessChain 123(samp) 38
286             126:         120 Load 125
287             131:  130(fvec4) ImageSampleExplicitLod 126 129 Lod NonPrivateTexelKHR 128
288             136:132(int64_t) AtomicUMax 134(atomu64) 12 17 135
289                              Store 134(atomu64) 136 MakePointerAvailableKHR NonPrivatePointerKHR 26
290             141:132(int64_t) Load 134(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
291             142:137(int64_t) Bitcast 141
292             143:137(int64_t) AtomicCompareExchange 139(atomi64) 12 64 64 142 140
293             147:     69(ptr) AccessChain 146(bufferl) 38
294             148:     15(int) Load 147 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
295                              Store 73(y) 148
296             149:     69(ptr) AccessChain 146(bufferl) 38
297             150:     15(int) AtomicIAdd 149 16 42 71
298             154:     69(ptr) AccessChain 153(bufferm) 38
299             155:     15(int) AtomicOr 154 16 42 26
300             156:     40(ptr) ImageTexelPointer 36(imagei) 39 17
301             157:      6(int) AtomicIAdd 156 16 42 11
302             158:     69(ptr) AccessChain 68(bufferu) 38
303             159:     15(int) AtomicIAdd 158 12 17 51
304             160:     69(ptr) AccessChain 68(bufferu) 38
305             162:     15(int) AtomicIAdd 160 12 42 16
306             166:     40(ptr) ImageTexelPointer 165(imageMS) 39 12
307                              AtomicStore 166 12 33 14
308             168:     40(ptr) ImageTexelPointer 36(imagei) 39 17
309                              AtomicStore 168 12 33 167
310                              ControlBarrier 26 26 17
311                              ControlBarrier 26 26 30
312                              ControlBarrier 26 26 33
313                              ControlBarrier 26 26 170
314                              ControlBarrier 26 26 171
315                              ControlBarrier 26 26 173
316                              ControlBarrier 26 26 175
317                              ControlBarrier 26 26 177
318                              MemoryBarrier 26 30
319                              MemoryBarrier 26 33
320                              MemoryBarrier 26 170
321                              MemoryBarrier 26 171
322                              MemoryBarrier 26 173
323                              MemoryBarrier 26 175
324                              MemoryBarrier 26 177
325             178:     15(int) AtomicLoad 23(atomu) 12 17
326                              Store 21(origu) 178
327             179:     15(int) AtomicLoad 23(atomu) 12 42
328                              Store 21(origu) 179
329             180:     15(int) AtomicLoad 23(atomu) 12 30
330                              Store 21(origu) 180
331             181:     15(int) AtomicLoad 23(atomu) 12 64
332                              Store 21(origu) 181
333             184:     15(int) AtomicLoad 23(atomu) 12 183
334                              Store 21(origu) 184
335             185:     15(int) AtomicLoad 23(atomu) 12 173
336                              Store 21(origu) 185
337             188:     15(int) AtomicLoad 23(atomu) 12 187
338                              Store 21(origu) 188
339                              AtomicStore 23(atomu) 12 17 62
340                              AtomicStore 23(atomu) 12 42 62
341                              AtomicStore 23(atomu) 12 33 62
342                              AtomicStore 23(atomu) 12 18 62
343                              AtomicStore 23(atomu) 12 190 62
344                              AtomicStore 23(atomu) 12 175 62
345                              AtomicStore 23(atomu) 12 192 62
346             193:     15(int) AtomicAnd 23(atomu) 12 17 62
347                              Store 21(origu) 193
348             194:     15(int) AtomicAnd 23(atomu) 12 42 62
349                              Store 21(origu) 194
350             195:     15(int) AtomicAnd 23(atomu) 12 30 62
351                              Store 21(origu) 195
352             196:     15(int) AtomicAnd 23(atomu) 12 33 62
353                              Store 21(origu) 196
354             197:     15(int) AtomicAnd 23(atomu) 12 170 62
355                              Store 21(origu) 197
356             198:     15(int) AtomicAnd 23(atomu) 12 183 62
357                              Store 21(origu) 198
358             199:     15(int) AtomicAnd 23(atomu) 12 190 62
359                              Store 21(origu) 199
360             202:     15(int) AtomicAnd 23(atomu) 12 201 62
361                              Store 21(origu) 202
362             203:     15(int) AtomicAnd 23(atomu) 12 173 62
363                              Store 21(origu) 203
364             204:     15(int) AtomicAnd 23(atomu) 12 175 62
365                              Store 21(origu) 204
366             206:     15(int) AtomicAnd 23(atomu) 12 205 62
367                              Store 21(origu) 206
368             207:     15(int) AtomicAnd 23(atomu) 12 177 62
369                              Store 21(origu) 207
370             210:     15(int) AtomicAnd 23(atomu) 12 209 62
371                              Store 21(origu) 210
372             212:     15(int) AtomicCompareExchange 23(atomu) 12 17 17 211 62
373             213:     15(int) AtomicCompareExchange 23(atomu) 12 42 42 211 62
374             214:     15(int) AtomicCompareExchange 23(atomu) 12 30 17 211 62
375             215:     15(int) AtomicCompareExchange 23(atomu) 12 33 17 211 62
376             216:     15(int) AtomicCompareExchange 23(atomu) 12 170 17 211 62
377             217:     15(int) AtomicCompareExchange 23(atomu) 12 183 42 211 62
378             218:     15(int) AtomicCompareExchange 23(atomu) 12 190 42 211 62
379             219:     15(int) AtomicCompareExchange 23(atomu) 12 201 42 211 62
380             220:     15(int) AtomicCompareExchange 23(atomu) 12 173 17 211 62
381             221:     15(int) AtomicCompareExchange 23(atomu) 12 175 17 211 62
382             222:     15(int) AtomicCompareExchange 23(atomu) 12 177 17 211 62
383             223:     15(int) AtomicCompareExchange 23(atomu) 12 209 42 211 62
384             224:     15(int) AtomicCompareExchange 23(atomu) 12 30 30 211 62
385             225:     15(int) AtomicCompareExchange 23(atomu) 12 183 183 211 62
386             226:     15(int) AtomicCompareExchange 23(atomu) 12 64 30 211 62
387             227:     15(int) AtomicCompareExchange 23(atomu) 12 64 64 211 62
388             228:     15(int) AtomicCompareExchange 23(atomu) 12 173 30 211 62
389             229:     15(int) AtomicCompareExchange 23(atomu) 12 173 173 211 62
390             230:     15(int) AtomicCompareExchange 23(atomu) 12 187 187 211 62
391             231:     15(int) AtomicCompareExchange 23(atomu) 12 170 30 211 62
392             232:     15(int) AtomicCompareExchange 23(atomu) 12 201 183 211 62
393             233:     15(int) AtomicCompareExchange 23(atomu) 12 171 30 211 62
394             234:     15(int) AtomicCompareExchange 23(atomu) 12 171 64 211 62
395             237:     15(int) AtomicCompareExchange 23(atomu) 12 236 30 211 62
396             240:     15(int) AtomicCompareExchange 23(atomu) 12 239 30 211 62
397             241:     15(int) AtomicCompareExchange 23(atomu) 12 205 30 211 62
398             242:     15(int) AtomicCompareExchange 23(atomu) 12 236 173 211 62
399             243:     15(int) AtomicCompareExchange 23(atomu) 12 205 173 211 62
400             244:     15(int) AtomicCompareExchange 23(atomu) 12 209 187 211 62
401                              Return
402                              FunctionEnd