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
