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
 | 
