spv.memoryScopeSemantics.comp
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 142

                              Capability Shader
                              Capability Int64
                              Capability Int64Atomics
                              Capability CapabilityVulkanMemoryModelKHR
                              Capability CapabilityVulkanMemoryModelDeviceScopeKHR
                              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 45  "imageu"
                              Name 65  "BufferU"
                              MemberName 65(BufferU) 0  "x"
                              Name 67  "bufferu"
                              Name 72  "y"
                              Name 77  "BufferI"
                              MemberName 77(BufferI) 0  "x"
                              Name 79  "bufferi"
                              Name 83  "A"
                              MemberName 83(A) 0  "x"
                              Name 84  "BufferJ"
                              MemberName 84(BufferJ) 0  "a"
                              Name 87  "bufferj"
                              Name 98  "BufferK"
                              MemberName 98(BufferK) 0  "x"
                              Name 100  "bufferk"
                              Name 109  "imagej"
                              Name 121  "samp"
                              Name 132  "atomu64"
                              Name 137  "atomi64"
                              Decorate 36(imagei) DescriptorSet 0
                              Decorate 36(imagei) Binding 1
                              Decorate 45(imageu) DescriptorSet 0
                              Decorate 45(imageu) Binding 0
                              MemberDecorate 65(BufferU) 0 Offset 0
                              Decorate 65(BufferU) BufferBlock
                              Decorate 67(bufferu) DescriptorSet 0
                              Decorate 67(bufferu) Binding 2
                              MemberDecorate 77(BufferI) 0 Offset 0
                              Decorate 77(BufferI) BufferBlock
                              Decorate 79(bufferi) DescriptorSet 0
                              Decorate 79(bufferi) Binding 3
                              Decorate 82 ArrayStride 4
                              MemberDecorate 83(A) 0 Offset 0
                              MemberDecorate 84(BufferJ) 0 Offset 0
                              Decorate 84(BufferJ) BufferBlock
                              Decorate 87(bufferj) DescriptorSet 0
                              Decorate 87(bufferj) Binding 4
                              MemberDecorate 98(BufferK) 0 Offset 0
                              Decorate 98(BufferK) Block
                              Decorate 100(bufferk) DescriptorSet 0
                              Decorate 100(bufferk) Binding 7
                              Decorate 109(imagej) DescriptorSet 0
                              Decorate 109(imagej) Binding 5
                              Decorate 121(samp) DescriptorSet 0
                              Decorate 121(samp) Binding 6
               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)
              43:             TypeImage 15(int) 2D nonsampled format:R32ui
              44:             TypePointer UniformConstant 43
      45(imageu):     44(ptr) Variable UniformConstant
              46:     15(int) Constant 3
              47:             TypePointer Image 15(int)
              50:     15(int) Constant 4
              52:     15(int) Constant 7
              57:      6(int) Constant 7
              61:     15(int) Constant 10
              63:     15(int) Constant 322
     65(BufferU):             TypeStruct 15(int)
              66:             TypePointer Uniform 65(BufferU)
     67(bufferu):     66(ptr) Variable Uniform
              68:             TypePointer Uniform 15(int)
              70:     15(int) Constant 1
     77(BufferI):             TypeStruct 15(int)
              78:             TypePointer Uniform 77(BufferI)
     79(bufferi):     78(ptr) Variable Uniform
              82:             TypeArray 15(int) 26
           83(A):             TypeStruct 82
     84(BufferJ):             TypeStruct 83(A)
              85:             TypeArray 84(BufferJ) 26
              86:             TypePointer Uniform 85
     87(bufferj):     86(ptr) Variable Uniform
              94:             TypePointer Uniform 83(A)
     98(BufferK):             TypeStruct 15(int)
              99:             TypePointer Uniform 98(BufferK)
    100(bufferk):     99(ptr) Variable Uniform
             105:             TypeVector 6(int) 4
             107:             TypeArray 34 26
             108:             TypePointer UniformConstant 107
     109(imagej):    108(ptr) Variable UniformConstant
             115:  105(ivec4) ConstantComposite 38 38 38 38
             116:             TypeFloat 32
             117:             TypeImage 116(float) 2D sampled format:Unknown
             118:             TypeSampledImage 117
             119:             TypeArray 118 26
             120:             TypePointer UniformConstant 119
       121(samp):    120(ptr) Variable UniformConstant
             122:             TypePointer UniformConstant 118
             125:             TypeVector 116(float) 2
             126:  116(float) Constant 0
             127:  125(fvec2) ConstantComposite 126 126
             128:             TypeVector 116(float) 4
             130:             TypeInt 64 0
             131:             TypePointer Workgroup 130(int64_t)
    132(atomu64):    131(ptr) Variable Workgroup
             133:130(int64_t) Constant 7 0
             135:             TypeInt 64 1
             136:             TypePointer Workgroup 135(int64_t)
    137(atomi64):    136(ptr) Variable Workgroup
             138:135(int64_t) Constant 10 0
         4(main):           2 Function None 3
               5:             Label
        8(origi):      7(ptr) Variable Function
       21(origu):     20(ptr) Variable Function
           72(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
              42:      6(int) AtomicLoad 41 12 30
                              Store 8(origi) 42
              48:     47(ptr) ImageTexelPointer 45(imageu) 39 17
              49:     15(int) AtomicIAdd 48 12 30 46
                              Store 21(origu) 49
              51:     47(ptr) ImageTexelPointer 45(imageu) 39 17
                              AtomicStore 51 12 33 50
              53:     15(int) AtomicOr 23(atomu) 12 17 52
                              Store 21(origu) 53
              54:     15(int) AtomicXor 23(atomu) 12 17 52
                              Store 21(origu) 54
              55:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
              56:     15(int) AtomicUMin 23(atomu) 12 17 55
                              Store 21(origu) 56
              58:      6(int) AtomicSMax 10(atomi) 12 17 57
                              Store 8(origi) 58
              59:      6(int) Load 8(origi)
              60:      6(int) AtomicExchange 10(atomi) 12 17 59
                              Store 8(origi) 60
              62:     15(int) Load 24(value) MakePointerVisibleKHR NonPrivatePointerKHR 26
              64:     15(int) AtomicCompareExchange 23(atomu) 12 63 63 62 61
                              Store 21(origu) 64
              69:     68(ptr) AccessChain 67(bufferu) 38
              71:     15(int) AtomicIAdd 69 12 18 70
                              MemoryBarrier 26 18
                              ControlBarrier 26 26 63
                              ControlBarrier 26 26 17
              73:     68(ptr) AccessChain 67(bufferu) 38
              74:     15(int) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26
                              Store 72(y) 74
              75:     15(int) Load 72(y)
              76:     68(ptr) AccessChain 67(bufferu) 38
                              Store 76 75 MakePointerAvailableKHR NonPrivatePointerKHR 26
              80:     68(ptr) AccessChain 79(bufferi) 38
              81:     15(int) Load 80 MakePointerVisibleKHR NonPrivatePointerKHR 16
                              Store 72(y) 81
              88:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
              89:     15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
                              Store 72(y) 89
              90:     15(int) Load 72(y)
              91:     68(ptr) AccessChain 79(bufferi) 38
                              Store 91 90 MakePointerAvailableKHR NonPrivatePointerKHR 16
              92:     15(int) Load 72(y)
              93:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
                              Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
              95:     94(ptr) AccessChain 87(bufferj) 12 38
              96:       83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
              97:     94(ptr) AccessChain 87(bufferj) 38 38
                              Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
             101:     68(ptr) AccessChain 100(bufferk) 38
             102:     15(int) Load 101 NonPrivatePointerKHR 
             103:     68(ptr) AccessChain 79(bufferi) 38
                              Store 103 102 MakePointerAvailableKHR NonPrivatePointerKHR 16
             104:          34 Load 36(imagei)
             106:  105(ivec4) ImageRead 104 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
             110:     35(ptr) AccessChain 109(imagej) 38
             111:          34 Load 110
             112:  105(ivec4) ImageRead 111 39 NonPrivateTexelKHR 
             113:     35(ptr) AccessChain 109(imagej) 12
             114:          34 Load 113
                              ImageWrite 114 39 115 NonPrivateTexelKHR 
             123:    122(ptr) AccessChain 121(samp) 38
             124:         118 Load 123
             129:  128(fvec4) ImageSampleExplicitLod 124 127 Lod NonPrivateTexelKHR 126
             134:130(int64_t) AtomicUMax 132(atomu64) 12 17 133
                              Store 132(atomu64) 134 MakePointerAvailableKHR NonPrivatePointerKHR 26
             139:130(int64_t) Load 132(atomu64) MakePointerVisibleKHR NonPrivatePointerKHR 26
             140:135(int64_t) Bitcast 139
             141:135(int64_t) AtomicCompareExchange 137(atomi64) 12 63 63 140 138
                              Return
                              FunctionEnd
