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

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