spv.atomicAdd.bufferReference.comp
Validation failed
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 190

                              Capability Shader
                              Capability VulkanMemoryModelKHR
                              Capability VulkanMemoryModelDeviceScopeKHR
                              Capability PhysicalStorageBufferAddressesEXT
                              Extension  "SPV_KHR_physical_storage_buffer"
                              Extension  "SPV_KHR_vulkan_memory_model"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
                              EntryPoint GLCompute 4  "main" 40 83 135
                              ExecutionModeId 4 LocalSizeId 7 8 9
                              Source GLSL 450
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              SourceExtension  "GL_EXT_buffer_reference"
                              SourceExtension  "GL_KHR_memory_scope_semantics"
                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              SourceExtension  "GL_KHR_shader_subgroup_shuffle"
                              Name 4  "main"
                              Name 12  "pass"
                              Name 14  "skip"
                              Name 17  "sharedSkip"
                              Name 21  "PayloadRef"
                              MemberName 21(PayloadRef) 0  "x"
                              Name 23  "payload"
                              Name 25  "PC"
                              MemberName 25(PC) 0  "payloadref"
                              MemberName 25(PC) 1  "guard"
                              Name 27  "GuardRef"
                              MemberName 27(GuardRef) 0  "x"
                              Name 29  ""
                              Name 37  "globalId"
                              Name 40  "gl_GlobalInvocationID"
                              Name 45  "partnerGlobalId"
                              Name 46  "DIM"
                              Name 47  "NUM_WORKGROUP_EACH_DIM"
                              Name 57  "bufferCoord"
                              Name 68  "partnerBufferCoord"
                              Name 77  "imageCoord"
                              Name 79  "partnerImageCoord"
                              Name 81  "globalId00"
                              Name 83  "gl_WorkGroupID"
                              Name 88  "partnerGlobalId00"
                              Name 97  "bufferCoord00"
                              Name 106  "partnerBufferCoord00"
                              Name 115  "imageCoord00"
                              Name 117  "partnerImageCoord00"
                              Name 135  "gl_LocalInvocationID"
                              Name 165  "r"
                              Name 181  "Fail"
                              MemberName 181(Fail) 0  "x"
                              Name 183  "fail"
                              Decorate 7 SpecId 0
                              Decorate 8 SpecId 0
                              Decorate 20 ArrayStride 4
                              Decorate 21(PayloadRef) Block
                              MemberDecorate 21(PayloadRef) 0 Offset 0
                              Decorate 23(payload) DecorationAliasedPointerEXT
                              Decorate 25(PC) Block
                              MemberDecorate 25(PC) 0 Offset 0
                              MemberDecorate 25(PC) 1 Offset 8
                              Decorate 26 ArrayStride 4
                              Decorate 27(GuardRef) Block
                              MemberDecorate 27(GuardRef) 0 Offset 0
                              Decorate 40(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
                              Decorate 46(DIM) SpecId 0
                              Decorate 47(NUM_WORKGROUP_EACH_DIM) SpecId 1
                              Decorate 83(gl_WorkGroupID) BuiltIn WorkgroupId
                              Decorate 135(gl_LocalInvocationID) BuiltIn LocalInvocationId
                              Decorate 180 ArrayStride 4
                              Decorate 181(Fail) Block
                              MemberDecorate 181(Fail) 0 Offset 0
                              Decorate 183(fail) Binding 2
                              Decorate 183(fail) DescriptorSet 0
                              Decorate 187 SpecId 0
                              Decorate 188 SpecId 0
                              Decorate 189 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:      6(int) SpecConstant 1
               8:      6(int) SpecConstant 1
               9:      6(int) Constant 1
              10:             TypeBool
              11:             TypePointer Function 10(bool)
              13:    10(bool) ConstantTrue
              15:    10(bool) ConstantFalse
              16:             TypePointer Workgroup 10(bool)
  17(sharedSkip):     16(ptr) Variable Workgroup
              18:      6(int) Constant 2
                              TypeForwardPointer 19 PhysicalStorageBufferEXT
              20:             TypeRuntimeArray 6(int)
  21(PayloadRef):             TypeStruct 20
              19:             TypePointer PhysicalStorageBufferEXT 21(PayloadRef)
              22:             TypePointer Function 19(ptr)
                              TypeForwardPointer 24 PhysicalStorageBufferEXT
          25(PC):             TypeStruct 19(ptr) 24
              26:             TypeRuntimeArray 6(int)
    27(GuardRef):             TypeStruct 26
              24:             TypePointer PhysicalStorageBufferEXT 27(GuardRef)
              28:             TypePointer PushConstant 25(PC)
              29:     28(ptr) Variable PushConstant
              30:             TypeInt 32 1
              31:     30(int) Constant 0
              32:             TypePointer PushConstant 19(ptr)
              35:             TypeVector 30(int) 2
              36:             TypePointer Function 35(ivec2)
              38:             TypeVector 6(int) 3
              39:             TypePointer Input 38(ivec3)
40(gl_GlobalInvocationID):     39(ptr) Variable Input
              41:             TypeVector 6(int) 2
         46(DIM):     30(int) SpecConstant 1
47(NUM_WORKGROUP_EACH_DIM):     30(int) SpecConstant 1
              48:     30(int) SpecConstantOp 132 46(DIM) 47(NUM_WORKGROUP_EACH_DIM)
              49:     30(int) Constant 1
              50:     30(int) SpecConstantOp 130 48 49
              51:   35(ivec2) SpecConstantComposite 50 50
              56:             TypePointer Function 6(int)
              58:             TypePointer Function 30(int)
              63:      6(int) Constant 0
              82:   35(ivec2) SpecConstantComposite 46(DIM) 46(DIM)
83(gl_WorkGroupID):     39(ptr) Variable Input
              89:   35(ivec2) SpecConstantComposite 46(DIM) 46(DIM)
              90:     30(int) SpecConstantOp 130 47(NUM_WORKGROUP_EACH_DIM) 49
              91:   35(ivec2) SpecConstantComposite 90 90
             124:             TypePointer PhysicalStorageBufferEXT 6(int)
             127:     30(int) Constant 31
             131:     30(int) Constant 2
             132:     30(int) Constant 320
             133:     30(int) Constant 8200
             134:      6(int) Constant 8520
135(gl_LocalInvocationID):     39(ptr) Variable Input
             138:   41(ivec2) ConstantComposite 63 63
             139:             TypeVector 10(bool) 2
             144:             TypePointer PushConstant 24(ptr)
             149:     30(int) Constant 64
             150:     30(int) Constant 8196
             151:      6(int) Constant 5
             152:      6(int) Constant 8260
             157:     30(int) Constant 16386
             158:      6(int) Constant 16450
             162:     30(int) Constant 16392
             163:      6(int) Constant 16712
             180:             TypeRuntimeArray 6(int)
       181(Fail):             TypeStruct 180
             182:             TypePointer StorageBuffer 181(Fail)
       183(fail):    182(ptr) Variable StorageBuffer
             185:             TypePointer StorageBuffer 6(int)
             187:      6(int) SpecConstant 1
             188:      6(int) SpecConstant 1
             189:   38(ivec3) SpecConstantComposite 187 188 9
         4(main):           2 Function None 3
               5:             Label
        12(pass):     11(ptr) Variable Function
        14(skip):     11(ptr) Variable Function
     23(payload):     22(ptr) Variable Function
    37(globalId):     36(ptr) Variable Function
45(partnerGlobalId):     36(ptr) Variable Function
 57(bufferCoord):     56(ptr) Variable Function
68(partnerBufferCoord):     56(ptr) Variable Function
  77(imageCoord):     36(ptr) Variable Function
79(partnerImageCoord):     36(ptr) Variable Function
  81(globalId00):     36(ptr) Variable Function
88(partnerGlobalId00):     36(ptr) Variable Function
97(bufferCoord00):     56(ptr) Variable Function
106(partnerBufferCoord00):     56(ptr) Variable Function
115(imageCoord00):     36(ptr) Variable Function
117(partnerImageCoord00):     36(ptr) Variable Function
          165(r):     56(ptr) Variable Function
                              Store 12(pass) 13
                              Store 14(skip) 15
                              Store 17(sharedSkip) 15 MakePointerAvailableKHR NonPrivatePointerKHR 18
              33:     32(ptr) AccessChain 29 31
              34:     19(ptr) Load 33
                              Store 23(payload) 34
              42:   38(ivec3) Load 40(gl_GlobalInvocationID)
              43:   41(ivec2) VectorShuffle 42 42 0 1
              44:   35(ivec2) Bitcast 43
                              Store 37(globalId) 44
              52:   38(ivec3) Load 40(gl_GlobalInvocationID)
              53:   41(ivec2) VectorShuffle 52 52 0 1
              54:   35(ivec2) Bitcast 53
              55:   35(ivec2) ISub 51 54
                              Store 45(partnerGlobalId) 55
              59:     58(ptr) AccessChain 37(globalId) 9
              60:     30(int) Load 59
              61:     30(int) IMul 60 46(DIM)
              62:     30(int) IMul 61 47(NUM_WORKGROUP_EACH_DIM)
              64:     58(ptr) AccessChain 37(globalId) 63
              65:     30(int) Load 64
              66:     30(int) IAdd 62 65
              67:      6(int) Bitcast 66
                              Store 57(bufferCoord) 67
              69:     58(ptr) AccessChain 45(partnerGlobalId) 9
              70:     30(int) Load 69
              71:     30(int) IMul 70 46(DIM)
              72:     30(int) IMul 71 47(NUM_WORKGROUP_EACH_DIM)
              73:     58(ptr) AccessChain 45(partnerGlobalId) 63
              74:     30(int) Load 73
              75:     30(int) IAdd 72 74
              76:      6(int) Bitcast 75
                              Store 68(partnerBufferCoord) 76
              78:   35(ivec2) Load 37(globalId)
                              Store 77(imageCoord) 78
              80:   35(ivec2) Load 45(partnerGlobalId)
                              Store 79(partnerImageCoord) 80
              84:   38(ivec3) Load 83(gl_WorkGroupID)
              85:   41(ivec2) VectorShuffle 84 84 0 1
              86:   35(ivec2) Bitcast 85
              87:   35(ivec2) IMul 82 86
                              Store 81(globalId00) 87
              92:   38(ivec3) Load 83(gl_WorkGroupID)
              93:   41(ivec2) VectorShuffle 92 92 0 1
              94:   35(ivec2) Bitcast 93
              95:   35(ivec2) ISub 91 94
              96:   35(ivec2) IMul 89 95
                              Store 88(partnerGlobalId00) 96
              98:     58(ptr) AccessChain 81(globalId00) 9
              99:     30(int) Load 98
             100:     30(int) IMul 99 46(DIM)
             101:     30(int) IMul 100 47(NUM_WORKGROUP_EACH_DIM)
             102:     58(ptr) AccessChain 81(globalId00) 63
             103:     30(int) Load 102
             104:     30(int) IAdd 101 103
             105:      6(int) Bitcast 104
                              Store 97(bufferCoord00) 105
             107:     58(ptr) AccessChain 88(partnerGlobalId00) 9
             108:     30(int) Load 107
             109:     30(int) IMul 108 46(DIM)
             110:     30(int) IMul 109 47(NUM_WORKGROUP_EACH_DIM)
             111:     58(ptr) AccessChain 88(partnerGlobalId00) 63
             112:     30(int) Load 111
             113:     30(int) IAdd 110 112
             114:      6(int) Bitcast 113
                              Store 106(partnerBufferCoord00) 114
             116:   35(ivec2) Load 81(globalId00)
                              Store 115(imageCoord00) 116
             118:   35(ivec2) Load 88(partnerGlobalId00)
                              Store 117(partnerImageCoord00) 118
             119:     19(ptr) Load 23(payload)
             120:      6(int) Load 57(bufferCoord)
             121:      6(int) Load 57(bufferCoord)
             122:     19(ptr) Load 23(payload)
             123:      6(int) Load 68(partnerBufferCoord)
             125:    124(ptr) AccessChain 122 31 123
             126:      6(int) Load 125 Aligned NonPrivatePointerKHR 4
             128:      6(int) ShiftRightLogical 126 127
             129:      6(int) IAdd 121 128
             130:    124(ptr) AccessChain 119 31 120
                              Store 130 129 Aligned NonPrivatePointerKHR 4
                              ControlBarrier 18 18 134
             136:   38(ivec3) Load 135(gl_LocalInvocationID)
             137:   41(ivec2) VectorShuffle 136 136 0 1
             140:  139(bvec2) IEqual 137 138
             141:    10(bool) All 140
                              SelectionMerge 143 None
                              BranchConditional 141 142 143
             142:               Label
             145:    144(ptr)   AccessChain 29 49
             146:     24(ptr)   Load 145
             147:      6(int)   Load 57(bufferCoord)
             148:    124(ptr)   AccessChain 146 31 147
                                AtomicStore 148 49 152 9
             153:    144(ptr)   AccessChain 29 49
             154:     24(ptr)   Load 153
             155:      6(int)   Load 106(partnerBufferCoord00)
             156:    124(ptr)   AccessChain 154 31 155
             159:      6(int)   AtomicLoad 156 49 158
             160:    10(bool)   IEqual 159 63
                                Store 14(skip) 160
             161:    10(bool)   Load 14(skip)
                                Store 17(sharedSkip) 161 MakePointerAvailableKHR NonPrivatePointerKHR 18
                                Branch 143
             143:             Label
                              ControlBarrier 18 18 163
             164:    10(bool) Load 17(sharedSkip) MakePointerVisibleKHR NonPrivatePointerKHR 18
                              Store 14(skip) 164
             166:     19(ptr) Load 23(payload)
             167:      6(int) Load 68(partnerBufferCoord)
             168:    124(ptr) AccessChain 166 31 167
             169:      6(int) Load 168 Aligned NonPrivatePointerKHR 4
                              Store 165(r) 169
             170:    10(bool) Load 14(skip)
             171:    10(bool) LogicalNot 170
                              SelectionMerge 173 None
                              BranchConditional 171 172 173
             172:               Label
             174:      6(int)   Load 165(r)
             175:      6(int)   Load 68(partnerBufferCoord)
             176:    10(bool)   INotEqual 174 175
                                Branch 173
             173:             Label
             177:    10(bool) Phi 171 143 176 172
                              SelectionMerge 179 None
                              BranchConditional 177 178 179
             178:               Label
             184:      6(int)   Load 57(bufferCoord)
             186:    185(ptr)   AccessChain 183(fail) 31 184
                                Store 186 9
                                Branch 179
             179:             Label
                              Return
                              FunctionEnd
