blob: aac688f7633f2d1f9096ba1a8551993c96e95e5c [file]
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