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