305 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			305 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
spv.atomicAdd.bufferReference.comp
 | 
						|
// Module Version 10000
 | 
						|
// Generated by (magic number): 8000a
 | 
						|
// Id's are bound by 188
 | 
						|
 | 
						|
                              Capability Shader
 | 
						|
                              Capability VulkanMemoryModelKHR
 | 
						|
                              Capability VulkanMemoryModelDeviceScopeKHR
 | 
						|
                              Capability PhysicalStorageBufferAddressesEXT
 | 
						|
                              Extension  "SPV_KHR_physical_storage_buffer"
 | 
						|
                              Extension  "SPV_KHR_storage_buffer_storage_class"
 | 
						|
                              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
 | 
						|
                              MemberDecorate 18(PayloadRef) 0 Offset 0
 | 
						|
                              Decorate 18(PayloadRef) Block
 | 
						|
                              Decorate 20(payload) DecorationAliasedPointerEXT
 | 
						|
                              MemberDecorate 22(PC) 0 Offset 0
 | 
						|
                              MemberDecorate 22(PC) 1 Offset 8
 | 
						|
                              Decorate 22(PC) Block
 | 
						|
                              Decorate 23 ArrayStride 4
 | 
						|
                              MemberDecorate 24(GuardRef) 0 Offset 0
 | 
						|
                              Decorate 24(GuardRef) Block
 | 
						|
                              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
 | 
						|
                              MemberDecorate 179(Fail) 0 Offset 0
 | 
						|
                              Decorate 179(Fail) Block
 | 
						|
                              Decorate 181(fail) DescriptorSet 0
 | 
						|
                              Decorate 181(fail) Binding 2
 | 
						|
                              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
 |