aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/spv.memoryScopeSemantics.comp.out
blob: 56c8470ebe052a0b0d1894d61a21cd90e54ebeac (plain)
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
spv.memoryScopeSemantics.comp
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 169

                              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) DescriptorSet 0
                              Decorate 36(imagei) Binding 1
                              Decorate 46(imageu) DescriptorSet 0
                              Decorate 46(imageu) Binding 0
                              MemberDecorate 66(BufferU) 0 Offset 0
                              Decorate 66(BufferU) Block
                              Decorate 68(bufferu) DescriptorSet 0
                              Decorate 68(bufferu) Binding 2
                              MemberDecorate 78(BufferI) 0 Offset 0
                              Decorate 78(BufferI) Block
                              Decorate 80(bufferi) DescriptorSet 0
                              Decorate 80(bufferi) Binding 3
                              Decorate 83 ArrayStride 4
                              MemberDecorate 84(A) 0 Offset 0
                              MemberDecorate 85(BufferJ) 0 Offset 0
                              Decorate 85(BufferJ) Block
                              Decorate 88(bufferj) DescriptorSet 0
                              Decorate 88(bufferj) Binding 4
                              MemberDecorate 99(BufferK) 0 Offset 0
                              Decorate 99(BufferK) Block
                              Decorate 101(bufferk) DescriptorSet 0
                              Decorate 101(bufferk) Binding 7
                              Decorate 111(imagej) DescriptorSet 0
                              Decorate 111(imagej) Binding 5
                              Decorate 123(samp) DescriptorSet 0
                              Decorate 123(samp) Binding 6
                              MemberDecorate 144(BufferL) 0 Offset 0
                              Decorate 144(BufferL) Block
                              Decorate 146(bufferl) DescriptorSet 0
                              Decorate 146(bufferl) Binding 8
                              MemberDecorate 151(BufferM) 0 Offset 0
                              Decorate 151(BufferM) Block
                              Decorate 153(bufferm) DescriptorSet 0
                              Decorate 153(bufferm) Binding 9
                              Decorate 165(imageMS) DescriptorSet 0
                              Decorate 165(imageMS) Binding 10
               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
         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
                              MemoryBarrier 26 18
                              ControlBarrier 26 26 64
                              ControlBarrier 26 26 17
              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
                              Return
                              FunctionEnd