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