yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

spencer-lunargRemove invalid reading from MeshEXT outputdffbc797

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