1spv.460.subgroupEXT.mesh 2// Module Version 10400 3// Generated by (magic number): 8000b 4// Id's are bound by 279 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 FragmentShadingRateKHR 17 Capability MeshShadingEXT 18 Extension "SPV_EXT_mesh_shader" 19 Extension "SPV_KHR_fragment_shading_rate" 20 1: ExtInstImport "GLSL.std.450" 21 MemoryModel Logical GLSL450 22 EntryPoint MeshEXT 4 "main" 35 41 57 109 147 161 162 167 168 171 172 173 174 175 23 ExecutionMode 4 LocalSize 32 1 1 24 ExecutionMode 4 OutputVertices 81 25 ExecutionMode 4 OutputPrimitivesNV 32 26 ExecutionMode 4 OutputTrianglesNV 27 Source GLSL 460 28 SourceExtension "GL_EXT_mesh_shader" 29 SourceExtension "GL_KHR_shader_subgroup_arithmetic" 30 SourceExtension "GL_KHR_shader_subgroup_ballot" 31 SourceExtension "GL_KHR_shader_subgroup_basic" 32 SourceExtension "GL_KHR_shader_subgroup_clustered" 33 SourceExtension "GL_KHR_shader_subgroup_quad" 34 SourceExtension "GL_KHR_shader_subgroup_shuffle" 35 SourceExtension "GL_KHR_shader_subgroup_shuffle_relative" 36 SourceExtension "GL_KHR_shader_subgroup_vote" 37 Name 4 "main" 38 Name 6 "basic_works(" 39 Name 13 "ballot_works(vf4;" 40 Name 12 "f4" 41 Name 16 "vote_works(vf4;" 42 Name 15 "f4" 43 Name 19 "shuffle_works(vf4;" 44 Name 18 "f4" 45 Name 22 "arith_works(vf4;" 46 Name 21 "f4" 47 Name 25 "clustered_works(vf4;" 48 Name 24 "f4" 49 Name 28 "quad_works(vf4;" 50 Name 27 "f4" 51 Name 32 "iid" 52 Name 35 "gl_LocalInvocationID" 53 Name 40 "gid" 54 Name 41 "gl_WorkGroupID" 55 Name 44 "vertexCount" 56 Name 46 "primitiveCount" 57 Name 54 "gl_MeshPerVertexEXT" 58 MemberName 54(gl_MeshPerVertexEXT) 0 "gl_Position" 59 MemberName 54(gl_MeshPerVertexEXT) 1 "gl_PointSize" 60 MemberName 54(gl_MeshPerVertexEXT) 2 "gl_ClipDistance" 61 MemberName 54(gl_MeshPerVertexEXT) 3 "gl_CullDistance" 62 Name 57 "gl_MeshVerticesEXT" 63 Name 106 "gl_MeshPerPrimitiveEXT" 64 MemberName 106(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID" 65 MemberName 106(gl_MeshPerPrimitiveEXT) 1 "gl_Layer" 66 MemberName 106(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex" 67 MemberName 106(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT" 68 MemberName 106(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT" 69 Name 109 "gl_MeshPrimitivesEXT" 70 Name 147 "gl_PrimitiveTriangleIndicesEXT" 71 Name 161 "gl_SubgroupSize" 72 Name 162 "gl_SubgroupInvocationID" 73 Name 167 "gl_NumSubgroups" 74 Name 168 "gl_SubgroupID" 75 Name 171 "gl_SubgroupEqMask" 76 Name 172 "gl_SubgroupGeMask" 77 Name 173 "gl_SubgroupGtMask" 78 Name 174 "gl_SubgroupLeMask" 79 Name 175 "gl_SubgroupLtMask" 80 Name 181 "ballot" 81 Name 218 "ballot" 82 Name 253 "ballot" 83 Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId 84 Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId 85 MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position 86 MemberDecorate 54(gl_MeshPerVertexEXT) 1 BuiltIn PointSize 87 MemberDecorate 54(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance 88 MemberDecorate 54(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance 89 Decorate 54(gl_MeshPerVertexEXT) Block 90 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV 91 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId 92 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV 93 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer 94 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV 95 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex 96 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV 97 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT 98 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV 99 MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR 100 Decorate 106(gl_MeshPerPrimitiveEXT) Block 101 Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT 102 Decorate 161(gl_SubgroupSize) RelaxedPrecision 103 Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize 104 Decorate 162(gl_SubgroupInvocationID) RelaxedPrecision 105 Decorate 162(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId 106 Decorate 167(gl_NumSubgroups) BuiltIn NumSubgroups 107 Decorate 168(gl_SubgroupID) BuiltIn SubgroupId 108 Decorate 171(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR 109 Decorate 172(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR 110 Decorate 173(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR 111 Decorate 174(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR 112 Decorate 175(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR 113 Decorate 278 BuiltIn WorkgroupSize 114 2: TypeVoid 115 3: TypeFunction 2 116 8: TypeFloat 32 117 9: TypeVector 8(float) 4 118 10: TypePointer Function 9(fvec4) 119 11: TypeFunction 2 10(ptr) 120 30: TypeInt 32 0 121 31: TypePointer Function 30(int) 122 33: TypeVector 30(int) 3 123 34: TypePointer Input 33(ivec3) 12435(gl_LocalInvocationID): 34(ptr) Variable Input 125 36: 30(int) Constant 0 126 37: TypePointer Input 30(int) 12741(gl_WorkGroupID): 34(ptr) Variable Input 128 45: 30(int) Constant 81 129 47: 30(int) Constant 32 130 50: 30(int) Constant 4 131 51: TypeArray 8(float) 50 132 52: 30(int) Constant 3 133 53: TypeArray 8(float) 52 13454(gl_MeshPerVertexEXT): TypeStruct 9(fvec4) 8(float) 51 53 135 55: TypeArray 54(gl_MeshPerVertexEXT) 45 136 56: TypePointer Output 55 13757(gl_MeshVerticesEXT): 56(ptr) Variable Output 138 59: TypeInt 32 1 139 60: 59(int) Constant 0 140 61: 8(float) Constant 1065353216 141 62: 9(fvec4) ConstantComposite 61 61 61 61 142 63: TypePointer Output 9(fvec4) 143 66: 59(int) Constant 1 144 67: 8(float) Constant 1073741824 145 68: TypePointer Output 8(float) 146 71: 59(int) Constant 2 147 72: 59(int) Constant 3 148 73: 8(float) Constant 1077936128 149 76: 8(float) Constant 1082130432 150 78: 30(int) Constant 1 151 79: 30(int) Constant 264 152 80: 30(int) Constant 2 153 105: TypeBool 154106(gl_MeshPerPrimitiveEXT): TypeStruct 59(int) 59(int) 59(int) 105(bool) 59(int) 155 107: TypeArray 106(gl_MeshPerPrimitiveEXT) 47 156 108: TypePointer Output 107 157109(gl_MeshPrimitivesEXT): 108(ptr) Variable Output 158 111: 59(int) Constant 6 159 112: TypePointer Output 59(int) 160 115: 59(int) Constant 7 161 118: 59(int) Constant 8 162 121: 105(bool) ConstantFalse 163 122: TypePointer Output 105(bool) 164 145: TypeArray 33(ivec3) 47 165 146: TypePointer Output 145 166147(gl_PrimitiveTriangleIndicesEXT): 146(ptr) Variable Output 167 148: 33(ivec3) ConstantComposite 78 78 78 168 149: TypePointer Output 33(ivec3) 169 153: 33(ivec3) ConstantComposite 80 80 80 170161(gl_SubgroupSize): 37(ptr) Variable Input 171162(gl_SubgroupInvocationID): 37(ptr) Variable Input 172 163: 30(int) Constant 3400 173 164: 30(int) Constant 72 174 165: 30(int) Constant 2056 175167(gl_NumSubgroups): 37(ptr) Variable Input 176168(gl_SubgroupID): 37(ptr) Variable Input 177 169: TypeVector 30(int) 4 178 170: TypePointer Input 169(ivec4) 179171(gl_SubgroupEqMask): 170(ptr) Variable Input 180172(gl_SubgroupGeMask): 170(ptr) Variable Input 181173(gl_SubgroupGtMask): 170(ptr) Variable Input 182174(gl_SubgroupLeMask): 170(ptr) Variable Input 183175(gl_SubgroupLtMask): 170(ptr) Variable Input 184 180: TypePointer Function 169(ivec4) 185 183: 169(ivec4) ConstantComposite 78 78 78 78 186 197: 105(bool) ConstantTrue 187 254: 30(int) Constant 85 188 255: 169(ivec4) ConstantComposite 254 36 36 36 189 278: 33(ivec3) ConstantComposite 47 78 78 190 4(main): 2 Function None 3 191 5: Label 192 32(iid): 31(ptr) Variable Function 193 40(gid): 31(ptr) Variable Function 194 44(vertexCount): 31(ptr) Variable Function 19546(primitiveCount): 31(ptr) Variable Function 196 38: 37(ptr) AccessChain 35(gl_LocalInvocationID) 36 197 39: 30(int) Load 38 198 Store 32(iid) 39 199 42: 37(ptr) AccessChain 41(gl_WorkGroupID) 36 200 43: 30(int) Load 42 201 Store 40(gid) 43 202 Store 44(vertexCount) 45 203 Store 46(primitiveCount) 47 204 48: 30(int) Load 44(vertexCount) 205 49: 30(int) Load 46(primitiveCount) 206 SetMeshOutputsEXT 48 49 207 58: 30(int) Load 32(iid) 208 64: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 58 60 209 Store 64 62 210 65: 30(int) Load 32(iid) 211 69: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 65 66 212 Store 69 67 213 70: 30(int) Load 32(iid) 214 74: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 70 71 72 215 Store 74 73 216 75: 30(int) Load 32(iid) 217 77: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 75 72 71 218 Store 77 76 219 MemoryBarrier 78 79 220 ControlBarrier 80 80 79 221 81: 30(int) Load 32(iid) 222 82: 30(int) IAdd 81 78 223 83: 30(int) Load 32(iid) 224 84: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 83 60 225 85: 9(fvec4) Load 84 226 86: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 82 60 227 Store 86 85 228 87: 30(int) Load 32(iid) 229 88: 30(int) IAdd 87 78 230 89: 30(int) Load 32(iid) 231 90: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 89 66 232 91: 8(float) Load 90 233 92: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 88 66 234 Store 92 91 235 93: 30(int) Load 32(iid) 236 94: 30(int) IAdd 93 78 237 95: 30(int) Load 32(iid) 238 96: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 95 71 72 239 97: 8(float) Load 96 240 98: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 94 71 72 241 Store 98 97 242 99: 30(int) Load 32(iid) 243 100: 30(int) IAdd 99 78 244 101: 30(int) Load 32(iid) 245 102: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 101 72 71 246 103: 8(float) Load 102 247 104: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 100 72 71 248 Store 104 103 249 MemoryBarrier 78 79 250 ControlBarrier 80 80 79 251 110: 30(int) Load 32(iid) 252 113: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 110 60 253 Store 113 111 254 114: 30(int) Load 32(iid) 255 116: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 114 66 256 Store 116 115 257 117: 30(int) Load 32(iid) 258 119: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 117 71 259 Store 119 118 260 120: 30(int) Load 32(iid) 261 123: 122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 120 72 262 Store 123 121 263 MemoryBarrier 78 79 264 ControlBarrier 80 80 79 265 124: 30(int) Load 32(iid) 266 125: 30(int) IAdd 124 78 267 126: 30(int) Load 32(iid) 268 127: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 126 60 269 128: 59(int) Load 127 270 129: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 125 60 271 Store 129 128 272 130: 30(int) Load 32(iid) 273 131: 30(int) IAdd 130 78 274 132: 30(int) Load 32(iid) 275 133: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 132 66 276 134: 59(int) Load 133 277 135: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 131 66 278 Store 135 134 279 136: 30(int) Load 32(iid) 280 137: 30(int) IAdd 136 78 281 138: 30(int) Load 32(iid) 282 139: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 138 71 283 140: 59(int) Load 139 284 141: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 137 71 285 Store 141 140 286 142: 30(int) Load 32(iid) 287 143: 30(int) IAdd 142 78 288 144: 122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 143 72 289 Store 144 121 290 MemoryBarrier 78 79 291 ControlBarrier 80 80 79 292 150: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 60 293 Store 150 148 294 151: 30(int) Load 46(primitiveCount) 295 152: 30(int) ISub 151 78 296 154: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 152 297 Store 154 153 298 155: 30(int) Load 40(gid) 299 156: 30(int) Load 40(gid) 300 157: 30(int) ISub 156 78 301 158: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 157 302 159: 33(ivec3) Load 158 303 160: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 155 304 Store 160 159 305 MemoryBarrier 78 79 306 ControlBarrier 80 80 79 307 Return 308 FunctionEnd 309 6(basic_works(): 2 Function None 3 310 7: Label 311 ControlBarrier 52 52 163 312 MemoryBarrier 52 163 313 MemoryBarrier 52 164 314 MemoryBarrier 52 165 315 166: 105(bool) GroupNonUniformElect 52 316 MemoryBarrier 52 79 317 Return 318 FunctionEnd 31913(ballot_works(vf4;): 2 Function None 11 320 12(f4): 10(ptr) FunctionParameter 321 14: Label 322 181(ballot): 180(ptr) Variable Function 323 176: 9(fvec4) Load 12(f4) 324 177: 9(fvec4) GroupNonUniformBroadcast 52 176 36 325 178: 9(fvec4) Load 12(f4) 326 179: 9(fvec4) GroupNonUniformBroadcastFirst 52 178 327 182: 169(ivec4) GroupNonUniformBallot 52 121 328 Store 181(ballot) 182 329 184: 105(bool) GroupNonUniformInverseBallot 52 183 330 185: 169(ivec4) Load 181(ballot) 331 186: 105(bool) GroupNonUniformBallotBitExtract 52 185 36 332 187: 169(ivec4) Load 181(ballot) 333 188: 30(int) GroupNonUniformBallotBitCount 52 Reduce 187 334 189: 169(ivec4) Load 181(ballot) 335 190: 30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 189 336 191: 169(ivec4) Load 181(ballot) 337 192: 30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 191 338 193: 169(ivec4) Load 181(ballot) 339 194: 30(int) GroupNonUniformBallotFindLSB 52 193 340 195: 169(ivec4) Load 181(ballot) 341 196: 30(int) GroupNonUniformBallotFindMSB 52 195 342 Return 343 FunctionEnd 34416(vote_works(vf4;): 2 Function None 11 345 15(f4): 10(ptr) FunctionParameter 346 17: Label 347 198: 105(bool) GroupNonUniformAll 52 197 348 199: 105(bool) GroupNonUniformAny 52 121 349 200: 9(fvec4) Load 15(f4) 350 201: 105(bool) GroupNonUniformAllEqual 52 200 351 Return 352 FunctionEnd 35319(shuffle_works(vf4;): 2 Function None 11 354 18(f4): 10(ptr) FunctionParameter 355 20: Label 356 202: 9(fvec4) Load 18(f4) 357 203: 9(fvec4) GroupNonUniformShuffle 52 202 36 358 204: 9(fvec4) Load 18(f4) 359 205: 9(fvec4) GroupNonUniformShuffleXor 52 204 78 360 206: 9(fvec4) Load 18(f4) 361 207: 9(fvec4) GroupNonUniformShuffleUp 52 206 78 362 208: 9(fvec4) Load 18(f4) 363 209: 9(fvec4) GroupNonUniformShuffleDown 52 208 78 364 Return 365 FunctionEnd 36622(arith_works(vf4;): 2 Function None 11 367 21(f4): 10(ptr) FunctionParameter 368 23: Label 369 218(ballot): 180(ptr) Variable Function 370 210: 9(fvec4) Load 21(f4) 371 211: 9(fvec4) GroupNonUniformFAdd 52 Reduce 210 372 212: 9(fvec4) Load 21(f4) 373 213: 9(fvec4) GroupNonUniformFMul 52 Reduce 212 374 214: 9(fvec4) Load 21(f4) 375 215: 9(fvec4) GroupNonUniformFMin 52 Reduce 214 376 216: 9(fvec4) Load 21(f4) 377 217: 9(fvec4) GroupNonUniformFMax 52 Reduce 216 378 219: 169(ivec4) Load 218(ballot) 379 220: 169(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 219 380 221: 169(ivec4) Load 218(ballot) 381 222: 169(ivec4) GroupNonUniformBitwiseOr 52 Reduce 221 382 223: 169(ivec4) Load 218(ballot) 383 224: 169(ivec4) GroupNonUniformBitwiseXor 52 Reduce 223 384 225: 9(fvec4) Load 21(f4) 385 226: 9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 225 386 227: 9(fvec4) Load 21(f4) 387 228: 9(fvec4) GroupNonUniformFMul 52 InclusiveScan 227 388 229: 9(fvec4) Load 21(f4) 389 230: 9(fvec4) GroupNonUniformFMin 52 InclusiveScan 229 390 231: 9(fvec4) Load 21(f4) 391 232: 9(fvec4) GroupNonUniformFMax 52 InclusiveScan 231 392 233: 169(ivec4) Load 218(ballot) 393 234: 169(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 233 394 235: 169(ivec4) Load 218(ballot) 395 236: 169(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 235 396 237: 169(ivec4) Load 218(ballot) 397 238: 169(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 237 398 239: 9(fvec4) Load 21(f4) 399 240: 9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 239 400 241: 9(fvec4) Load 21(f4) 401 242: 9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 241 402 243: 9(fvec4) Load 21(f4) 403 244: 9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 243 404 245: 9(fvec4) Load 21(f4) 405 246: 9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 245 406 247: 169(ivec4) Load 218(ballot) 407 248: 169(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 247 408 249: 169(ivec4) Load 218(ballot) 409 250: 169(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 249 410 251: 169(ivec4) Load 218(ballot) 411 252: 169(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 251 412 Return 413 FunctionEnd 41425(clustered_works(vf4;): 2 Function None 11 415 24(f4): 10(ptr) FunctionParameter 416 26: Label 417 253(ballot): 180(ptr) Variable Function 418 Store 253(ballot) 255 419 256: 9(fvec4) Load 24(f4) 420 257: 9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 256 80 421 258: 9(fvec4) Load 24(f4) 422 259: 9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 258 80 423 260: 9(fvec4) Load 24(f4) 424 261: 9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 260 80 425 262: 9(fvec4) Load 24(f4) 426 263: 9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 262 80 427 264: 169(ivec4) Load 253(ballot) 428 265: 169(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 264 80 429 266: 169(ivec4) Load 253(ballot) 430 267: 169(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 266 80 431 268: 169(ivec4) Load 253(ballot) 432 269: 169(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 268 80 433 Return 434 FunctionEnd 43528(quad_works(vf4;): 2 Function None 11 436 27(f4): 10(ptr) FunctionParameter 437 29: Label 438 270: 9(fvec4) Load 27(f4) 439 271: 9(fvec4) GroupNonUniformQuadBroadcast 52 270 36 440 272: 9(fvec4) Load 27(f4) 441 273: 9(fvec4) GroupNonUniformQuadSwap 52 272 36 442 274: 9(fvec4) Load 27(f4) 443 275: 9(fvec4) GroupNonUniformQuadSwap 52 274 78 444 276: 9(fvec4) Load 27(f4) 445 277: 9(fvec4) GroupNonUniformQuadSwap 52 276 80 446 Return 447 FunctionEnd 448