328 lines
17 KiB
Plaintext
328 lines
17 KiB
Plaintext
spv.shaderBallot.comp
|
|
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
|
|
|
|
|
Linked compute stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 245
|
|
|
|
Capability Shader
|
|
Capability Int64
|
|
Capability Groups
|
|
Capability SubgroupBallotKHR
|
|
Extension "SPV_KHR_shader_ballot"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "main" 10 12 21 23 26 29 32
|
|
ExecutionMode 4 LocalSize 8 8 1
|
|
Source GLSL 450
|
|
SourceExtension "GL_ARB_gpu_shader_int64"
|
|
SourceExtension "GL_ARB_shader_ballot"
|
|
Name 4 "main"
|
|
Name 8 "invocation"
|
|
Name 10 "gl_SubGroupInvocationARB"
|
|
Name 12 "gl_SubGroupSizeARB"
|
|
Name 19 "relMask"
|
|
Name 21 "gl_SubGroupEqMaskARB"
|
|
Name 23 "gl_SubGroupGeMaskARB"
|
|
Name 26 "gl_SubGroupGtMaskARB"
|
|
Name 29 "gl_SubGroupLeMaskARB"
|
|
Name 32 "gl_SubGroupLtMaskARB"
|
|
Name 52 "Buffers"
|
|
MemberName 52(Buffers) 0 "f4"
|
|
MemberName 52(Buffers) 1 "i4"
|
|
MemberName 52(Buffers) 2 "u4"
|
|
Name 55 "data"
|
|
Decorate 10(gl_SubGroupInvocationARB) BuiltIn SubgroupLocalInvocationId
|
|
Decorate 12(gl_SubGroupSizeARB) BuiltIn SubgroupSize
|
|
Decorate 21(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR
|
|
Decorate 23(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
|
|
Decorate 26(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR
|
|
Decorate 29(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR
|
|
Decorate 32(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
|
|
MemberDecorate 52(Buffers) 0 Offset 0
|
|
MemberDecorate 52(Buffers) 1 Offset 16
|
|
MemberDecorate 52(Buffers) 2 Offset 32
|
|
Decorate 52(Buffers) BufferBlock
|
|
Decorate 55(data) DescriptorSet 0
|
|
Decorate 55(data) Binding 0
|
|
Decorate 244 BuiltIn WorkgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypePointer Function 6(int)
|
|
9: TypePointer Input 6(int)
|
|
10(gl_SubGroupInvocationARB): 9(ptr) Variable Input
|
|
12(gl_SubGroupSizeARB): 9(ptr) Variable Input
|
|
15: 6(int) Constant 4
|
|
17: TypeInt 64 0
|
|
18: TypePointer Function 17(int)
|
|
20: TypePointer Input 17(int)
|
|
21(gl_SubGroupEqMaskARB): 20(ptr) Variable Input
|
|
23(gl_SubGroupGeMaskARB): 20(ptr) Variable Input
|
|
26(gl_SubGroupGtMaskARB): 20(ptr) Variable Input
|
|
29(gl_SubGroupLeMaskARB): 20(ptr) Variable Input
|
|
32(gl_SubGroupLtMaskARB): 20(ptr) Variable Input
|
|
36: TypeBool
|
|
37: 36(bool) ConstantTrue
|
|
38: TypeVector 6(int) 4
|
|
42: TypeVector 6(int) 2
|
|
48: TypeFloat 32
|
|
49: TypeVector 48(float) 4
|
|
50: TypeInt 32 1
|
|
51: TypeVector 50(int) 4
|
|
52(Buffers): TypeStruct 49(fvec4) 51(ivec4) 38(ivec4)
|
|
53: TypeArray 52(Buffers) 15
|
|
54: TypePointer Uniform 53
|
|
55(data): 54(ptr) Variable Uniform
|
|
57: 50(int) Constant 0
|
|
58: 6(int) Constant 0
|
|
59: TypePointer Uniform 48(float)
|
|
63: 6(int) Constant 3
|
|
67: 50(int) Constant 1
|
|
68: TypeVector 48(float) 2
|
|
69: TypePointer Uniform 49(fvec4)
|
|
79: 50(int) Constant 2
|
|
80: TypeVector 48(float) 3
|
|
90: 50(int) Constant 3
|
|
97: TypePointer Uniform 50(int)
|
|
104: TypeVector 50(int) 2
|
|
105: TypePointer Uniform 51(ivec4)
|
|
115: TypeVector 50(int) 3
|
|
131: TypePointer Uniform 6(int)
|
|
138: TypePointer Uniform 38(ivec4)
|
|
148: TypeVector 6(int) 3
|
|
242: 6(int) Constant 8
|
|
243: 6(int) Constant 1
|
|
244: 148(ivec3) ConstantComposite 242 242 243
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(invocation): 7(ptr) Variable Function
|
|
19(relMask): 18(ptr) Variable Function
|
|
11: 6(int) Load 10(gl_SubGroupInvocationARB)
|
|
13: 6(int) Load 12(gl_SubGroupSizeARB)
|
|
14: 6(int) IAdd 11 13
|
|
16: 6(int) UMod 14 15
|
|
Store 8(invocation) 16
|
|
22: 17(int) Load 21(gl_SubGroupEqMaskARB)
|
|
24: 17(int) Load 23(gl_SubGroupGeMaskARB)
|
|
25: 17(int) IAdd 22 24
|
|
27: 17(int) Load 26(gl_SubGroupGtMaskARB)
|
|
28: 17(int) IAdd 25 27
|
|
30: 17(int) Load 29(gl_SubGroupLeMaskARB)
|
|
31: 17(int) IAdd 28 30
|
|
33: 17(int) Load 32(gl_SubGroupLtMaskARB)
|
|
34: 17(int) IAdd 31 33
|
|
Store 19(relMask) 34
|
|
35: 17(int) Load 19(relMask)
|
|
39: 38(ivec4) SubgroupBallotKHR 37
|
|
40: 6(int) CompositeExtract 39 0
|
|
41: 6(int) CompositeExtract 39 1
|
|
43: 42(ivec2) CompositeConstruct 40 41
|
|
44: 17(int) Bitcast 43
|
|
45: 36(bool) IEqual 35 44
|
|
SelectionMerge 47 None
|
|
BranchConditional 45 46 163
|
|
46: Label
|
|
56: 6(int) Load 8(invocation)
|
|
60: 59(ptr) AccessChain 55(data) 57 57 58
|
|
61: 48(float) Load 60
|
|
62: 6(int) Load 8(invocation)
|
|
64: 48(float) GroupBroadcast 63 61 62
|
|
65: 59(ptr) AccessChain 55(data) 56 57 58
|
|
Store 65 64
|
|
66: 6(int) Load 8(invocation)
|
|
70: 69(ptr) AccessChain 55(data) 67 57
|
|
71: 49(fvec4) Load 70
|
|
72: 68(fvec2) VectorShuffle 71 71 0 1
|
|
73: 6(int) Load 8(invocation)
|
|
74: 68(fvec2) GroupBroadcast 63 72 73
|
|
75: 69(ptr) AccessChain 55(data) 66 57
|
|
76: 49(fvec4) Load 75
|
|
77: 49(fvec4) VectorShuffle 76 74 4 5 2 3
|
|
Store 75 77
|
|
78: 6(int) Load 8(invocation)
|
|
81: 69(ptr) AccessChain 55(data) 79 57
|
|
82: 49(fvec4) Load 81
|
|
83: 80(fvec3) VectorShuffle 82 82 0 1 2
|
|
84: 6(int) Load 8(invocation)
|
|
85: 80(fvec3) GroupBroadcast 63 83 84
|
|
86: 69(ptr) AccessChain 55(data) 78 57
|
|
87: 49(fvec4) Load 86
|
|
88: 49(fvec4) VectorShuffle 87 85 4 5 6 3
|
|
Store 86 88
|
|
89: 6(int) Load 8(invocation)
|
|
91: 69(ptr) AccessChain 55(data) 90 57
|
|
92: 49(fvec4) Load 91
|
|
93: 6(int) Load 8(invocation)
|
|
94: 49(fvec4) GroupBroadcast 63 92 93
|
|
95: 69(ptr) AccessChain 55(data) 89 57
|
|
Store 95 94
|
|
96: 6(int) Load 8(invocation)
|
|
98: 97(ptr) AccessChain 55(data) 57 67 58
|
|
99: 50(int) Load 98
|
|
100: 6(int) Load 8(invocation)
|
|
101: 50(int) GroupBroadcast 63 99 100
|
|
102: 97(ptr) AccessChain 55(data) 96 67 58
|
|
Store 102 101
|
|
103: 6(int) Load 8(invocation)
|
|
106: 105(ptr) AccessChain 55(data) 67 67
|
|
107: 51(ivec4) Load 106
|
|
108: 104(ivec2) VectorShuffle 107 107 0 1
|
|
109: 6(int) Load 8(invocation)
|
|
110: 104(ivec2) GroupBroadcast 63 108 109
|
|
111: 105(ptr) AccessChain 55(data) 103 67
|
|
112: 51(ivec4) Load 111
|
|
113: 51(ivec4) VectorShuffle 112 110 4 5 2 3
|
|
Store 111 113
|
|
114: 6(int) Load 8(invocation)
|
|
116: 105(ptr) AccessChain 55(data) 79 67
|
|
117: 51(ivec4) Load 116
|
|
118: 115(ivec3) VectorShuffle 117 117 0 1 2
|
|
119: 6(int) Load 8(invocation)
|
|
120: 115(ivec3) GroupBroadcast 63 118 119
|
|
121: 105(ptr) AccessChain 55(data) 114 67
|
|
122: 51(ivec4) Load 121
|
|
123: 51(ivec4) VectorShuffle 122 120 4 5 6 3
|
|
Store 121 123
|
|
124: 6(int) Load 8(invocation)
|
|
125: 105(ptr) AccessChain 55(data) 90 67
|
|
126: 51(ivec4) Load 125
|
|
127: 6(int) Load 8(invocation)
|
|
128: 51(ivec4) GroupBroadcast 63 126 127
|
|
129: 105(ptr) AccessChain 55(data) 124 67
|
|
Store 129 128
|
|
130: 6(int) Load 8(invocation)
|
|
132: 131(ptr) AccessChain 55(data) 57 79 58
|
|
133: 6(int) Load 132
|
|
134: 6(int) Load 8(invocation)
|
|
135: 6(int) GroupBroadcast 63 133 134
|
|
136: 131(ptr) AccessChain 55(data) 130 79 58
|
|
Store 136 135
|
|
137: 6(int) Load 8(invocation)
|
|
139: 138(ptr) AccessChain 55(data) 67 79
|
|
140: 38(ivec4) Load 139
|
|
141: 42(ivec2) VectorShuffle 140 140 0 1
|
|
142: 6(int) Load 8(invocation)
|
|
143: 42(ivec2) GroupBroadcast 63 141 142
|
|
144: 138(ptr) AccessChain 55(data) 137 79
|
|
145: 38(ivec4) Load 144
|
|
146: 38(ivec4) VectorShuffle 145 143 4 5 2 3
|
|
Store 144 146
|
|
147: 6(int) Load 8(invocation)
|
|
149: 138(ptr) AccessChain 55(data) 79 79
|
|
150: 38(ivec4) Load 149
|
|
151: 148(ivec3) VectorShuffle 150 150 0 1 2
|
|
152: 6(int) Load 8(invocation)
|
|
153: 148(ivec3) GroupBroadcast 63 151 152
|
|
154: 138(ptr) AccessChain 55(data) 147 79
|
|
155: 38(ivec4) Load 154
|
|
156: 38(ivec4) VectorShuffle 155 153 4 5 6 3
|
|
Store 154 156
|
|
157: 6(int) Load 8(invocation)
|
|
158: 138(ptr) AccessChain 55(data) 90 79
|
|
159: 38(ivec4) Load 158
|
|
160: 6(int) Load 8(invocation)
|
|
161: 38(ivec4) GroupBroadcast 63 159 160
|
|
162: 138(ptr) AccessChain 55(data) 157 79
|
|
Store 162 161
|
|
Branch 47
|
|
163: Label
|
|
164: 6(int) Load 8(invocation)
|
|
165: 59(ptr) AccessChain 55(data) 57 57 58
|
|
166: 48(float) Load 165
|
|
167: 48(float) SubgroupFirstInvocationKHR 166
|
|
168: 59(ptr) AccessChain 55(data) 164 57 58
|
|
Store 168 167
|
|
169: 6(int) Load 8(invocation)
|
|
170: 69(ptr) AccessChain 55(data) 67 57
|
|
171: 49(fvec4) Load 170
|
|
172: 68(fvec2) VectorShuffle 171 171 0 1
|
|
173: 68(fvec2) SubgroupFirstInvocationKHR 172
|
|
174: 69(ptr) AccessChain 55(data) 169 57
|
|
175: 49(fvec4) Load 174
|
|
176: 49(fvec4) VectorShuffle 175 173 4 5 2 3
|
|
Store 174 176
|
|
177: 6(int) Load 8(invocation)
|
|
178: 69(ptr) AccessChain 55(data) 79 57
|
|
179: 49(fvec4) Load 178
|
|
180: 80(fvec3) VectorShuffle 179 179 0 1 2
|
|
181: 80(fvec3) SubgroupFirstInvocationKHR 180
|
|
182: 69(ptr) AccessChain 55(data) 177 57
|
|
183: 49(fvec4) Load 182
|
|
184: 49(fvec4) VectorShuffle 183 181 4 5 6 3
|
|
Store 182 184
|
|
185: 6(int) Load 8(invocation)
|
|
186: 69(ptr) AccessChain 55(data) 90 57
|
|
187: 49(fvec4) Load 186
|
|
188: 49(fvec4) SubgroupFirstInvocationKHR 187
|
|
189: 69(ptr) AccessChain 55(data) 185 57
|
|
Store 189 188
|
|
190: 6(int) Load 8(invocation)
|
|
191: 97(ptr) AccessChain 55(data) 57 67 58
|
|
192: 50(int) Load 191
|
|
193: 50(int) SubgroupFirstInvocationKHR 192
|
|
194: 97(ptr) AccessChain 55(data) 190 67 58
|
|
Store 194 193
|
|
195: 6(int) Load 8(invocation)
|
|
196: 105(ptr) AccessChain 55(data) 67 67
|
|
197: 51(ivec4) Load 196
|
|
198: 104(ivec2) VectorShuffle 197 197 0 1
|
|
199: 104(ivec2) SubgroupFirstInvocationKHR 198
|
|
200: 105(ptr) AccessChain 55(data) 195 67
|
|
201: 51(ivec4) Load 200
|
|
202: 51(ivec4) VectorShuffle 201 199 4 5 2 3
|
|
Store 200 202
|
|
203: 6(int) Load 8(invocation)
|
|
204: 105(ptr) AccessChain 55(data) 79 67
|
|
205: 51(ivec4) Load 204
|
|
206: 115(ivec3) VectorShuffle 205 205 0 1 2
|
|
207: 115(ivec3) SubgroupFirstInvocationKHR 206
|
|
208: 105(ptr) AccessChain 55(data) 203 67
|
|
209: 51(ivec4) Load 208
|
|
210: 51(ivec4) VectorShuffle 209 207 4 5 6 3
|
|
Store 208 210
|
|
211: 6(int) Load 8(invocation)
|
|
212: 105(ptr) AccessChain 55(data) 90 67
|
|
213: 51(ivec4) Load 212
|
|
214: 51(ivec4) SubgroupFirstInvocationKHR 213
|
|
215: 105(ptr) AccessChain 55(data) 211 67
|
|
Store 215 214
|
|
216: 6(int) Load 8(invocation)
|
|
217: 131(ptr) AccessChain 55(data) 57 79 58
|
|
218: 6(int) Load 217
|
|
219: 6(int) SubgroupFirstInvocationKHR 218
|
|
220: 131(ptr) AccessChain 55(data) 216 79 58
|
|
Store 220 219
|
|
221: 6(int) Load 8(invocation)
|
|
222: 138(ptr) AccessChain 55(data) 67 79
|
|
223: 38(ivec4) Load 222
|
|
224: 42(ivec2) VectorShuffle 223 223 0 1
|
|
225: 42(ivec2) SubgroupFirstInvocationKHR 224
|
|
226: 138(ptr) AccessChain 55(data) 221 79
|
|
227: 38(ivec4) Load 226
|
|
228: 38(ivec4) VectorShuffle 227 225 4 5 2 3
|
|
Store 226 228
|
|
229: 6(int) Load 8(invocation)
|
|
230: 138(ptr) AccessChain 55(data) 79 79
|
|
231: 38(ivec4) Load 230
|
|
232: 148(ivec3) VectorShuffle 231 231 0 1 2
|
|
233: 148(ivec3) SubgroupFirstInvocationKHR 232
|
|
234: 138(ptr) AccessChain 55(data) 229 79
|
|
235: 38(ivec4) Load 234
|
|
236: 38(ivec4) VectorShuffle 235 233 4 5 6 3
|
|
Store 234 236
|
|
237: 6(int) Load 8(invocation)
|
|
238: 138(ptr) AccessChain 55(data) 90 79
|
|
239: 38(ivec4) Load 238
|
|
240: 38(ivec4) SubgroupFirstInvocationKHR 239
|
|
241: 138(ptr) AccessChain 55(data) 237 79
|
|
Store 241 240
|
|
Branch 47
|
|
47: Label
|
|
Return
|
|
FunctionEnd
|