1617a3babSopenharmony_cispv.memoryScopeSemantics.comp
2617a3babSopenharmony_ci// Module Version 10300
3617a3babSopenharmony_ci// Generated by (magic number): 8000b
4617a3babSopenharmony_ci// Id's are bound by 169
5617a3babSopenharmony_ci
6617a3babSopenharmony_ci                              Capability Shader
7617a3babSopenharmony_ci                              Capability Int64
8617a3babSopenharmony_ci                              Capability Int64Atomics
9617a3babSopenharmony_ci                              Capability StorageImageMultisample
10617a3babSopenharmony_ci                              Capability VulkanMemoryModelKHR
11617a3babSopenharmony_ci                              Capability VulkanMemoryModelDeviceScopeKHR
12617a3babSopenharmony_ci                              Extension  "SPV_KHR_vulkan_memory_model"
13617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
14617a3babSopenharmony_ci                              MemoryModel Logical VulkanKHR
15617a3babSopenharmony_ci                              EntryPoint GLCompute 4  "main"
16617a3babSopenharmony_ci                              ExecutionMode 4 LocalSize 1 1 1
17617a3babSopenharmony_ci                              Source GLSL 450
18617a3babSopenharmony_ci                              SourceExtension  "GL_ARB_gpu_shader_int64"
19617a3babSopenharmony_ci                              SourceExtension  "GL_KHR_memory_scope_semantics"
20617a3babSopenharmony_ci                              Name 4  "main"
21617a3babSopenharmony_ci                              Name 8  "origi"
22617a3babSopenharmony_ci                              Name 10  "atomi"
23617a3babSopenharmony_ci                              Name 21  "origu"
24617a3babSopenharmony_ci                              Name 23  "atomu"
25617a3babSopenharmony_ci                              Name 24  "value"
26617a3babSopenharmony_ci                              Name 36  "imagei"
27617a3babSopenharmony_ci                              Name 46  "imageu"
28617a3babSopenharmony_ci                              Name 66  "BufferU"
29617a3babSopenharmony_ci                              MemberName 66(BufferU) 0  "x"
30617a3babSopenharmony_ci                              Name 68  "bufferu"
31617a3babSopenharmony_ci                              Name 73  "y"
32617a3babSopenharmony_ci                              Name 78  "BufferI"
33617a3babSopenharmony_ci                              MemberName 78(BufferI) 0  "x"
34617a3babSopenharmony_ci                              Name 80  "bufferi"
35617a3babSopenharmony_ci                              Name 84  "A"
36617a3babSopenharmony_ci                              MemberName 84(A) 0  "x"
37617a3babSopenharmony_ci                              Name 85  "BufferJ"
38617a3babSopenharmony_ci                              MemberName 85(BufferJ) 0  "a"
39617a3babSopenharmony_ci                              Name 88  "bufferj"
40617a3babSopenharmony_ci                              Name 99  "BufferK"
41617a3babSopenharmony_ci                              MemberName 99(BufferK) 0  "x"
42617a3babSopenharmony_ci                              Name 101  "bufferk"
43617a3babSopenharmony_ci                              Name 111  "imagej"
44617a3babSopenharmony_ci                              Name 123  "samp"
45617a3babSopenharmony_ci                              Name 134  "atomu64"
46617a3babSopenharmony_ci                              Name 139  "atomi64"
47617a3babSopenharmony_ci                              Name 144  "BufferL"
48617a3babSopenharmony_ci                              MemberName 144(BufferL) 0  "x"
49617a3babSopenharmony_ci                              Name 146  "bufferl"
50617a3babSopenharmony_ci                              Name 151  "BufferM"
51617a3babSopenharmony_ci                              MemberName 151(BufferM) 0  "x"
52617a3babSopenharmony_ci                              Name 153  "bufferm"
53617a3babSopenharmony_ci                              Name 165  "imageMS"
54617a3babSopenharmony_ci                              Decorate 36(imagei) DescriptorSet 0
55617a3babSopenharmony_ci                              Decorate 36(imagei) Binding 1
56617a3babSopenharmony_ci                              Decorate 46(imageu) DescriptorSet 0
57617a3babSopenharmony_ci                              Decorate 46(imageu) Binding 0
58617a3babSopenharmony_ci                              MemberDecorate 66(BufferU) 0 Offset 0
59617a3babSopenharmony_ci                              Decorate 66(BufferU) Block
60617a3babSopenharmony_ci                              Decorate 68(bufferu) DescriptorSet 0
61617a3babSopenharmony_ci                              Decorate 68(bufferu) Binding 2
62617a3babSopenharmony_ci                              MemberDecorate 78(BufferI) 0 Offset 0
63617a3babSopenharmony_ci                              Decorate 78(BufferI) Block
64617a3babSopenharmony_ci                              Decorate 80(bufferi) DescriptorSet 0
65617a3babSopenharmony_ci                              Decorate 80(bufferi) Binding 3
66617a3babSopenharmony_ci                              Decorate 83 ArrayStride 4
67617a3babSopenharmony_ci                              MemberDecorate 84(A) 0 Offset 0
68617a3babSopenharmony_ci                              MemberDecorate 85(BufferJ) 0 Offset 0
69617a3babSopenharmony_ci                              Decorate 85(BufferJ) Block
70617a3babSopenharmony_ci                              Decorate 88(bufferj) DescriptorSet 0
71617a3babSopenharmony_ci                              Decorate 88(bufferj) Binding 4
72617a3babSopenharmony_ci                              MemberDecorate 99(BufferK) 0 Offset 0
73617a3babSopenharmony_ci                              Decorate 99(BufferK) Block
74617a3babSopenharmony_ci                              Decorate 101(bufferk) DescriptorSet 0
75617a3babSopenharmony_ci                              Decorate 101(bufferk) Binding 7
76617a3babSopenharmony_ci                              Decorate 111(imagej) DescriptorSet 0
77617a3babSopenharmony_ci                              Decorate 111(imagej) Binding 5
78617a3babSopenharmony_ci                              Decorate 123(samp) DescriptorSet 0
79617a3babSopenharmony_ci                              Decorate 123(samp) Binding 6
80617a3babSopenharmony_ci                              MemberDecorate 144(BufferL) 0 Offset 0
81617a3babSopenharmony_ci                              Decorate 144(BufferL) Block
82617a3babSopenharmony_ci                              Decorate 146(bufferl) DescriptorSet 0
83617a3babSopenharmony_ci                              Decorate 146(bufferl) Binding 8
84617a3babSopenharmony_ci                              MemberDecorate 151(BufferM) 0 Offset 0
85617a3babSopenharmony_ci                              Decorate 151(BufferM) Block
86617a3babSopenharmony_ci                              Decorate 153(bufferm) DescriptorSet 0
87617a3babSopenharmony_ci                              Decorate 153(bufferm) Binding 9
88617a3babSopenharmony_ci                              Decorate 165(imageMS) DescriptorSet 0
89617a3babSopenharmony_ci                              Decorate 165(imageMS) Binding 10
90617a3babSopenharmony_ci               2:             TypeVoid
91617a3babSopenharmony_ci               3:             TypeFunction 2
92617a3babSopenharmony_ci               6:             TypeInt 32 1
93617a3babSopenharmony_ci               7:             TypePointer Function 6(int)
94617a3babSopenharmony_ci               9:             TypePointer Workgroup 6(int)
95617a3babSopenharmony_ci       10(atomi):      9(ptr) Variable Workgroup
96617a3babSopenharmony_ci              11:      6(int) Constant 3
97617a3babSopenharmony_ci              12:      6(int) Constant 1
98617a3babSopenharmony_ci              13:      6(int) Constant 320
99617a3babSopenharmony_ci              14:      6(int) Constant 4
100617a3babSopenharmony_ci              15:             TypeInt 32 0
101617a3babSopenharmony_ci              16:     15(int) Constant 5
102617a3babSopenharmony_ci              17:     15(int) Constant 0
103617a3babSopenharmony_ci              18:     15(int) Constant 324
104617a3babSopenharmony_ci              20:             TypePointer Function 15(int)
105617a3babSopenharmony_ci              22:             TypePointer Workgroup 15(int)
106617a3babSopenharmony_ci       23(atomu):     22(ptr) Variable Workgroup
107617a3babSopenharmony_ci       24(value):     22(ptr) Variable Workgroup
108617a3babSopenharmony_ci              26:     15(int) Constant 2
109617a3babSopenharmony_ci              28:      6(int) Constant 64
110617a3babSopenharmony_ci              29:      6(int) Constant 2
111617a3babSopenharmony_ci              30:     15(int) Constant 66
112617a3babSopenharmony_ci              33:     15(int) Constant 68
113617a3babSopenharmony_ci              34:             TypeImage 6(int) 2D nonsampled format:R32i
114617a3babSopenharmony_ci              35:             TypePointer UniformConstant 34
115617a3babSopenharmony_ci      36(imagei):     35(ptr) Variable UniformConstant
116617a3babSopenharmony_ci              37:             TypeVector 6(int) 2
117617a3babSopenharmony_ci              38:      6(int) Constant 0
118617a3babSopenharmony_ci              39:   37(ivec2) ConstantComposite 38 38
119617a3babSopenharmony_ci              40:             TypePointer Image 6(int)
120617a3babSopenharmony_ci              42:     15(int) Constant 32768
121617a3babSopenharmony_ci              44:             TypeImage 15(int) 2D nonsampled format:R32ui
122617a3babSopenharmony_ci              45:             TypePointer UniformConstant 44
123617a3babSopenharmony_ci      46(imageu):     45(ptr) Variable UniformConstant
124617a3babSopenharmony_ci              47:     15(int) Constant 3
125617a3babSopenharmony_ci              48:             TypePointer Image 15(int)
126617a3babSopenharmony_ci              51:     15(int) Constant 4
127617a3babSopenharmony_ci              53:     15(int) Constant 7
128617a3babSopenharmony_ci              58:      6(int) Constant 7
129617a3babSopenharmony_ci              62:     15(int) Constant 10
130617a3babSopenharmony_ci              64:     15(int) Constant 322
131617a3babSopenharmony_ci     66(BufferU):             TypeStruct 15(int)
132617a3babSopenharmony_ci              67:             TypePointer StorageBuffer 66(BufferU)
133617a3babSopenharmony_ci     68(bufferu):     67(ptr) Variable StorageBuffer
134617a3babSopenharmony_ci              69:             TypePointer StorageBuffer 15(int)
135617a3babSopenharmony_ci              71:     15(int) Constant 1
136617a3babSopenharmony_ci     78(BufferI):             TypeStruct 15(int)
137617a3babSopenharmony_ci              79:             TypePointer StorageBuffer 78(BufferI)
138617a3babSopenharmony_ci     80(bufferi):     79(ptr) Variable StorageBuffer
139617a3babSopenharmony_ci              83:             TypeArray 15(int) 26
140617a3babSopenharmony_ci           84(A):             TypeStruct 83
141617a3babSopenharmony_ci     85(BufferJ):             TypeStruct 84(A)
142617a3babSopenharmony_ci              86:             TypeArray 85(BufferJ) 26
143617a3babSopenharmony_ci              87:             TypePointer StorageBuffer 86
144617a3babSopenharmony_ci     88(bufferj):     87(ptr) Variable StorageBuffer
145617a3babSopenharmony_ci              95:             TypePointer StorageBuffer 84(A)
146617a3babSopenharmony_ci     99(BufferK):             TypeStruct 15(int)
147617a3babSopenharmony_ci             100:             TypePointer Uniform 99(BufferK)
148617a3babSopenharmony_ci    101(bufferk):    100(ptr) Variable Uniform
149617a3babSopenharmony_ci             102:             TypePointer Uniform 15(int)
150617a3babSopenharmony_ci             107:             TypeVector 6(int) 4
151617a3babSopenharmony_ci             109:             TypeArray 34 26
152617a3babSopenharmony_ci             110:             TypePointer UniformConstant 109
153617a3babSopenharmony_ci     111(imagej):    110(ptr) Variable UniformConstant
154617a3babSopenharmony_ci             117:  107(ivec4) ConstantComposite 38 38 38 38
155617a3babSopenharmony_ci             118:             TypeFloat 32
156617a3babSopenharmony_ci             119:             TypeImage 118(float) 2D sampled format:Unknown
157617a3babSopenharmony_ci             120:             TypeSampledImage 119
158617a3babSopenharmony_ci             121:             TypeArray 120 26
159617a3babSopenharmony_ci             122:             TypePointer UniformConstant 121
160617a3babSopenharmony_ci       123(samp):    122(ptr) Variable UniformConstant
161617a3babSopenharmony_ci             124:             TypePointer UniformConstant 120
162617a3babSopenharmony_ci             127:             TypeVector 118(float) 2
163617a3babSopenharmony_ci             128:  118(float) Constant 0
164617a3babSopenharmony_ci             129:  127(fvec2) ConstantComposite 128 128
165617a3babSopenharmony_ci             130:             TypeVector 118(float) 4
166617a3babSopenharmony_ci             132:             TypeInt 64 0
167617a3babSopenharmony_ci             133:             TypePointer Workgroup 132(int64_t)
168617a3babSopenharmony_ci    134(atomu64):    133(ptr) Variable Workgroup
169617a3babSopenharmony_ci             135:132(int64_t) Constant 7 0
170617a3babSopenharmony_ci             137:             TypeInt 64 1
171617a3babSopenharmony_ci             138:             TypePointer Workgroup 137(int64_t)
172617a3babSopenharmony_ci    139(atomi64):    138(ptr) Variable Workgroup
173617a3babSopenharmony_ci             140:137(int64_t) Constant 10 0
174617a3babSopenharmony_ci    144(BufferL):             TypeStruct 15(int)
175617a3babSopenharmony_ci             145:             TypePointer StorageBuffer 144(BufferL)
176617a3babSopenharmony_ci    146(bufferl):    145(ptr) Variable StorageBuffer
177617a3babSopenharmony_ci    151(BufferM):             TypeStruct 15(int)
178617a3babSopenharmony_ci             152:             TypePointer StorageBuffer 151(BufferM)
179617a3babSopenharmony_ci    153(bufferm):    152(ptr) Variable StorageBuffer
180617a3babSopenharmony_ci             161:      6(int) Constant 32768
181617a3babSopenharmony_ci             163:             TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
182617a3babSopenharmony_ci             164:             TypePointer UniformConstant 163
183617a3babSopenharmony_ci    165(imageMS):    164(ptr) Variable UniformConstant
184617a3babSopenharmony_ci             167:      6(int) Constant 4294967289
185617a3babSopenharmony_ci         4(main):           2 Function None 3
186617a3babSopenharmony_ci               5:             Label
187617a3babSopenharmony_ci        8(origi):      7(ptr) Variable Function
188617a3babSopenharmony_ci       21(origu):     20(ptr) Variable Function
189617a3babSopenharmony_ci           73(y):     20(ptr) Variable Function
190617a3babSopenharmony_ci              19:      6(int) AtomicIAdd 10(atomi) 12 18 11
191617a3babSopenharmony_ci                              Store 8(origi) 19
192617a3babSopenharmony_ci              25:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
193617a3babSopenharmony_ci              27:     15(int) AtomicAnd 23(atomu) 16 17 25
194617a3babSopenharmony_ci                              Store 21(origu) 27
195617a3babSopenharmony_ci              31:      6(int) AtomicLoad 10(atomi) 12 30
196617a3babSopenharmony_ci                              Store 8(origi) 31
197617a3babSopenharmony_ci              32:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
198617a3babSopenharmony_ci                              AtomicStore 23(atomu) 12 33 32
199617a3babSopenharmony_ci              41:     40(ptr) ImageTexelPointer 36(imagei) 39 17
200617a3babSopenharmony_ci              43:      6(int) AtomicLoad 41 12 30
201617a3babSopenharmony_ci                              Store 8(origi) 43
202617a3babSopenharmony_ci              49:     48(ptr) ImageTexelPointer 46(imageu) 39 17
203617a3babSopenharmony_ci              50:     15(int) AtomicIAdd 49 12 30 47
204617a3babSopenharmony_ci                              Store 21(origu) 50
205617a3babSopenharmony_ci              52:     48(ptr) ImageTexelPointer 46(imageu) 39 17
206617a3babSopenharmony_ci                              AtomicStore 52 12 33 51
207617a3babSopenharmony_ci              54:     15(int) AtomicOr 23(atomu) 12 17 53
208617a3babSopenharmony_ci                              Store 21(origu) 54
209617a3babSopenharmony_ci              55:     15(int) AtomicXor 23(atomu) 12 17 53
210617a3babSopenharmony_ci                              Store 21(origu) 55
211617a3babSopenharmony_ci              56:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
212617a3babSopenharmony_ci              57:     15(int) AtomicUMin 23(atomu) 12 17 56
213617a3babSopenharmony_ci                              Store 21(origu) 57
214617a3babSopenharmony_ci              59:      6(int) AtomicSMax 10(atomi) 12 17 58
215617a3babSopenharmony_ci                              Store 8(origi) 59
216617a3babSopenharmony_ci              60:      6(int) Load 8(origi)
217617a3babSopenharmony_ci              61:      6(int) AtomicExchange 10(atomi) 12 17 60
218617a3babSopenharmony_ci                              Store 8(origi) 61
219617a3babSopenharmony_ci              63:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
220617a3babSopenharmony_ci              65:     15(int) AtomicCompareExchange 23(atomu) 12 64 64 63 62
221617a3babSopenharmony_ci                              Store 21(origu) 65
222617a3babSopenharmony_ci              70:     69(ptr) AccessChain 68(bufferu) 38
223617a3babSopenharmony_ci              72:     15(int) AtomicIAdd 70 12 18 71
224617a3babSopenharmony_ci                              MemoryBarrier 26 18
225617a3babSopenharmony_ci                              ControlBarrier 26 26 64
226617a3babSopenharmony_ci                              ControlBarrier 26 26 17
227617a3babSopenharmony_ci              74:     69(ptr) AccessChain 68(bufferu) 38
228617a3babSopenharmony_ci              75:     15(int) Load 74 MakePointerVisibleKHR NonPrivatePointerKHR 26
229617a3babSopenharmony_ci                              Store 73(y) 75
230617a3babSopenharmony_ci              76:     15(int) Load 73(y)
231617a3babSopenharmony_ci              77:     69(ptr) AccessChain 68(bufferu) 38
232617a3babSopenharmony_ci                              Store 77 76 MakePointerAvailableKHR NonPrivatePointerKHR 26
233617a3babSopenharmony_ci              81:     69(ptr) AccessChain 80(bufferi) 38
234617a3babSopenharmony_ci              82:     15(int) Load 81 MakePointerVisibleKHR NonPrivatePointerKHR 16
235617a3babSopenharmony_ci                              Store 73(y) 82
236617a3babSopenharmony_ci              89:     69(ptr) AccessChain 88(bufferj) 38 38 38 12
237617a3babSopenharmony_ci              90:     15(int) Load 89 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
238617a3babSopenharmony_ci                              Store 73(y) 90
239617a3babSopenharmony_ci              91:     15(int) Load 73(y)
240617a3babSopenharmony_ci              92:     69(ptr) AccessChain 80(bufferi) 38
241617a3babSopenharmony_ci                              Store 92 91 MakePointerAvailableKHR NonPrivatePointerKHR 16
242617a3babSopenharmony_ci              93:     15(int) Load 73(y)
243617a3babSopenharmony_ci              94:     69(ptr) AccessChain 88(bufferj) 38 38 38 12
244617a3babSopenharmony_ci                              Store 94 93 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
245617a3babSopenharmony_ci              96:     95(ptr) AccessChain 88(bufferj) 12 38
246617a3babSopenharmony_ci              97:       84(A) Load 96 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
247617a3babSopenharmony_ci              98:     95(ptr) AccessChain 88(bufferj) 38 38
248617a3babSopenharmony_ci                              Store 98 97 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 16
249617a3babSopenharmony_ci             103:    102(ptr) AccessChain 101(bufferk) 38
250617a3babSopenharmony_ci             104:     15(int) Load 103 NonPrivatePointerKHR 
251617a3babSopenharmony_ci             105:     69(ptr) AccessChain 80(bufferi) 38
252617a3babSopenharmony_ci                              Store 105 104 MakePointerAvailableKHR NonPrivatePointerKHR 16
253617a3babSopenharmony_ci             106:          34 Load 36(imagei)
254617a3babSopenharmony_ci             108:  107(ivec4) ImageRead 106 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
255617a3babSopenharmony_ci             112:     35(ptr) AccessChain 111(imagej) 38
256617a3babSopenharmony_ci             113:          34 Load 112
257617a3babSopenharmony_ci             114:  107(ivec4) ImageRead 113 39 NonPrivateTexelKHR 
258617a3babSopenharmony_ci             115:     35(ptr) AccessChain 111(imagej) 12
259617a3babSopenharmony_ci             116:          34 Load 115
260617a3babSopenharmony_ci                              ImageWrite 116 39 117 NonPrivateTexelKHR 
261617a3babSopenharmony_ci             125:    124(ptr) AccessChain 123(samp) 38
262617a3babSopenharmony_ci             126:         120 Load 125
263617a3babSopenharmony_ci             131:  130(fvec4) ImageSampleExplicitLod 126 129 Lod NonPrivateTexelKHR 128
264617a3babSopenharmony_ci             136:132(int64_t) AtomicUMax 134(atomu64) 12 17 135
265617a3babSopenharmony_ci                              Store 134(atomu64) 136 MakePointerAvailableKHR NonPrivatePointerKHR 26
266617a3babSopenharmony_ci             141:132(int64_t) Load 134(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
267617a3babSopenharmony_ci             142:137(int64_t) Bitcast 141
268617a3babSopenharmony_ci             143:137(int64_t) AtomicCompareExchange 139(atomi64) 12 64 64 142 140
269617a3babSopenharmony_ci             147:     69(ptr) AccessChain 146(bufferl) 38
270617a3babSopenharmony_ci             148:     15(int) Load 147 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 16
271617a3babSopenharmony_ci                              Store 73(y) 148
272617a3babSopenharmony_ci             149:     69(ptr) AccessChain 146(bufferl) 38
273617a3babSopenharmony_ci             150:     15(int) AtomicIAdd 149 16 42 71
274617a3babSopenharmony_ci             154:     69(ptr) AccessChain 153(bufferm) 38
275617a3babSopenharmony_ci             155:     15(int) AtomicOr 154 16 42 26
276617a3babSopenharmony_ci             156:     40(ptr) ImageTexelPointer 36(imagei) 39 17
277617a3babSopenharmony_ci             157:      6(int) AtomicIAdd 156 16 42 11
278617a3babSopenharmony_ci             158:     69(ptr) AccessChain 68(bufferu) 38
279617a3babSopenharmony_ci             159:     15(int) AtomicIAdd 158 12 17 51
280617a3babSopenharmony_ci             160:     69(ptr) AccessChain 68(bufferu) 38
281617a3babSopenharmony_ci             162:     15(int) AtomicIAdd 160 12 42 16
282617a3babSopenharmony_ci             166:     40(ptr) ImageTexelPointer 165(imageMS) 39 12
283617a3babSopenharmony_ci                              AtomicStore 166 12 33 14
284617a3babSopenharmony_ci             168:     40(ptr) ImageTexelPointer 36(imagei) 39 17
285617a3babSopenharmony_ci                              AtomicStore 168 12 33 167
286617a3babSopenharmony_ci                              Return
287617a3babSopenharmony_ci                              FunctionEnd
288