Home | History | Annotate | Download | only in baseResults
      1 spv.shaderBallot.comp
      2 // Module Version 10000
      3 // Generated by (magic number): 80007
      4 // Id's are bound by 298
      5 
      6                               Capability Shader
      7                               Capability Int64
      8                               Capability SubgroupBallotKHR
      9                               Extension  "SPV_KHR_shader_ballot"
     10                1:             ExtInstImport  "GLSL.std.450"
     11                               MemoryModel Logical GLSL450
     12                               EntryPoint GLCompute 4  "main" 10 12 21 23 26 29 32
     13                               ExecutionMode 4 LocalSize 8 8 1
     14                               Source GLSL 450
     15                               SourceExtension  "GL_ARB_gpu_shader_int64"
     16                               SourceExtension  "GL_ARB_shader_ballot"
     17                               Name 4  "main"
     18                               Name 8  "invocation"
     19                               Name 10  "gl_SubGroupInvocationARB"
     20                               Name 12  "gl_SubGroupSizeARB"
     21                               Name 19  "relMask"
     22                               Name 21  "gl_SubGroupEqMaskARB"
     23                               Name 23  "gl_SubGroupGeMaskARB"
     24                               Name 26  "gl_SubGroupGtMaskARB"
     25                               Name 29  "gl_SubGroupLeMaskARB"
     26                               Name 32  "gl_SubGroupLtMaskARB"
     27                               Name 52  "Buffers"
     28                               MemberName 52(Buffers) 0  "f4"
     29                               MemberName 52(Buffers) 1  "i4"
     30                               MemberName 52(Buffers) 2  "u4"
     31                               Name 55  "data"
     32                               Decorate 10(gl_SubGroupInvocationARB) BuiltIn SubgroupLocalInvocationId
     33                               Decorate 12(gl_SubGroupSizeARB) BuiltIn SubgroupSize
     34                               Decorate 21(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR
     35                               Decorate 23(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
     36                               Decorate 26(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR
     37                               Decorate 29(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR
     38                               Decorate 32(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
     39                               MemberDecorate 52(Buffers) 0 Offset 0
     40                               MemberDecorate 52(Buffers) 1 Offset 16
     41                               MemberDecorate 52(Buffers) 2 Offset 32
     42                               Decorate 52(Buffers) BufferBlock
     43                               Decorate 55(data) DescriptorSet 0
     44                               Decorate 55(data) Binding 0
     45                               Decorate 297 BuiltIn WorkgroupSize
     46                2:             TypeVoid
     47                3:             TypeFunction 2
     48                6:             TypeInt 32 0
     49                7:             TypePointer Function 6(int)
     50                9:             TypePointer Input 6(int)
     51 10(gl_SubGroupInvocationARB):      9(ptr) Variable Input
     52 12(gl_SubGroupSizeARB):      9(ptr) Variable Input
     53               15:      6(int) Constant 4
     54               17:             TypeInt 64 0
     55               18:             TypePointer Function 17(int64_t)
     56               20:             TypePointer Input 17(int64_t)
     57 21(gl_SubGroupEqMaskARB):     20(ptr) Variable Input
     58 23(gl_SubGroupGeMaskARB):     20(ptr) Variable Input
     59 26(gl_SubGroupGtMaskARB):     20(ptr) Variable Input
     60 29(gl_SubGroupLeMaskARB):     20(ptr) Variable Input
     61 32(gl_SubGroupLtMaskARB):     20(ptr) Variable Input
     62               36:             TypeBool
     63               37:    36(bool) ConstantTrue
     64               38:             TypeVector 6(int) 4
     65               42:             TypeVector 6(int) 2
     66               48:             TypeFloat 32
     67               49:             TypeVector 48(float) 4
     68               50:             TypeInt 32 1
     69               51:             TypeVector 50(int) 4
     70      52(Buffers):             TypeStruct 49(fvec4) 51(ivec4) 38(ivec4)
     71               53:             TypeArray 52(Buffers) 15
     72               54:             TypePointer Uniform 53
     73         55(data):     54(ptr) Variable Uniform
     74               57:     50(int) Constant 0
     75               58:      6(int) Constant 0
     76               59:             TypePointer Uniform 48(float)
     77               66:     50(int) Constant 1
     78               67:             TypeVector 48(float) 2
     79               68:             TypePointer Uniform 49(fvec4)
     80               82:     50(int) Constant 2
     81               83:             TypeVector 48(float) 3
     82               99:     50(int) Constant 3
     83              114:             TypePointer Uniform 50(int)
     84              121:             TypeVector 50(int) 2
     85              122:             TypePointer Uniform 51(ivec4)
     86              136:             TypeVector 50(int) 3
     87              166:             TypePointer Uniform 6(int)
     88              173:             TypePointer Uniform 38(ivec4)
     89              187:             TypeVector 6(int) 3
     90              295:      6(int) Constant 8
     91              296:      6(int) Constant 1
     92              297:  187(ivec3) ConstantComposite 295 295 296
     93          4(main):           2 Function None 3
     94                5:             Label
     95    8(invocation):      7(ptr) Variable Function
     96      19(relMask):     18(ptr) Variable Function
     97               11:      6(int) Load 10(gl_SubGroupInvocationARB)
     98               13:      6(int) Load 12(gl_SubGroupSizeARB)
     99               14:      6(int) IAdd 11 13
    100               16:      6(int) UMod 14 15
    101                               Store 8(invocation) 16
    102               22: 17(int64_t) Load 21(gl_SubGroupEqMaskARB)
    103               24: 17(int64_t) Load 23(gl_SubGroupGeMaskARB)
    104               25: 17(int64_t) IAdd 22 24
    105               27: 17(int64_t) Load 26(gl_SubGroupGtMaskARB)
    106               28: 17(int64_t) IAdd 25 27
    107               30: 17(int64_t) Load 29(gl_SubGroupLeMaskARB)
    108               31: 17(int64_t) IAdd 28 30
    109               33: 17(int64_t) Load 32(gl_SubGroupLtMaskARB)
    110               34: 17(int64_t) IAdd 31 33
    111                               Store 19(relMask) 34
    112               35: 17(int64_t) Load 19(relMask)
    113               39:   38(ivec4) SubgroupBallotKHR 37
    114               40:      6(int) CompositeExtract 39 0
    115               41:      6(int) CompositeExtract 39 1
    116               43:   42(ivec2) CompositeConstruct 40 41
    117               44: 17(int64_t) Bitcast 43
    118               45:    36(bool) IEqual 35 44
    119                               SelectionMerge 47 None
    120                               BranchConditional 45 46 216
    121               46:               Label
    122               56:      6(int)   Load 8(invocation)
    123               60:     59(ptr)   AccessChain 55(data) 57 57 58
    124               61:   48(float)   Load 60
    125               62:      6(int)   Load 8(invocation)
    126               63:   48(float)   SubgroupReadInvocationKHR 61 62
    127               64:     59(ptr)   AccessChain 55(data) 56 57 58
    128                                 Store 64 63
    129               65:      6(int)   Load 8(invocation)
    130               69:     68(ptr)   AccessChain 55(data) 66 57
    131               70:   49(fvec4)   Load 69
    132               71:   67(fvec2)   VectorShuffle 70 70 0 1
    133               72:      6(int)   Load 8(invocation)
    134               73:   48(float)   CompositeExtract 71 0
    135               74:   48(float)   SubgroupReadInvocationKHR 73 72
    136               75:   48(float)   CompositeExtract 71 1
    137               76:   48(float)   SubgroupReadInvocationKHR 75 72
    138               77:   67(fvec2)   CompositeConstruct 74 76
    139               78:     68(ptr)   AccessChain 55(data) 65 57
    140               79:   49(fvec4)   Load 78
    141               80:   49(fvec4)   VectorShuffle 79 77 4 5 2 3
    142                                 Store 78 80
    143               81:      6(int)   Load 8(invocation)
    144               84:     68(ptr)   AccessChain 55(data) 82 57
    145               85:   49(fvec4)   Load 84
    146               86:   83(fvec3)   VectorShuffle 85 85 0 1 2
    147               87:      6(int)   Load 8(invocation)
    148               88:   48(float)   CompositeExtract 86 0
    149               89:   48(float)   SubgroupReadInvocationKHR 88 87
    150               90:   48(float)   CompositeExtract 86 1
    151               91:   48(float)   SubgroupReadInvocationKHR 90 87
    152               92:   48(float)   CompositeExtract 86 2
    153               93:   48(float)   SubgroupReadInvocationKHR 92 87
    154               94:   83(fvec3)   CompositeConstruct 89 91 93
    155               95:     68(ptr)   AccessChain 55(data) 81 57
    156               96:   49(fvec4)   Load 95
    157               97:   49(fvec4)   VectorShuffle 96 94 4 5 6 3
    158                                 Store 95 97
    159               98:      6(int)   Load 8(invocation)
    160              100:     68(ptr)   AccessChain 55(data) 99 57
    161              101:   49(fvec4)   Load 100
    162              102:      6(int)   Load 8(invocation)
    163              103:   48(float)   CompositeExtract 101 0
    164              104:   48(float)   SubgroupReadInvocationKHR 103 102
    165              105:   48(float)   CompositeExtract 101 1
    166              106:   48(float)   SubgroupReadInvocationKHR 105 102
    167              107:   48(float)   CompositeExtract 101 2
    168              108:   48(float)   SubgroupReadInvocationKHR 107 102
    169              109:   48(float)   CompositeExtract 101 3
    170              110:   48(float)   SubgroupReadInvocationKHR 109 102
    171              111:   49(fvec4)   CompositeConstruct 104 106 108 110
    172              112:     68(ptr)   AccessChain 55(data) 98 57
    173                                 Store 112 111
    174              113:      6(int)   Load 8(invocation)
    175              115:    114(ptr)   AccessChain 55(data) 57 66 58
    176              116:     50(int)   Load 115
    177              117:      6(int)   Load 8(invocation)
    178              118:     50(int)   SubgroupReadInvocationKHR 116 117
    179              119:    114(ptr)   AccessChain 55(data) 113 66 58
    180                                 Store 119 118
    181              120:      6(int)   Load 8(invocation)
    182              123:    122(ptr)   AccessChain 55(data) 66 66
    183              124:   51(ivec4)   Load 123
    184              125:  121(ivec2)   VectorShuffle 124 124 0 1
    185              126:      6(int)   Load 8(invocation)
    186              127:     50(int)   CompositeExtract 125 0
    187              128:     50(int)   SubgroupReadInvocationKHR 127 126
    188              129:     50(int)   CompositeExtract 125 1
    189              130:     50(int)   SubgroupReadInvocationKHR 129 126
    190              131:  121(ivec2)   CompositeConstruct 128 130
    191              132:    122(ptr)   AccessChain 55(data) 120 66
    192              133:   51(ivec4)   Load 132
    193              134:   51(ivec4)   VectorShuffle 133 131 4 5 2 3
    194                                 Store 132 134
    195              135:      6(int)   Load 8(invocation)
    196              137:    122(ptr)   AccessChain 55(data) 82 66
    197              138:   51(ivec4)   Load 137
    198              139:  136(ivec3)   VectorShuffle 138 138 0 1 2
    199              140:      6(int)   Load 8(invocation)
    200              141:     50(int)   CompositeExtract 139 0
    201              142:     50(int)   SubgroupReadInvocationKHR 141 140
    202              143:     50(int)   CompositeExtract 139 1
    203              144:     50(int)   SubgroupReadInvocationKHR 143 140
    204              145:     50(int)   CompositeExtract 139 2
    205              146:     50(int)   SubgroupReadInvocationKHR 145 140
    206              147:  136(ivec3)   CompositeConstruct 142 144 146
    207              148:    122(ptr)   AccessChain 55(data) 135 66
    208              149:   51(ivec4)   Load 148
    209              150:   51(ivec4)   VectorShuffle 149 147 4 5 6 3
    210                                 Store 148 150
    211              151:      6(int)   Load 8(invocation)
    212              152:    122(ptr)   AccessChain 55(data) 99 66
    213              153:   51(ivec4)   Load 152
    214              154:      6(int)   Load 8(invocation)
    215              155:     50(int)   CompositeExtract 153 0
    216              156:     50(int)   SubgroupReadInvocationKHR 155 154
    217              157:     50(int)   CompositeExtract 153 1
    218              158:     50(int)   SubgroupReadInvocationKHR 157 154
    219              159:     50(int)   CompositeExtract 153 2
    220              160:     50(int)   SubgroupReadInvocationKHR 159 154
    221              161:     50(int)   CompositeExtract 153 3
    222              162:     50(int)   SubgroupReadInvocationKHR 161 154
    223              163:   51(ivec4)   CompositeConstruct 156 158 160 162
    224              164:    122(ptr)   AccessChain 55(data) 151 66
    225                                 Store 164 163
    226              165:      6(int)   Load 8(invocation)
    227              167:    166(ptr)   AccessChain 55(data) 57 82 58
    228              168:      6(int)   Load 167
    229              169:      6(int)   Load 8(invocation)
    230              170:      6(int)   SubgroupReadInvocationKHR 168 169
    231              171:    166(ptr)   AccessChain 55(data) 165 82 58
    232                                 Store 171 170
    233              172:      6(int)   Load 8(invocation)
    234              174:    173(ptr)   AccessChain 55(data) 66 82
    235              175:   38(ivec4)   Load 174
    236              176:   42(ivec2)   VectorShuffle 175 175 0 1
    237              177:      6(int)   Load 8(invocation)
    238              178:      6(int)   CompositeExtract 176 0
    239              179:      6(int)   SubgroupReadInvocationKHR 178 177
    240              180:      6(int)   CompositeExtract 176 1
    241              181:      6(int)   SubgroupReadInvocationKHR 180 177
    242              182:   42(ivec2)   CompositeConstruct 179 181
    243              183:    173(ptr)   AccessChain 55(data) 172 82
    244              184:   38(ivec4)   Load 183
    245              185:   38(ivec4)   VectorShuffle 184 182 4 5 2 3
    246                                 Store 183 185
    247              186:      6(int)   Load 8(invocation)
    248              188:    173(ptr)   AccessChain 55(data) 82 82
    249              189:   38(ivec4)   Load 188
    250              190:  187(ivec3)   VectorShuffle 189 189 0 1 2
    251              191:      6(int)   Load 8(invocation)
    252              192:      6(int)   CompositeExtract 190 0
    253              193:      6(int)   SubgroupReadInvocationKHR 192 191
    254              194:      6(int)   CompositeExtract 190 1
    255              195:      6(int)   SubgroupReadInvocationKHR 194 191
    256              196:      6(int)   CompositeExtract 190 2
    257              197:      6(int)   SubgroupReadInvocationKHR 196 191
    258              198:  187(ivec3)   CompositeConstruct 193 195 197
    259              199:    173(ptr)   AccessChain 55(data) 186 82
    260              200:   38(ivec4)   Load 199
    261              201:   38(ivec4)   VectorShuffle 200 198 4 5 6 3
    262                                 Store 199 201
    263              202:      6(int)   Load 8(invocation)
    264              203:    173(ptr)   AccessChain 55(data) 99 82
    265              204:   38(ivec4)   Load 203
    266              205:      6(int)   Load 8(invocation)
    267              206:      6(int)   CompositeExtract 204 0
    268              207:      6(int)   SubgroupReadInvocationKHR 206 205
    269              208:      6(int)   CompositeExtract 204 1
    270              209:      6(int)   SubgroupReadInvocationKHR 208 205
    271              210:      6(int)   CompositeExtract 204 2
    272              211:      6(int)   SubgroupReadInvocationKHR 210 205
    273              212:      6(int)   CompositeExtract 204 3
    274              213:      6(int)   SubgroupReadInvocationKHR 212 205
    275              214:   38(ivec4)   CompositeConstruct 207 209 211 213
    276              215:    173(ptr)   AccessChain 55(data) 202 82
    277                                 Store 215 214
    278                                 Branch 47
    279              216:               Label
    280              217:      6(int)   Load 8(invocation)
    281              218:     59(ptr)   AccessChain 55(data) 57 57 58
    282              219:   48(float)   Load 218
    283              220:   48(float)   SubgroupFirstInvocationKHR 219
    284              221:     59(ptr)   AccessChain 55(data) 217 57 58
    285                                 Store 221 220
    286              222:      6(int)   Load 8(invocation)
    287              223:     68(ptr)   AccessChain 55(data) 66 57
    288              224:   49(fvec4)   Load 223
    289              225:   67(fvec2)   VectorShuffle 224 224 0 1
    290              226:   67(fvec2)   SubgroupFirstInvocationKHR 225
    291              227:     68(ptr)   AccessChain 55(data) 222 57
    292              228:   49(fvec4)   Load 227
    293              229:   49(fvec4)   VectorShuffle 228 226 4 5 2 3
    294                                 Store 227 229
    295              230:      6(int)   Load 8(invocation)
    296              231:     68(ptr)   AccessChain 55(data) 82 57
    297              232:   49(fvec4)   Load 231
    298              233:   83(fvec3)   VectorShuffle 232 232 0 1 2
    299              234:   83(fvec3)   SubgroupFirstInvocationKHR 233
    300              235:     68(ptr)   AccessChain 55(data) 230 57
    301              236:   49(fvec4)   Load 235
    302              237:   49(fvec4)   VectorShuffle 236 234 4 5 6 3
    303                                 Store 235 237
    304              238:      6(int)   Load 8(invocation)
    305              239:     68(ptr)   AccessChain 55(data) 99 57
    306              240:   49(fvec4)   Load 239
    307              241:   49(fvec4)   SubgroupFirstInvocationKHR 240
    308              242:     68(ptr)   AccessChain 55(data) 238 57
    309                                 Store 242 241
    310              243:      6(int)   Load 8(invocation)
    311              244:    114(ptr)   AccessChain 55(data) 57 66 58
    312              245:     50(int)   Load 244
    313              246:     50(int)   SubgroupFirstInvocationKHR 245
    314              247:    114(ptr)   AccessChain 55(data) 243 66 58
    315                                 Store 247 246
    316              248:      6(int)   Load 8(invocation)
    317              249:    122(ptr)   AccessChain 55(data) 66 66
    318              250:   51(ivec4)   Load 249
    319              251:  121(ivec2)   VectorShuffle 250 250 0 1
    320              252:  121(ivec2)   SubgroupFirstInvocationKHR 251
    321              253:    122(ptr)   AccessChain 55(data) 248 66
    322              254:   51(ivec4)   Load 253
    323              255:   51(ivec4)   VectorShuffle 254 252 4 5 2 3
    324                                 Store 253 255
    325              256:      6(int)   Load 8(invocation)
    326              257:    122(ptr)   AccessChain 55(data) 82 66
    327              258:   51(ivec4)   Load 257
    328              259:  136(ivec3)   VectorShuffle 258 258 0 1 2
    329              260:  136(ivec3)   SubgroupFirstInvocationKHR 259
    330              261:    122(ptr)   AccessChain 55(data) 256 66
    331              262:   51(ivec4)   Load 261
    332              263:   51(ivec4)   VectorShuffle 262 260 4 5 6 3
    333                                 Store 261 263
    334              264:      6(int)   Load 8(invocation)
    335              265:    122(ptr)   AccessChain 55(data) 99 66
    336              266:   51(ivec4)   Load 265
    337              267:   51(ivec4)   SubgroupFirstInvocationKHR 266
    338              268:    122(ptr)   AccessChain 55(data) 264 66
    339                                 Store 268 267
    340              269:      6(int)   Load 8(invocation)
    341              270:    166(ptr)   AccessChain 55(data) 57 82 58
    342              271:      6(int)   Load 270
    343              272:      6(int)   SubgroupFirstInvocationKHR 271
    344              273:    166(ptr)   AccessChain 55(data) 269 82 58
    345                                 Store 273 272
    346              274:      6(int)   Load 8(invocation)
    347              275:    173(ptr)   AccessChain 55(data) 66 82
    348              276:   38(ivec4)   Load 275
    349              277:   42(ivec2)   VectorShuffle 276 276 0 1
    350              278:   42(ivec2)   SubgroupFirstInvocationKHR 277
    351              279:    173(ptr)   AccessChain 55(data) 274 82
    352              280:   38(ivec4)   Load 279
    353              281:   38(ivec4)   VectorShuffle 280 278 4 5 2 3
    354                                 Store 279 281
    355              282:      6(int)   Load 8(invocation)
    356              283:    173(ptr)   AccessChain 55(data) 82 82
    357              284:   38(ivec4)   Load 283
    358              285:  187(ivec3)   VectorShuffle 284 284 0 1 2
    359              286:  187(ivec3)   SubgroupFirstInvocationKHR 285
    360              287:    173(ptr)   AccessChain 55(data) 282 82
    361              288:   38(ivec4)   Load 287
    362              289:   38(ivec4)   VectorShuffle 288 286 4 5 6 3
    363                                 Store 287 289
    364              290:      6(int)   Load 8(invocation)
    365              291:    173(ptr)   AccessChain 55(data) 99 82
    366              292:   38(ivec4)   Load 291
    367              293:   38(ivec4)   SubgroupFirstInvocationKHR 292
    368              294:    173(ptr)   AccessChain 55(data) 290 82
    369                                 Store 294 293
    370                                 Branch 47
    371               47:             Label
    372                               Return
    373                               FunctionEnd
    374