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