spv.memoryScopeSemantics.comp
error: SPIRV-Tools Validation Errors
error: Capability Int64Atomics is not allowed by Vulkan 1.0 specification (or requires extension)
  OpCapability Int64Atomics

// 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 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 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 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 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 26
             139:130(int64_t) Load 132(atomu64) MakePointerVisibleKHR 26
             140:135(int64_t) Bitcast 139
             141:135(int64_t) AtomicCompareExchange 137(atomi64) 12 63 63 140 138
                              Return
                              FunctionEnd
