Update CHANGES for release 11.12.0
[platform/upstream/glslang.git] / Test / baseResults / spv.460.subgroupEXT.task.out
1 spv.460.subgroupEXT.task
2 // Module Version 10400
3 // Generated by (magic number): 8000b
4 // Id's are bound by 243
5
6                               Capability StorageImageWriteWithoutFormat
7                               Capability GroupNonUniform
8                               Capability GroupNonUniformVote
9                               Capability GroupNonUniformArithmetic
10                               Capability GroupNonUniformBallot
11                               Capability GroupNonUniformShuffle
12                               Capability GroupNonUniformShuffleRelative
13                               Capability GroupNonUniformClustered
14                               Capability GroupNonUniformQuad
15                               Capability MeshShadingEXT
16                               Extension  "SPV_EXT_mesh_shader"
17                1:             ExtInstImport  "GLSL.std.450"
18                               MemoryModel Logical GLSL450
19                               EntryPoint TaskEXT 4  "main" 35 41 56 61 77 102 123 124 129 130 133 134 135 136 137
20                               ExecutionMode 4 LocalSize 32 1 1
21                               Source GLSL 460
22                               SourceExtension  "GL_EXT_mesh_shader"
23                               SourceExtension  "GL_KHR_shader_subgroup_arithmetic"
24                               SourceExtension  "GL_KHR_shader_subgroup_ballot"
25                               SourceExtension  "GL_KHR_shader_subgroup_basic"
26                               SourceExtension  "GL_KHR_shader_subgroup_clustered"
27                               SourceExtension  "GL_KHR_shader_subgroup_quad"
28                               SourceExtension  "GL_KHR_shader_subgroup_shuffle"
29                               SourceExtension  "GL_KHR_shader_subgroup_shuffle_relative"
30                               SourceExtension  "GL_KHR_shader_subgroup_vote"
31                               Name 4  "main"
32                               Name 6  "basic_works("
33                               Name 13  "ballot_works(vf4;"
34                               Name 12  "f4"
35                               Name 16  "vote_works(vf4;"
36                               Name 15  "f4"
37                               Name 19  "shuffle_works(vf4;"
38                               Name 18  "f4"
39                               Name 22  "arith_works(vf4;"
40                               Name 21  "f4"
41                               Name 25  "clustered_works(vf4;"
42                               Name 24  "f4"
43                               Name 28  "quad_works(vf4;"
44                               Name 27  "f4"
45                               Name 32  "iid"
46                               Name 35  "gl_LocalInvocationID"
47                               Name 40  "gid"
48                               Name 41  "gl_WorkGroupID"
49                               Name 44  "i"
50                               Name 56  "mem"
51                               Name 59  "block0"
52                               MemberName 59(block0) 0  "uni_value"
53                               Name 61  ""
54                               Name 77  "uni_image"
55                               Name 100  "Task"
56                               MemberName 100(Task) 0  "dummy"
57                               MemberName 100(Task) 1  "submesh"
58                               Name 102  "mytask"
59                               Name 123  "gl_SubgroupSize"
60                               Name 124  "gl_SubgroupInvocationID"
61                               Name 129  "gl_NumSubgroups"
62                               Name 130  "gl_SubgroupID"
63                               Name 133  "gl_SubgroupEqMask"
64                               Name 134  "gl_SubgroupGeMask"
65                               Name 135  "gl_SubgroupGtMask"
66                               Name 136  "gl_SubgroupLeMask"
67                               Name 137  "gl_SubgroupLtMask"
68                               Name 143  "ballot"
69                               Name 181  "ballot"
70                               Name 216  "ballot"
71                               Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId
72                               Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId
73                               MemberDecorate 59(block0) 0 Offset 0
74                               Decorate 59(block0) Block
75                               Decorate 61 DescriptorSet 0
76                               Decorate 61 Binding 1
77                               Decorate 77(uni_image) DescriptorSet 0
78                               Decorate 77(uni_image) Binding 0
79                               Decorate 77(uni_image) NonReadable
80                               Decorate 123(gl_SubgroupSize) RelaxedPrecision
81                               Decorate 123(gl_SubgroupSize) BuiltIn SubgroupSize
82                               Decorate 124(gl_SubgroupInvocationID) RelaxedPrecision
83                               Decorate 124(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
84                               Decorate 129(gl_NumSubgroups) BuiltIn NumSubgroups
85                               Decorate 130(gl_SubgroupID) BuiltIn SubgroupId
86                               Decorate 133(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
87                               Decorate 134(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
88                               Decorate 135(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
89                               Decorate 136(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
90                               Decorate 137(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
91                               Decorate 242 BuiltIn WorkgroupSize
92                2:             TypeVoid
93                3:             TypeFunction 2
94                8:             TypeFloat 32
95                9:             TypeVector 8(float) 4
96               10:             TypePointer Function 9(fvec4)
97               11:             TypeFunction 2 10(ptr)
98               30:             TypeInt 32 0
99               31:             TypePointer Function 30(int)
100               33:             TypeVector 30(int) 3
101               34:             TypePointer Input 33(ivec3)
102 35(gl_LocalInvocationID):     34(ptr) Variable Input
103               36:     30(int) Constant 0
104               37:             TypePointer Input 30(int)
105 41(gl_WorkGroupID):     34(ptr) Variable Input
106               51:     30(int) Constant 10
107               52:             TypeBool
108               54:             TypeArray 9(fvec4) 51
109               55:             TypePointer Workgroup 54
110          56(mem):     55(ptr) Variable Workgroup
111       59(block0):             TypeStruct 30(int)
112               60:             TypePointer Uniform 59(block0)
113               61:     60(ptr) Variable Uniform
114               62:             TypeInt 32 1
115               63:     62(int) Constant 0
116               64:             TypePointer Uniform 30(int)
117               70:             TypePointer Workgroup 9(fvec4)
118               73:     62(int) Constant 1
119               75:             TypeImage 8(float) 2D nonsampled format:Unknown
120               76:             TypePointer UniformConstant 75
121    77(uni_image):     76(ptr) Variable UniformConstant
122               81:             TypeVector 62(int) 2
123               91:     30(int) Constant 1
124               95:     30(int) Constant 264
125               96:     30(int) Constant 2
126               97:             TypeVector 8(float) 2
127               98:     30(int) Constant 3
128               99:             TypeArray 97(fvec2) 98
129        100(Task):             TypeStruct 97(fvec2) 99
130              101:             TypePointer TaskPayloadWorkgroupEXT 100(Task)
131      102(mytask):    101(ptr) Variable TaskPayloadWorkgroupEXT
132              103:    8(float) Constant 1106247680
133              104:    8(float) Constant 1106771968
134              105:   97(fvec2) ConstantComposite 103 104
135              106:             TypePointer TaskPayloadWorkgroupEXT 97(fvec2)
136              108:    8(float) Constant 1107296256
137              109:    8(float) Constant 1107558400
138              110:   97(fvec2) ConstantComposite 108 109
139              112:    8(float) Constant 1107820544
140              113:    8(float) Constant 1108082688
141              114:   97(fvec2) ConstantComposite 112 113
142              116:     62(int) Constant 2
143 123(gl_SubgroupSize):     37(ptr) Variable Input
144 124(gl_SubgroupInvocationID):     37(ptr) Variable Input
145              125:     30(int) Constant 3400
146              126:     30(int) Constant 72
147              127:     30(int) Constant 2056
148 129(gl_NumSubgroups):     37(ptr) Variable Input
149 130(gl_SubgroupID):     37(ptr) Variable Input
150              131:             TypeVector 30(int) 4
151              132:             TypePointer Input 131(ivec4)
152 133(gl_SubgroupEqMask):    132(ptr) Variable Input
153 134(gl_SubgroupGeMask):    132(ptr) Variable Input
154 135(gl_SubgroupGtMask):    132(ptr) Variable Input
155 136(gl_SubgroupLeMask):    132(ptr) Variable Input
156 137(gl_SubgroupLtMask):    132(ptr) Variable Input
157              142:             TypePointer Function 131(ivec4)
158              144:    52(bool) ConstantFalse
159              146:  131(ivec4) ConstantComposite 91 91 91 91
160              160:    52(bool) ConstantTrue
161              217:     30(int) Constant 85
162              218:  131(ivec4) ConstantComposite 217 36 36 36
163              241:     30(int) Constant 32
164              242:   33(ivec3) ConstantComposite 241 91 91
165          4(main):           2 Function None 3
166                5:             Label
167          32(iid):     31(ptr) Variable Function
168          40(gid):     31(ptr) Variable Function
169            44(i):     31(ptr) Variable Function
170               38:     37(ptr) AccessChain 35(gl_LocalInvocationID) 36
171               39:     30(int) Load 38
172                               Store 32(iid) 39
173               42:     37(ptr) AccessChain 41(gl_WorkGroupID) 36
174               43:     30(int) Load 42
175                               Store 40(gid) 43
176                               Store 44(i) 36
177                               Branch 45
178               45:             Label
179                               LoopMerge 47 48 None
180                               Branch 49
181               49:             Label
182               50:     30(int) Load 44(i)
183               53:    52(bool) ULessThan 50 51
184                               BranchConditional 53 46 47
185               46:               Label
186               57:     30(int)   Load 44(i)
187               58:     30(int)   Load 44(i)
188               65:     64(ptr)   AccessChain 61 63
189               66:     30(int)   Load 65
190               67:     30(int)   IAdd 58 66
191               68:    8(float)   ConvertUToF 67
192               69:    9(fvec4)   CompositeConstruct 68 68 68 68
193               71:     70(ptr)   AccessChain 56(mem) 57
194                                 Store 71 69
195                                 Branch 48
196               48:               Label
197               72:     30(int)   Load 44(i)
198               74:     30(int)   IAdd 72 73
199                                 Store 44(i) 74
200                                 Branch 45
201               47:             Label
202               78:          75 Load 77(uni_image)
203               79:     30(int) Load 32(iid)
204               80:     62(int) Bitcast 79
205               82:   81(ivec2) CompositeConstruct 80 80
206               83:     30(int) Load 40(gid)
207               84:     70(ptr) AccessChain 56(mem) 83
208               85:    9(fvec4) Load 84
209                               ImageWrite 78 82 85
210               86:          75 Load 77(uni_image)
211               87:     30(int) Load 32(iid)
212               88:     62(int) Bitcast 87
213               89:   81(ivec2) CompositeConstruct 88 88
214               90:     30(int) Load 40(gid)
215               92:     30(int) IAdd 90 91
216               93:     70(ptr) AccessChain 56(mem) 92
217               94:    9(fvec4) Load 93
218                               ImageWrite 86 89 94
219                               MemoryBarrier 91 95
220                               ControlBarrier 96 96 95
221              107:    106(ptr) AccessChain 102(mytask) 63
222                               Store 107 105
223              111:    106(ptr) AccessChain 102(mytask) 73 63
224                               Store 111 110
225              115:    106(ptr) AccessChain 102(mytask) 73 73
226                               Store 115 114
227              117:     30(int) Load 40(gid)
228              118:     30(int) UMod 117 96
229              119:    106(ptr) AccessChain 102(mytask) 73 118
230              120:   97(fvec2) Load 119
231              121:    106(ptr) AccessChain 102(mytask) 73 116
232                               Store 121 120
233                               MemoryBarrier 91 95
234                               ControlBarrier 96 96 95
235                               EmitMeshTasksEXT 98 91 91 102(mytask)
236                               FunctionEnd
237  6(basic_works():           2 Function None 3
238                7:             Label
239                               ControlBarrier 98 98 125
240                               MemoryBarrier 98 125
241                               MemoryBarrier 98 126
242                               MemoryBarrier 98 127
243              128:    52(bool) GroupNonUniformElect 98
244                               MemoryBarrier 98 95
245                               Return
246                               FunctionEnd
247 13(ballot_works(vf4;):           2 Function None 11
248           12(f4):     10(ptr) FunctionParameter
249               14:             Label
250      143(ballot):    142(ptr) Variable Function
251              138:    9(fvec4) Load 12(f4)
252              139:    9(fvec4) GroupNonUniformBroadcast 98 138 36
253              140:    9(fvec4) Load 12(f4)
254              141:    9(fvec4) GroupNonUniformBroadcastFirst 98 140
255              145:  131(ivec4) GroupNonUniformBallot 98 144
256                               Store 143(ballot) 145
257              147:    52(bool) GroupNonUniformInverseBallot 98 146
258              148:  131(ivec4) Load 143(ballot)
259              149:    52(bool) GroupNonUniformBallotBitExtract 98 148 36
260              150:  131(ivec4) Load 143(ballot)
261              151:     30(int) GroupNonUniformBallotBitCount 98 Reduce 150
262              152:  131(ivec4) Load 143(ballot)
263              153:     30(int) GroupNonUniformBallotBitCount 98 InclusiveScan 152
264              154:  131(ivec4) Load 143(ballot)
265              155:     30(int) GroupNonUniformBallotBitCount 98 ExclusiveScan 154
266              156:  131(ivec4) Load 143(ballot)
267              157:     30(int) GroupNonUniformBallotFindLSB 98 156
268              158:  131(ivec4) Load 143(ballot)
269              159:     30(int) GroupNonUniformBallotFindMSB 98 158
270                               Return
271                               FunctionEnd
272 16(vote_works(vf4;):           2 Function None 11
273           15(f4):     10(ptr) FunctionParameter
274               17:             Label
275              161:    52(bool) GroupNonUniformAll 98 160
276              162:    52(bool) GroupNonUniformAny 98 144
277              163:    9(fvec4) Load 15(f4)
278              164:    52(bool) GroupNonUniformAllEqual 98 163
279                               Return
280                               FunctionEnd
281 19(shuffle_works(vf4;):           2 Function None 11
282           18(f4):     10(ptr) FunctionParameter
283               20:             Label
284              165:    9(fvec4) Load 18(f4)
285              166:    9(fvec4) GroupNonUniformShuffle 98 165 36
286              167:    9(fvec4) Load 18(f4)
287              168:    9(fvec4) GroupNonUniformShuffleXor 98 167 91
288              169:    9(fvec4) Load 18(f4)
289              170:    9(fvec4) GroupNonUniformShuffleUp 98 169 91
290              171:    9(fvec4) Load 18(f4)
291              172:    9(fvec4) GroupNonUniformShuffleDown 98 171 91
292                               Return
293                               FunctionEnd
294 22(arith_works(vf4;):           2 Function None 11
295           21(f4):     10(ptr) FunctionParameter
296               23:             Label
297      181(ballot):    142(ptr) Variable Function
298              173:    9(fvec4) Load 21(f4)
299              174:    9(fvec4) GroupNonUniformFAdd 98 Reduce 173
300              175:    9(fvec4) Load 21(f4)
301              176:    9(fvec4) GroupNonUniformFMul 98 Reduce 175
302              177:    9(fvec4) Load 21(f4)
303              178:    9(fvec4) GroupNonUniformFMin 98 Reduce 177
304              179:    9(fvec4) Load 21(f4)
305              180:    9(fvec4) GroupNonUniformFMax 98 Reduce 179
306              182:  131(ivec4) Load 181(ballot)
307              183:  131(ivec4) GroupNonUniformBitwiseAnd 98 Reduce 182
308              184:  131(ivec4) Load 181(ballot)
309              185:  131(ivec4) GroupNonUniformBitwiseOr 98 Reduce 184
310              186:  131(ivec4) Load 181(ballot)
311              187:  131(ivec4) GroupNonUniformBitwiseXor 98 Reduce 186
312              188:    9(fvec4) Load 21(f4)
313              189:    9(fvec4) GroupNonUniformFAdd 98 InclusiveScan 188
314              190:    9(fvec4) Load 21(f4)
315              191:    9(fvec4) GroupNonUniformFMul 98 InclusiveScan 190
316              192:    9(fvec4) Load 21(f4)
317              193:    9(fvec4) GroupNonUniformFMin 98 InclusiveScan 192
318              194:    9(fvec4) Load 21(f4)
319              195:    9(fvec4) GroupNonUniformFMax 98 InclusiveScan 194
320              196:  131(ivec4) Load 181(ballot)
321              197:  131(ivec4) GroupNonUniformBitwiseAnd 98 InclusiveScan 196
322              198:  131(ivec4) Load 181(ballot)
323              199:  131(ivec4) GroupNonUniformBitwiseOr 98 InclusiveScan 198
324              200:  131(ivec4) Load 181(ballot)
325              201:  131(ivec4) GroupNonUniformBitwiseXor 98 InclusiveScan 200
326              202:    9(fvec4) Load 21(f4)
327              203:    9(fvec4) GroupNonUniformFAdd 98 ExclusiveScan 202
328              204:    9(fvec4) Load 21(f4)
329              205:    9(fvec4) GroupNonUniformFMul 98 ExclusiveScan 204
330              206:    9(fvec4) Load 21(f4)
331              207:    9(fvec4) GroupNonUniformFMin 98 ExclusiveScan 206
332              208:    9(fvec4) Load 21(f4)
333              209:    9(fvec4) GroupNonUniformFMax 98 ExclusiveScan 208
334              210:  131(ivec4) Load 181(ballot)
335              211:  131(ivec4) GroupNonUniformBitwiseAnd 98 ExclusiveScan 210
336              212:  131(ivec4) Load 181(ballot)
337              213:  131(ivec4) GroupNonUniformBitwiseOr 98 ExclusiveScan 212
338              214:  131(ivec4) Load 181(ballot)
339              215:  131(ivec4) GroupNonUniformBitwiseXor 98 ExclusiveScan 214
340                               Return
341                               FunctionEnd
342 25(clustered_works(vf4;):           2 Function None 11
343           24(f4):     10(ptr) FunctionParameter
344               26:             Label
345      216(ballot):    142(ptr) Variable Function
346                               Store 216(ballot) 218
347              219:    9(fvec4) Load 24(f4)
348              220:    9(fvec4) GroupNonUniformFAdd 98 ClusteredReduce 219 96
349              221:    9(fvec4) Load 24(f4)
350              222:    9(fvec4) GroupNonUniformFMul 98 ClusteredReduce 221 96
351              223:    9(fvec4) Load 24(f4)
352              224:    9(fvec4) GroupNonUniformFMin 98 ClusteredReduce 223 96
353              225:    9(fvec4) Load 24(f4)
354              226:    9(fvec4) GroupNonUniformFMax 98 ClusteredReduce 225 96
355              227:  131(ivec4) Load 216(ballot)
356              228:  131(ivec4) GroupNonUniformBitwiseAnd 98 ClusteredReduce 227 96
357              229:  131(ivec4) Load 216(ballot)
358              230:  131(ivec4) GroupNonUniformBitwiseOr 98 ClusteredReduce 229 96
359              231:  131(ivec4) Load 216(ballot)
360              232:  131(ivec4) GroupNonUniformBitwiseXor 98 ClusteredReduce 231 96
361                               Return
362                               FunctionEnd
363 28(quad_works(vf4;):           2 Function None 11
364           27(f4):     10(ptr) FunctionParameter
365               29:             Label
366              233:    9(fvec4) Load 27(f4)
367              234:    9(fvec4) GroupNonUniformQuadBroadcast 98 233 36
368              235:    9(fvec4) Load 27(f4)
369              236:    9(fvec4) GroupNonUniformQuadSwap 98 235 36
370              237:    9(fvec4) Load 27(f4)
371              238:    9(fvec4) GroupNonUniformQuadSwap 98 237 91
372              239:    9(fvec4) Load 27(f4)
373              240:    9(fvec4) GroupNonUniformQuadSwap 98 239 96
374                               Return
375                               FunctionEnd