yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
dffbc797
main
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