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