spv.460.subgroupEXT.task
// Module Version 10400
// Generated by (magic number): 8000b
// Id's are bound by 243

                              Capability StorageImageWriteWithoutFormat
                              Capability GroupNonUniform
                              Capability GroupNonUniformVote
                              Capability GroupNonUniformArithmetic
                              Capability GroupNonUniformBallot
                              Capability GroupNonUniformShuffle
                              Capability GroupNonUniformShuffleRelative
                              Capability GroupNonUniformClustered
                              Capability GroupNonUniformQuad
                              Capability MeshShadingEXT
                              Extension  "SPV_EXT_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TaskEXT 4  "main" 35 41 56 61 77 102 123 124 129 130 133 134 135 136 137
                              ExecutionMode 4 LocalSize 32 1 1
                              Source GLSL 460
                              SourceExtension  "GL_EXT_mesh_shader"
                              SourceExtension  "GL_KHR_shader_subgroup_arithmetic"
                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              SourceExtension  "GL_KHR_shader_subgroup_clustered"
                              SourceExtension  "GL_KHR_shader_subgroup_quad"
                              SourceExtension  "GL_KHR_shader_subgroup_shuffle"
                              SourceExtension  "GL_KHR_shader_subgroup_shuffle_relative"
                              SourceExtension  "GL_KHR_shader_subgroup_vote"
                              Name 4  "main"
                              Name 6  "basic_works("
                              Name 13  "ballot_works(vf4;"
                              Name 12  "f4"
                              Name 16  "vote_works(vf4;"
                              Name 15  "f4"
                              Name 19  "shuffle_works(vf4;"
                              Name 18  "f4"
                              Name 22  "arith_works(vf4;"
                              Name 21  "f4"
                              Name 25  "clustered_works(vf4;"
                              Name 24  "f4"
                              Name 28  "quad_works(vf4;"
                              Name 27  "f4"
                              Name 32  "iid"
                              Name 35  "gl_LocalInvocationID"
                              Name 40  "gid"
                              Name 41  "gl_WorkGroupID"
                              Name 44  "i"
                              Name 56  "mem"
                              Name 59  "block0"
                              MemberName 59(block0) 0  "uni_value"
                              Name 61  ""
                              Name 77  "uni_image"
                              Name 100  "Task"
                              MemberName 100(Task) 0  "dummy"
                              MemberName 100(Task) 1  "submesh"
                              Name 102  "mytask"
                              Name 123  "gl_SubgroupSize"
                              Name 124  "gl_SubgroupInvocationID"
                              Name 129  "gl_NumSubgroups"
                              Name 130  "gl_SubgroupID"
                              Name 133  "gl_SubgroupEqMask"
                              Name 134  "gl_SubgroupGeMask"
                              Name 135  "gl_SubgroupGtMask"
                              Name 136  "gl_SubgroupLeMask"
                              Name 137  "gl_SubgroupLtMask"
                              Name 143  "ballot"
                              Name 181  "ballot"
                              Name 216  "ballot"
                              Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId
                              Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId
                              MemberDecorate 59(block0) 0 Offset 0
                              Decorate 59(block0) Block
                              Decorate 61 DescriptorSet 0
                              Decorate 61 Binding 1
                              Decorate 77(uni_image) DescriptorSet 0
                              Decorate 77(uni_image) Binding 0
                              Decorate 77(uni_image) NonReadable
                              Decorate 123(gl_SubgroupSize) RelaxedPrecision
                              Decorate 123(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 124(gl_SubgroupInvocationID) RelaxedPrecision
                              Decorate 124(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                              Decorate 129(gl_NumSubgroups) BuiltIn NumSubgroups
                              Decorate 130(gl_SubgroupID) BuiltIn SubgroupId
                              Decorate 133(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
                              Decorate 134(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
                              Decorate 135(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
                              Decorate 136(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
                              Decorate 137(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
                              Decorate 242 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               8:             TypeFloat 32
               9:             TypeVector 8(float) 4
              10:             TypePointer Function 9(fvec4)
              11:             TypeFunction 2 10(ptr)
              30:             TypeInt 32 0
              31:             TypePointer Function 30(int)
              33:             TypeVector 30(int) 3
              34:             TypePointer Input 33(ivec3)
35(gl_LocalInvocationID):     34(ptr) Variable Input
              36:     30(int) Constant 0
              37:             TypePointer Input 30(int)
41(gl_WorkGroupID):     34(ptr) Variable Input
              51:     30(int) Constant 10
              52:             TypeBool
              54:             TypeArray 9(fvec4) 51
              55:             TypePointer Workgroup 54
         56(mem):     55(ptr) Variable Workgroup
      59(block0):             TypeStruct 30(int)
              60:             TypePointer Uniform 59(block0)
              61:     60(ptr) Variable Uniform
              62:             TypeInt 32 1
              63:     62(int) Constant 0
              64:             TypePointer Uniform 30(int)
              70:             TypePointer Workgroup 9(fvec4)
              73:     62(int) Constant 1
              75:             TypeImage 8(float) 2D nonsampled format:Unknown
              76:             TypePointer UniformConstant 75
   77(uni_image):     76(ptr) Variable UniformConstant
              81:             TypeVector 62(int) 2
              91:     30(int) Constant 1
              95:     30(int) Constant 264
              96:     30(int) Constant 2
              97:             TypeVector 8(float) 2
              98:     30(int) Constant 3
              99:             TypeArray 97(fvec2) 98
       100(Task):             TypeStruct 97(fvec2) 99
             101:             TypePointer TaskPayloadWorkgroupEXT 100(Task)
     102(mytask):    101(ptr) Variable TaskPayloadWorkgroupEXT
             103:    8(float) Constant 1106247680
             104:    8(float) Constant 1106771968
             105:   97(fvec2) ConstantComposite 103 104
             106:             TypePointer TaskPayloadWorkgroupEXT 97(fvec2)
             108:    8(float) Constant 1107296256
             109:    8(float) Constant 1107558400
             110:   97(fvec2) ConstantComposite 108 109
             112:    8(float) Constant 1107820544
             113:    8(float) Constant 1108082688
             114:   97(fvec2) ConstantComposite 112 113
             116:     62(int) Constant 2
123(gl_SubgroupSize):     37(ptr) Variable Input
124(gl_SubgroupInvocationID):     37(ptr) Variable Input
             125:     30(int) Constant 3400
             126:     30(int) Constant 72
             127:     30(int) Constant 2056
129(gl_NumSubgroups):     37(ptr) Variable Input
130(gl_SubgroupID):     37(ptr) Variable Input
             131:             TypeVector 30(int) 4
             132:             TypePointer Input 131(ivec4)
133(gl_SubgroupEqMask):    132(ptr) Variable Input
134(gl_SubgroupGeMask):    132(ptr) Variable Input
135(gl_SubgroupGtMask):    132(ptr) Variable Input
136(gl_SubgroupLeMask):    132(ptr) Variable Input
137(gl_SubgroupLtMask):    132(ptr) Variable Input
             142:             TypePointer Function 131(ivec4)
             144:    52(bool) ConstantFalse
             146:  131(ivec4) ConstantComposite 91 91 91 91
             160:    52(bool) ConstantTrue
             217:     30(int) Constant 85
             218:  131(ivec4) ConstantComposite 217 36 36 36
             241:     30(int) Constant 32
             242:   33(ivec3) ConstantComposite 241 91 91
         4(main):           2 Function None 3
               5:             Label
         32(iid):     31(ptr) Variable Function
         40(gid):     31(ptr) Variable Function
           44(i):     31(ptr) Variable Function
              38:     37(ptr) AccessChain 35(gl_LocalInvocationID) 36
              39:     30(int) Load 38
                              Store 32(iid) 39
              42:     37(ptr) AccessChain 41(gl_WorkGroupID) 36
              43:     30(int) Load 42
                              Store 40(gid) 43
                              Store 44(i) 36
                              Branch 45
              45:             Label
                              LoopMerge 47 48 None
                              Branch 49
              49:             Label
              50:     30(int) Load 44(i)
              53:    52(bool) ULessThan 50 51
                              BranchConditional 53 46 47
              46:               Label
              57:     30(int)   Load 44(i)
              58:     30(int)   Load 44(i)
              65:     64(ptr)   AccessChain 61 63
              66:     30(int)   Load 65
              67:     30(int)   IAdd 58 66
              68:    8(float)   ConvertUToF 67
              69:    9(fvec4)   CompositeConstruct 68 68 68 68
              71:     70(ptr)   AccessChain 56(mem) 57
                                Store 71 69
                                Branch 48
              48:               Label
              72:     30(int)   Load 44(i)
              74:     30(int)   IAdd 72 73
                                Store 44(i) 74
                                Branch 45
              47:             Label
              78:          75 Load 77(uni_image)
              79:     30(int) Load 32(iid)
              80:     62(int) Bitcast 79
              82:   81(ivec2) CompositeConstruct 80 80
              83:     30(int) Load 40(gid)
              84:     70(ptr) AccessChain 56(mem) 83
              85:    9(fvec4) Load 84
                              ImageWrite 78 82 85
              86:          75 Load 77(uni_image)
              87:     30(int) Load 32(iid)
              88:     62(int) Bitcast 87
              89:   81(ivec2) CompositeConstruct 88 88
              90:     30(int) Load 40(gid)
              92:     30(int) IAdd 90 91
              93:     70(ptr) AccessChain 56(mem) 92
              94:    9(fvec4) Load 93
                              ImageWrite 86 89 94
                              MemoryBarrier 91 95
                              ControlBarrier 96 96 95
             107:    106(ptr) AccessChain 102(mytask) 63
                              Store 107 105
             111:    106(ptr) AccessChain 102(mytask) 73 63
                              Store 111 110
             115:    106(ptr) AccessChain 102(mytask) 73 73
                              Store 115 114
             117:     30(int) Load 40(gid)
             118:     30(int) UMod 117 96
             119:    106(ptr) AccessChain 102(mytask) 73 118
             120:   97(fvec2) Load 119
             121:    106(ptr) AccessChain 102(mytask) 73 116
                              Store 121 120
                              MemoryBarrier 91 95
                              ControlBarrier 96 96 95
                              EmitMeshTasksEXT 98 91 91 102(mytask)
                              FunctionEnd
 6(basic_works():           2 Function None 3
               7:             Label
                              ControlBarrier 98 98 125
                              MemoryBarrier 98 125
                              MemoryBarrier 98 126
                              MemoryBarrier 98 127
             128:    52(bool) GroupNonUniformElect 98
                              MemoryBarrier 98 95
                              Return
                              FunctionEnd
13(ballot_works(vf4;):           2 Function None 11
          12(f4):     10(ptr) FunctionParameter
              14:             Label
     143(ballot):    142(ptr) Variable Function
             138:    9(fvec4) Load 12(f4)
             139:    9(fvec4) GroupNonUniformBroadcast 98 138 36
             140:    9(fvec4) Load 12(f4)
             141:    9(fvec4) GroupNonUniformBroadcastFirst 98 140
             145:  131(ivec4) GroupNonUniformBallot 98 144
                              Store 143(ballot) 145
             147:    52(bool) GroupNonUniformInverseBallot 98 146
             148:  131(ivec4) Load 143(ballot)
             149:    52(bool) GroupNonUniformBallotBitExtract 98 148 36
             150:  131(ivec4) Load 143(ballot)
             151:     30(int) GroupNonUniformBallotBitCount 98 Reduce 150
             152:  131(ivec4) Load 143(ballot)
             153:     30(int) GroupNonUniformBallotBitCount 98 InclusiveScan 152
             154:  131(ivec4) Load 143(ballot)
             155:     30(int) GroupNonUniformBallotBitCount 98 ExclusiveScan 154
             156:  131(ivec4) Load 143(ballot)
             157:     30(int) GroupNonUniformBallotFindLSB 98 156
             158:  131(ivec4) Load 143(ballot)
             159:     30(int) GroupNonUniformBallotFindMSB 98 158
                              Return
                              FunctionEnd
16(vote_works(vf4;):           2 Function None 11
          15(f4):     10(ptr) FunctionParameter
              17:             Label
             161:    52(bool) GroupNonUniformAll 98 160
             162:    52(bool) GroupNonUniformAny 98 144
             163:    9(fvec4) Load 15(f4)
             164:    52(bool) GroupNonUniformAllEqual 98 163
                              Return
                              FunctionEnd
19(shuffle_works(vf4;):           2 Function None 11
          18(f4):     10(ptr) FunctionParameter
              20:             Label
             165:    9(fvec4) Load 18(f4)
             166:    9(fvec4) GroupNonUniformShuffle 98 165 36
             167:    9(fvec4) Load 18(f4)
             168:    9(fvec4) GroupNonUniformShuffleXor 98 167 91
             169:    9(fvec4) Load 18(f4)
             170:    9(fvec4) GroupNonUniformShuffleUp 98 169 91
             171:    9(fvec4) Load 18(f4)
             172:    9(fvec4) GroupNonUniformShuffleDown 98 171 91
                              Return
                              FunctionEnd
22(arith_works(vf4;):           2 Function None 11
          21(f4):     10(ptr) FunctionParameter
              23:             Label
     181(ballot):    142(ptr) Variable Function
             173:    9(fvec4) Load 21(f4)
             174:    9(fvec4) GroupNonUniformFAdd 98 Reduce 173
             175:    9(fvec4) Load 21(f4)
             176:    9(fvec4) GroupNonUniformFMul 98 Reduce 175
             177:    9(fvec4) Load 21(f4)
             178:    9(fvec4) GroupNonUniformFMin 98 Reduce 177
             179:    9(fvec4) Load 21(f4)
             180:    9(fvec4) GroupNonUniformFMax 98 Reduce 179
             182:  131(ivec4) Load 181(ballot)
             183:  131(ivec4) GroupNonUniformBitwiseAnd 98 Reduce 182
             184:  131(ivec4) Load 181(ballot)
             185:  131(ivec4) GroupNonUniformBitwiseOr 98 Reduce 184
             186:  131(ivec4) Load 181(ballot)
             187:  131(ivec4) GroupNonUniformBitwiseXor 98 Reduce 186
             188:    9(fvec4) Load 21(f4)
             189:    9(fvec4) GroupNonUniformFAdd 98 InclusiveScan 188
             190:    9(fvec4) Load 21(f4)
             191:    9(fvec4) GroupNonUniformFMul 98 InclusiveScan 190
             192:    9(fvec4) Load 21(f4)
             193:    9(fvec4) GroupNonUniformFMin 98 InclusiveScan 192
             194:    9(fvec4) Load 21(f4)
             195:    9(fvec4) GroupNonUniformFMax 98 InclusiveScan 194
             196:  131(ivec4) Load 181(ballot)
             197:  131(ivec4) GroupNonUniformBitwiseAnd 98 InclusiveScan 196
             198:  131(ivec4) Load 181(ballot)
             199:  131(ivec4) GroupNonUniformBitwiseOr 98 InclusiveScan 198
             200:  131(ivec4) Load 181(ballot)
             201:  131(ivec4) GroupNonUniformBitwiseXor 98 InclusiveScan 200
             202:    9(fvec4) Load 21(f4)
             203:    9(fvec4) GroupNonUniformFAdd 98 ExclusiveScan 202
             204:    9(fvec4) Load 21(f4)
             205:    9(fvec4) GroupNonUniformFMul 98 ExclusiveScan 204
             206:    9(fvec4) Load 21(f4)
             207:    9(fvec4) GroupNonUniformFMin 98 ExclusiveScan 206
             208:    9(fvec4) Load 21(f4)
             209:    9(fvec4) GroupNonUniformFMax 98 ExclusiveScan 208
             210:  131(ivec4) Load 181(ballot)
             211:  131(ivec4) GroupNonUniformBitwiseAnd 98 ExclusiveScan 210
             212:  131(ivec4) Load 181(ballot)
             213:  131(ivec4) GroupNonUniformBitwiseOr 98 ExclusiveScan 212
             214:  131(ivec4) Load 181(ballot)
             215:  131(ivec4) GroupNonUniformBitwiseXor 98 ExclusiveScan 214
                              Return
                              FunctionEnd
25(clustered_works(vf4;):           2 Function None 11
          24(f4):     10(ptr) FunctionParameter
              26:             Label
     216(ballot):    142(ptr) Variable Function
                              Store 216(ballot) 218
             219:    9(fvec4) Load 24(f4)
             220:    9(fvec4) GroupNonUniformFAdd 98 ClusteredReduce 219 96
             221:    9(fvec4) Load 24(f4)
             222:    9(fvec4) GroupNonUniformFMul 98 ClusteredReduce 221 96
             223:    9(fvec4) Load 24(f4)
             224:    9(fvec4) GroupNonUniformFMin 98 ClusteredReduce 223 96
             225:    9(fvec4) Load 24(f4)
             226:    9(fvec4) GroupNonUniformFMax 98 ClusteredReduce 225 96
             227:  131(ivec4) Load 216(ballot)
             228:  131(ivec4) GroupNonUniformBitwiseAnd 98 ClusteredReduce 227 96
             229:  131(ivec4) Load 216(ballot)
             230:  131(ivec4) GroupNonUniformBitwiseOr 98 ClusteredReduce 229 96
             231:  131(ivec4) Load 216(ballot)
             232:  131(ivec4) GroupNonUniformBitwiseXor 98 ClusteredReduce 231 96
                              Return
                              FunctionEnd
28(quad_works(vf4;):           2 Function None 11
          27(f4):     10(ptr) FunctionParameter
              29:             Label
             233:    9(fvec4) Load 27(f4)
             234:    9(fvec4) GroupNonUniformQuadBroadcast 98 233 36
             235:    9(fvec4) Load 27(f4)
             236:    9(fvec4) GroupNonUniformQuadSwap 98 235 36
             237:    9(fvec4) Load 27(f4)
             238:    9(fvec4) GroupNonUniformQuadSwap 98 237 91
             239:    9(fvec4) Load 27(f4)
             240:    9(fvec4) GroupNonUniformQuadSwap 98 239 96
                              Return
                              FunctionEnd
