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