spv.subgroupVote.comp
// Module Version 10300
// Generated by (magic number): 80007
// Id's are bound by 216

                              Capability Shader
                              Capability Float64
                              Capability GroupNonUniform
                              Capability GroupNonUniformVote
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 10 12
                              ExecutionMode 4 LocalSize 8 8 1
                              Source GLSL 450
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              SourceExtension  "GL_KHR_shader_subgroup_vote"
                              Name 4  "main"
                              Name 8  "invocation"
                              Name 10  "gl_SubgroupInvocationID"
                              Name 12  "gl_SubgroupSize"
                              Name 24  "Buffers"
                              MemberName 24(Buffers) 0  "f4"
                              MemberName 24(Buffers) 1  "i4"
                              MemberName 24(Buffers) 2  "u4"
                              MemberName 24(Buffers) 3  "d4"
                              MemberName 24(Buffers) 4  "r"
                              Name 27  "data"
                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                              Decorate 11 RelaxedPrecision
                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 13 RelaxedPrecision
                              Decorate 14 RelaxedPrecision
                              Decorate 16 RelaxedPrecision
                              MemberDecorate 24(Buffers) 0 Offset 0
                              MemberDecorate 24(Buffers) 1 Offset 16
                              MemberDecorate 24(Buffers) 2 Offset 32
                              MemberDecorate 24(Buffers) 3 Offset 64
                              MemberDecorate 24(Buffers) 4 Offset 96
                              Decorate 24(Buffers) Block
                              Decorate 27(data) DescriptorSet 0
                              Decorate 27(data) Binding 0
                              Decorate 215 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               9:             TypePointer Input 6(int)
10(gl_SubgroupInvocationID):      9(ptr) Variable Input
12(gl_SubgroupSize):      9(ptr) Variable Input
              15:      6(int) Constant 4
              17:             TypeFloat 32
              18:             TypeVector 17(float) 4
              19:             TypeInt 32 1
              20:             TypeVector 19(int) 4
              21:             TypeVector 6(int) 4
              22:             TypeFloat 64
              23:             TypeVector 22(float64_t) 4
     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4) 19(int)
              25:             TypeArray 24(Buffers) 15
              26:             TypePointer StorageBuffer 25
        27(data):     26(ptr) Variable StorageBuffer
              29:     19(int) Constant 4
              30:             TypePointer StorageBuffer 19(int)
              33:     19(int) Constant 0
              34:             TypeBool
              36:      6(int) Constant 3
              41:      6(int) Constant 0
              42:             TypePointer StorageBuffer 17(float)
              46:     19(int) Constant 1
              50:             TypeVector 17(float) 2
              51:             TypePointer StorageBuffer 18(fvec4)
              59:     19(int) Constant 2
              60:             TypeVector 17(float) 3
              68:     19(int) Constant 3
              81:             TypeVector 19(int) 2
              82:             TypePointer StorageBuffer 20(ivec4)
              90:             TypeVector 19(int) 3
             104:             TypePointer StorageBuffer 6(int)
             111:             TypeVector 6(int) 2
             112:             TypePointer StorageBuffer 21(ivec4)
             120:             TypeVector 6(int) 3
             142:             TypePointer StorageBuffer 22(float64_t)
             149:             TypeVector 22(float64_t) 2
             150:             TypePointer StorageBuffer 23(f64vec4)
             158:             TypeVector 22(float64_t) 3
             182:   81(ivec2) ConstantComposite 33 33
             183:             TypeVector 34(bool) 2
             194:   90(ivec3) ConstantComposite 33 33 33
             195:             TypeVector 34(bool) 3
             205:   20(ivec4) ConstantComposite 33 33 33 33
             206:             TypeVector 34(bool) 4
             213:      6(int) Constant 8
             214:      6(int) Constant 1
             215:  120(ivec3) ConstantComposite 213 213 214
         4(main):           2 Function None 3
               5:             Label
   8(invocation):      7(ptr) Variable Function
              11:      6(int) Load 10(gl_SubgroupInvocationID)
              13:      6(int) Load 12(gl_SubgroupSize)
              14:      6(int) IAdd 11 13
              16:      6(int) UMod 14 15
                              Store 8(invocation) 16
              28:      6(int) Load 8(invocation)
              31:     30(ptr) AccessChain 27(data) 28 29
              32:     19(int) Load 31
              35:    34(bool) SLessThan 32 33
              37:    34(bool) GroupNonUniformAll 36 35
                              SelectionMerge 39 None
                              BranchConditional 37 38 133
              38:               Label
              40:      6(int)   Load 8(invocation)
              43:     42(ptr)   AccessChain 27(data) 33 33 41
              44:   17(float)   Load 43
              45:    34(bool)   GroupNonUniformAllEqual 36 44
              47:     19(int)   Select 45 46 33
              48:     30(ptr)   AccessChain 27(data) 40 29
                                Store 48 47
              49:      6(int)   Load 8(invocation)
              52:     51(ptr)   AccessChain 27(data) 46 33
              53:   18(fvec4)   Load 52
              54:   50(fvec2)   VectorShuffle 53 53 0 1
              55:    34(bool)   GroupNonUniformAllEqual 36 54
              56:     19(int)   Select 55 46 33
              57:     30(ptr)   AccessChain 27(data) 49 29
                                Store 57 56
              58:      6(int)   Load 8(invocation)
              61:     51(ptr)   AccessChain 27(data) 59 33
              62:   18(fvec4)   Load 61
              63:   60(fvec3)   VectorShuffle 62 62 0 1 2
              64:    34(bool)   GroupNonUniformAllEqual 36 63
              65:     19(int)   Select 64 46 33
              66:     30(ptr)   AccessChain 27(data) 58 29
                                Store 66 65
              67:      6(int)   Load 8(invocation)
              69:     51(ptr)   AccessChain 27(data) 68 33
              70:   18(fvec4)   Load 69
              71:    34(bool)   GroupNonUniformAllEqual 36 70
              72:     19(int)   Select 71 46 33
              73:     30(ptr)   AccessChain 27(data) 67 29
                                Store 73 72
              74:      6(int)   Load 8(invocation)
              75:     30(ptr)   AccessChain 27(data) 33 46 41
              76:     19(int)   Load 75
              77:    34(bool)   GroupNonUniformAllEqual 36 76
              78:     19(int)   Select 77 46 33
              79:     30(ptr)   AccessChain 27(data) 74 29
                                Store 79 78
              80:      6(int)   Load 8(invocation)
              83:     82(ptr)   AccessChain 27(data) 46 46
              84:   20(ivec4)   Load 83
              85:   81(ivec2)   VectorShuffle 84 84 0 1
              86:    34(bool)   GroupNonUniformAllEqual 36 85
              87:     19(int)   Select 86 46 33
              88:     30(ptr)   AccessChain 27(data) 80 29
                                Store 88 87
              89:      6(int)   Load 8(invocation)
              91:     82(ptr)   AccessChain 27(data) 59 46
              92:   20(ivec4)   Load 91
              93:   90(ivec3)   VectorShuffle 92 92 0 1 2
              94:    34(bool)   GroupNonUniformAllEqual 36 93
              95:     19(int)   Select 94 46 33
              96:     30(ptr)   AccessChain 27(data) 89 29
                                Store 96 95
              97:      6(int)   Load 8(invocation)
              98:     82(ptr)   AccessChain 27(data) 68 46
              99:   20(ivec4)   Load 98
             100:    34(bool)   GroupNonUniformAllEqual 36 99
             101:     19(int)   Select 100 46 33
             102:     30(ptr)   AccessChain 27(data) 97 29
                                Store 102 101
             103:      6(int)   Load 8(invocation)
             105:    104(ptr)   AccessChain 27(data) 33 59 41
             106:      6(int)   Load 105
             107:    34(bool)   GroupNonUniformAllEqual 36 106
             108:     19(int)   Select 107 46 33
             109:     30(ptr)   AccessChain 27(data) 103 29
                                Store 109 108
             110:      6(int)   Load 8(invocation)
             113:    112(ptr)   AccessChain 27(data) 46 59
             114:   21(ivec4)   Load 113
             115:  111(ivec2)   VectorShuffle 114 114 0 1
             116:    34(bool)   GroupNonUniformAllEqual 36 115
             117:     19(int)   Select 116 46 33
             118:     30(ptr)   AccessChain 27(data) 110 29
                                Store 118 117
             119:      6(int)   Load 8(invocation)
             121:    112(ptr)   AccessChain 27(data) 59 59
             122:   21(ivec4)   Load 121
             123:  120(ivec3)   VectorShuffle 122 122 0 1 2
             124:    34(bool)   GroupNonUniformAllEqual 36 123
             125:     19(int)   Select 124 46 33
             126:     30(ptr)   AccessChain 27(data) 119 29
                                Store 126 125
             127:      6(int)   Load 8(invocation)
             128:    112(ptr)   AccessChain 27(data) 68 59
             129:   21(ivec4)   Load 128
             130:    34(bool)   GroupNonUniformAllEqual 36 129
             131:     19(int)   Select 130 46 33
             132:     30(ptr)   AccessChain 27(data) 127 29
                                Store 132 131
                                Branch 39
             133:               Label
             134:      6(int)   Load 8(invocation)
             135:     30(ptr)   AccessChain 27(data) 134 29
             136:     19(int)   Load 135
             137:    34(bool)   SLessThan 136 33
             138:    34(bool)   GroupNonUniformAny 36 137
                                SelectionMerge 140 None
                                BranchConditional 138 139 140
             139:                 Label
             141:      6(int)     Load 8(invocation)
             143:    142(ptr)     AccessChain 27(data) 33 68 41
             144:22(float64_t)     Load 143
             145:    34(bool)     GroupNonUniformAllEqual 36 144
             146:     19(int)     Select 145 46 33
             147:     30(ptr)     AccessChain 27(data) 141 29
                                  Store 147 146
             148:      6(int)     Load 8(invocation)
             151:    150(ptr)     AccessChain 27(data) 46 68
             152: 23(f64vec4)     Load 151
             153:149(f64vec2)     VectorShuffle 152 152 0 1
             154:    34(bool)     GroupNonUniformAllEqual 36 153
             155:     19(int)     Select 154 46 33
             156:     30(ptr)     AccessChain 27(data) 148 29
                                  Store 156 155
             157:      6(int)     Load 8(invocation)
             159:    150(ptr)     AccessChain 27(data) 59 68
             160: 23(f64vec4)     Load 159
             161:158(f64vec3)     VectorShuffle 160 160 0 1 2
             162:    34(bool)     GroupNonUniformAllEqual 36 161
             163:     19(int)     Select 162 46 33
             164:     30(ptr)     AccessChain 27(data) 157 29
                                  Store 164 163
             165:      6(int)     Load 8(invocation)
             166:    150(ptr)     AccessChain 27(data) 68 68
             167: 23(f64vec4)     Load 166
             168:    34(bool)     GroupNonUniformAllEqual 36 167
             169:     19(int)     Select 168 46 33
             170:     30(ptr)     AccessChain 27(data) 165 29
                                  Store 170 169
             171:      6(int)     Load 8(invocation)
             172:     30(ptr)     AccessChain 27(data) 33 46 41
             173:     19(int)     Load 172
             174:    34(bool)     SLessThan 173 33
             175:    34(bool)     GroupNonUniformAllEqual 36 174
             176:     19(int)     Select 175 46 33
             177:     30(ptr)     AccessChain 27(data) 171 29
                                  Store 177 176
             178:      6(int)     Load 8(invocation)
             179:     82(ptr)     AccessChain 27(data) 46 46
             180:   20(ivec4)     Load 179
             181:   81(ivec2)     VectorShuffle 180 180 0 1
             184:  183(bvec2)     SLessThan 181 182
             185:    34(bool)     GroupNonUniformAllEqual 36 184
             186:     19(int)     Select 185 46 33
             187:   81(ivec2)     CompositeConstruct 186 186
             188:     19(int)     CompositeExtract 187 0
             189:     30(ptr)     AccessChain 27(data) 178 29
                                  Store 189 188
             190:      6(int)     Load 8(invocation)
             191:     82(ptr)     AccessChain 27(data) 46 46
             192:   20(ivec4)     Load 191
             193:   90(ivec3)     VectorShuffle 192 192 0 1 2
             196:  195(bvec3)     SLessThan 193 194
             197:    34(bool)     GroupNonUniformAllEqual 36 196
             198:     19(int)     Select 197 46 33
             199:   90(ivec3)     CompositeConstruct 198 198 198
             200:     19(int)     CompositeExtract 199 0
             201:     30(ptr)     AccessChain 27(data) 190 29
                                  Store 201 200
             202:      6(int)     Load 8(invocation)
             203:     82(ptr)     AccessChain 27(data) 46 46
             204:   20(ivec4)     Load 203
             207:  206(bvec4)     SLessThan 204 205
             208:    34(bool)     GroupNonUniformAllEqual 36 207
             209:     19(int)     Select 208 46 33
             210:   20(ivec4)     CompositeConstruct 209 209 209 209
             211:     19(int)     CompositeExtract 210 0
             212:     30(ptr)     AccessChain 27(data) 202 29
                                  Store 212 211
                                  Branch 140
             140:               Label
                                Branch 39
              39:             Label
                              Return
                              FunctionEnd