378 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			378 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| spv.subgroupExtendedTypesVote.comp
 | |
| // Module Version 10300
 | |
| // Generated by (magic number): 8000a
 | |
| // Id's are bound by 277
 | |
| 
 | |
|                               Capability Shader
 | |
|                               Capability Float16
 | |
|                               Capability Int64
 | |
|                               Capability Int16
 | |
|                               Capability Int8
 | |
|                               Capability GroupNonUniform
 | |
|                               Capability GroupNonUniformVote
 | |
|                               Capability StorageUniformBufferBlock16
 | |
|                               Capability StorageBuffer8BitAccess
 | |
|                               Extension  "SPV_KHR_8bit_storage"
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint GLCompute 4  "main" 10 12
 | |
|                               ExecutionMode 4 LocalSize 8 1 1
 | |
|                               Source GLSL 450
 | |
|                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
 | |
|                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int16"
 | |
|                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
 | |
|                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int8"
 | |
|                               SourceExtension  "GL_EXT_shader_subgroup_extended_types_float16"
 | |
|                               SourceExtension  "GL_EXT_shader_subgroup_extended_types_int16"
 | |
|                               SourceExtension  "GL_EXT_shader_subgroup_extended_types_int64"
 | |
|                               SourceExtension  "GL_EXT_shader_subgroup_extended_types_int8"
 | |
|                               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 32  "Buffers"
 | |
|                               MemberName 32(Buffers) 0  "i8"
 | |
|                               MemberName 32(Buffers) 1  "u8"
 | |
|                               MemberName 32(Buffers) 2  "i16"
 | |
|                               MemberName 32(Buffers) 3  "u16"
 | |
|                               MemberName 32(Buffers) 4  "i64"
 | |
|                               MemberName 32(Buffers) 5  "u64"
 | |
|                               MemberName 32(Buffers) 6  "f16"
 | |
|                               MemberName 32(Buffers) 7  "r"
 | |
|                               Name 35  "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 32(Buffers) 0 Offset 0
 | |
|                               MemberDecorate 32(Buffers) 1 Offset 4
 | |
|                               MemberDecorate 32(Buffers) 2 Offset 8
 | |
|                               MemberDecorate 32(Buffers) 3 Offset 16
 | |
|                               MemberDecorate 32(Buffers) 4 Offset 32
 | |
|                               MemberDecorate 32(Buffers) 5 Offset 64
 | |
|                               MemberDecorate 32(Buffers) 6 Offset 96
 | |
|                               MemberDecorate 32(Buffers) 7 Offset 104
 | |
|                               Decorate 32(Buffers) Block
 | |
|                               Decorate 35(data) DescriptorSet 0
 | |
|                               Decorate 35(data) Binding 0
 | |
|                               Decorate 276 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:             TypeInt 8 1
 | |
|               18:             TypeVector 17(int8_t) 4
 | |
|               19:             TypeInt 8 0
 | |
|               20:             TypeVector 19(int8_t) 4
 | |
|               21:             TypeInt 16 1
 | |
|               22:             TypeVector 21(int16_t) 4
 | |
|               23:             TypeInt 16 0
 | |
|               24:             TypeVector 23(int16_t) 4
 | |
|               25:             TypeInt 64 1
 | |
|               26:             TypeVector 25(int64_t) 4
 | |
|               27:             TypeInt 64 0
 | |
|               28:             TypeVector 27(int64_t) 4
 | |
|               29:             TypeFloat 16
 | |
|               30:             TypeVector 29(float16_t) 4
 | |
|               31:             TypeInt 32 1
 | |
|      32(Buffers):             TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4) 31(int)
 | |
|               33:             TypeArray 32(Buffers) 15
 | |
|               34:             TypePointer StorageBuffer 33
 | |
|         35(data):     34(ptr) Variable StorageBuffer
 | |
|               37:     31(int) Constant 7
 | |
|               38:             TypePointer StorageBuffer 31(int)
 | |
|               41:     31(int) Constant 0
 | |
|               42:             TypeBool
 | |
|               44:      6(int) Constant 3
 | |
|               49:      6(int) Constant 0
 | |
|               50:             TypePointer StorageBuffer 17(int8_t)
 | |
|               54:     31(int) Constant 1
 | |
|               58:             TypeVector 17(int8_t) 2
 | |
|               59:             TypePointer StorageBuffer 18(i8vec4)
 | |
|               67:     31(int) Constant 2
 | |
|               68:             TypeVector 17(int8_t) 3
 | |
|               76:     31(int) Constant 3
 | |
|               83:             TypePointer StorageBuffer 19(int8_t)
 | |
|               90:             TypeVector 19(int8_t) 2
 | |
|               91:             TypePointer StorageBuffer 20(i8vec4)
 | |
|               99:             TypeVector 19(int8_t) 3
 | |
|              113:             TypePointer StorageBuffer 21(int16_t)
 | |
|              120:             TypeVector 21(int16_t) 2
 | |
|              121:             TypePointer StorageBuffer 22(i16vec4)
 | |
|              129:             TypeVector 21(int16_t) 3
 | |
|              143:             TypePointer StorageBuffer 23(int16_t)
 | |
|              150:             TypeVector 23(int16_t) 2
 | |
|              151:             TypePointer StorageBuffer 24(i16vec4)
 | |
|              159:             TypeVector 23(int16_t) 3
 | |
|              181:     31(int) Constant 4
 | |
|              182:             TypePointer StorageBuffer 25(int64_t)
 | |
|              189:             TypeVector 25(int64_t) 2
 | |
|              190:             TypePointer StorageBuffer 26(i64vec4)
 | |
|              198:             TypeVector 25(int64_t) 3
 | |
|              212:     31(int) Constant 5
 | |
|              213:             TypePointer StorageBuffer 27(int64_t)
 | |
|              220:             TypeVector 27(int64_t) 2
 | |
|              221:             TypePointer StorageBuffer 28(i64vec4)
 | |
|              229:             TypeVector 27(int64_t) 3
 | |
|              243:     31(int) Constant 6
 | |
|              244:             TypePointer StorageBuffer 29(float16_t)
 | |
|              251:             TypeVector 29(float16_t) 2
 | |
|              252:             TypePointer StorageBuffer 30(f16vec4)
 | |
|              260:             TypeVector 29(float16_t) 3
 | |
|              273:             TypeVector 6(int) 3
 | |
|              274:      6(int) Constant 8
 | |
|              275:      6(int) Constant 1
 | |
|              276:  273(ivec3) ConstantComposite 274 275 275
 | |
|          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
 | |
|               36:      6(int) Load 8(invocation)
 | |
|               39:     38(ptr) AccessChain 35(data) 36 37
 | |
|               40:     31(int) Load 39
 | |
|               43:    42(bool) SLessThan 40 41
 | |
|               45:    42(bool) GroupNonUniformAll 44 43
 | |
|                               SelectionMerge 47 None
 | |
|                               BranchConditional 45 46 172
 | |
|               46:               Label
 | |
|               48:      6(int)   Load 8(invocation)
 | |
|               51:     50(ptr)   AccessChain 35(data) 41 41 49
 | |
|               52:  17(int8_t)   Load 51
 | |
|               53:    42(bool)   GroupNonUniformAllEqual 44 52
 | |
|               55:     31(int)   Select 53 54 41
 | |
|               56:     38(ptr)   AccessChain 35(data) 48 37
 | |
|                                 Store 56 55
 | |
|               57:      6(int)   Load 8(invocation)
 | |
|               60:     59(ptr)   AccessChain 35(data) 54 41
 | |
|               61:  18(i8vec4)   Load 60
 | |
|               62:  58(i8vec2)   VectorShuffle 61 61 0 1
 | |
|               63:    42(bool)   GroupNonUniformAllEqual 44 62
 | |
|               64:     31(int)   Select 63 54 41
 | |
|               65:     38(ptr)   AccessChain 35(data) 57 37
 | |
|                                 Store 65 64
 | |
|               66:      6(int)   Load 8(invocation)
 | |
|               69:     59(ptr)   AccessChain 35(data) 67 41
 | |
|               70:  18(i8vec4)   Load 69
 | |
|               71:  68(i8vec3)   VectorShuffle 70 70 0 1 2
 | |
|               72:    42(bool)   GroupNonUniformAllEqual 44 71
 | |
|               73:     31(int)   Select 72 54 41
 | |
|               74:     38(ptr)   AccessChain 35(data) 66 37
 | |
|                                 Store 74 73
 | |
|               75:      6(int)   Load 8(invocation)
 | |
|               77:     59(ptr)   AccessChain 35(data) 76 41
 | |
|               78:  18(i8vec4)   Load 77
 | |
|               79:    42(bool)   GroupNonUniformAllEqual 44 78
 | |
|               80:     31(int)   Select 79 54 41
 | |
|               81:     38(ptr)   AccessChain 35(data) 75 37
 | |
|                                 Store 81 80
 | |
|               82:      6(int)   Load 8(invocation)
 | |
|               84:     83(ptr)   AccessChain 35(data) 41 54 49
 | |
|               85:  19(int8_t)   Load 84
 | |
|               86:    42(bool)   GroupNonUniformAllEqual 44 85
 | |
|               87:     31(int)   Select 86 54 41
 | |
|               88:     38(ptr)   AccessChain 35(data) 82 37
 | |
|                                 Store 88 87
 | |
|               89:      6(int)   Load 8(invocation)
 | |
|               92:     91(ptr)   AccessChain 35(data) 54 54
 | |
|               93:  20(i8vec4)   Load 92
 | |
|               94:  90(i8vec2)   VectorShuffle 93 93 0 1
 | |
|               95:    42(bool)   GroupNonUniformAllEqual 44 94
 | |
|               96:     31(int)   Select 95 54 41
 | |
|               97:     38(ptr)   AccessChain 35(data) 89 37
 | |
|                                 Store 97 96
 | |
|               98:      6(int)   Load 8(invocation)
 | |
|              100:     91(ptr)   AccessChain 35(data) 67 54
 | |
|              101:  20(i8vec4)   Load 100
 | |
|              102:  99(i8vec3)   VectorShuffle 101 101 0 1 2
 | |
|              103:    42(bool)   GroupNonUniformAllEqual 44 102
 | |
|              104:     31(int)   Select 103 54 41
 | |
|              105:     38(ptr)   AccessChain 35(data) 98 37
 | |
|                                 Store 105 104
 | |
|              106:      6(int)   Load 8(invocation)
 | |
|              107:     91(ptr)   AccessChain 35(data) 76 54
 | |
|              108:  20(i8vec4)   Load 107
 | |
|              109:    42(bool)   GroupNonUniformAllEqual 44 108
 | |
|              110:     31(int)   Select 109 54 41
 | |
|              111:     38(ptr)   AccessChain 35(data) 106 37
 | |
|                                 Store 111 110
 | |
|              112:      6(int)   Load 8(invocation)
 | |
|              114:    113(ptr)   AccessChain 35(data) 41 67 49
 | |
|              115: 21(int16_t)   Load 114
 | |
|              116:    42(bool)   GroupNonUniformAllEqual 44 115
 | |
|              117:     31(int)   Select 116 54 41
 | |
|              118:     38(ptr)   AccessChain 35(data) 112 37
 | |
|                                 Store 118 117
 | |
|              119:      6(int)   Load 8(invocation)
 | |
|              122:    121(ptr)   AccessChain 35(data) 54 67
 | |
|              123: 22(i16vec4)   Load 122
 | |
|              124:120(i16vec2)   VectorShuffle 123 123 0 1
 | |
|              125:    42(bool)   GroupNonUniformAllEqual 44 124
 | |
|              126:     31(int)   Select 125 54 41
 | |
|              127:     38(ptr)   AccessChain 35(data) 119 37
 | |
|                                 Store 127 126
 | |
|              128:      6(int)   Load 8(invocation)
 | |
|              130:    121(ptr)   AccessChain 35(data) 67 67
 | |
|              131: 22(i16vec4)   Load 130
 | |
|              132:129(i16vec3)   VectorShuffle 131 131 0 1 2
 | |
|              133:    42(bool)   GroupNonUniformAllEqual 44 132
 | |
|              134:     31(int)   Select 133 54 41
 | |
|              135:     38(ptr)   AccessChain 35(data) 128 37
 | |
|                                 Store 135 134
 | |
|              136:      6(int)   Load 8(invocation)
 | |
|              137:    121(ptr)   AccessChain 35(data) 76 67
 | |
|              138: 22(i16vec4)   Load 137
 | |
|              139:    42(bool)   GroupNonUniformAllEqual 44 138
 | |
|              140:     31(int)   Select 139 54 41
 | |
|              141:     38(ptr)   AccessChain 35(data) 136 37
 | |
|                                 Store 141 140
 | |
|              142:      6(int)   Load 8(invocation)
 | |
|              144:    143(ptr)   AccessChain 35(data) 41 76 49
 | |
|              145: 23(int16_t)   Load 144
 | |
|              146:    42(bool)   GroupNonUniformAllEqual 44 145
 | |
|              147:     31(int)   Select 146 54 41
 | |
|              148:     38(ptr)   AccessChain 35(data) 142 37
 | |
|                                 Store 148 147
 | |
|              149:      6(int)   Load 8(invocation)
 | |
|              152:    151(ptr)   AccessChain 35(data) 54 76
 | |
|              153: 24(i16vec4)   Load 152
 | |
|              154:150(i16vec2)   VectorShuffle 153 153 0 1
 | |
|              155:    42(bool)   GroupNonUniformAllEqual 44 154
 | |
|              156:     31(int)   Select 155 54 41
 | |
|              157:     38(ptr)   AccessChain 35(data) 149 37
 | |
|                                 Store 157 156
 | |
|              158:      6(int)   Load 8(invocation)
 | |
|              160:    151(ptr)   AccessChain 35(data) 67 76
 | |
|              161: 24(i16vec4)   Load 160
 | |
|              162:159(i16vec3)   VectorShuffle 161 161 0 1 2
 | |
|              163:    42(bool)   GroupNonUniformAllEqual 44 162
 | |
|              164:     31(int)   Select 163 54 41
 | |
|              165:     38(ptr)   AccessChain 35(data) 158 37
 | |
|                                 Store 165 164
 | |
|              166:      6(int)   Load 8(invocation)
 | |
|              167:    151(ptr)   AccessChain 35(data) 76 76
 | |
|              168: 24(i16vec4)   Load 167
 | |
|              169:    42(bool)   GroupNonUniformAllEqual 44 168
 | |
|              170:     31(int)   Select 169 54 41
 | |
|              171:     38(ptr)   AccessChain 35(data) 166 37
 | |
|                                 Store 171 170
 | |
|                                 Branch 47
 | |
|              172:               Label
 | |
|              173:      6(int)   Load 8(invocation)
 | |
|              174:     38(ptr)   AccessChain 35(data) 173 37
 | |
|              175:     31(int)   Load 174
 | |
|              176:    42(bool)   SLessThan 175 41
 | |
|              177:    42(bool)   GroupNonUniformAny 44 176
 | |
|                                 SelectionMerge 179 None
 | |
|                                 BranchConditional 177 178 179
 | |
|              178:                 Label
 | |
|              180:      6(int)     Load 8(invocation)
 | |
|              183:    182(ptr)     AccessChain 35(data) 41 181 49
 | |
|              184: 25(int64_t)     Load 183
 | |
|              185:    42(bool)     GroupNonUniformAllEqual 44 184
 | |
|              186:     31(int)     Select 185 54 41
 | |
|              187:     38(ptr)     AccessChain 35(data) 180 37
 | |
|                                   Store 187 186
 | |
|              188:      6(int)     Load 8(invocation)
 | |
|              191:    190(ptr)     AccessChain 35(data) 54 181
 | |
|              192: 26(i64vec4)     Load 191
 | |
|              193:189(i64vec2)     VectorShuffle 192 192 0 1
 | |
|              194:    42(bool)     GroupNonUniformAllEqual 44 193
 | |
|              195:     31(int)     Select 194 54 41
 | |
|              196:     38(ptr)     AccessChain 35(data) 188 37
 | |
|                                   Store 196 195
 | |
|              197:      6(int)     Load 8(invocation)
 | |
|              199:    190(ptr)     AccessChain 35(data) 67 181
 | |
|              200: 26(i64vec4)     Load 199
 | |
|              201:198(i64vec3)     VectorShuffle 200 200 0 1 2
 | |
|              202:    42(bool)     GroupNonUniformAllEqual 44 201
 | |
|              203:     31(int)     Select 202 54 41
 | |
|              204:     38(ptr)     AccessChain 35(data) 197 37
 | |
|                                   Store 204 203
 | |
|              205:      6(int)     Load 8(invocation)
 | |
|              206:    190(ptr)     AccessChain 35(data) 76 181
 | |
|              207: 26(i64vec4)     Load 206
 | |
|              208:    42(bool)     GroupNonUniformAllEqual 44 207
 | |
|              209:     31(int)     Select 208 54 41
 | |
|              210:     38(ptr)     AccessChain 35(data) 205 37
 | |
|                                   Store 210 209
 | |
|              211:      6(int)     Load 8(invocation)
 | |
|              214:    213(ptr)     AccessChain 35(data) 41 212 49
 | |
|              215: 27(int64_t)     Load 214
 | |
|              216:    42(bool)     GroupNonUniformAllEqual 44 215
 | |
|              217:     31(int)     Select 216 54 41
 | |
|              218:     38(ptr)     AccessChain 35(data) 211 37
 | |
|                                   Store 218 217
 | |
|              219:      6(int)     Load 8(invocation)
 | |
|              222:    221(ptr)     AccessChain 35(data) 54 212
 | |
|              223: 28(i64vec4)     Load 222
 | |
|              224:220(i64vec2)     VectorShuffle 223 223 0 1
 | |
|              225:    42(bool)     GroupNonUniformAllEqual 44 224
 | |
|              226:     31(int)     Select 225 54 41
 | |
|              227:     38(ptr)     AccessChain 35(data) 219 37
 | |
|                                   Store 227 226
 | |
|              228:      6(int)     Load 8(invocation)
 | |
|              230:    221(ptr)     AccessChain 35(data) 67 212
 | |
|              231: 28(i64vec4)     Load 230
 | |
|              232:229(i64vec3)     VectorShuffle 231 231 0 1 2
 | |
|              233:    42(bool)     GroupNonUniformAllEqual 44 232
 | |
|              234:     31(int)     Select 233 54 41
 | |
|              235:     38(ptr)     AccessChain 35(data) 228 37
 | |
|                                   Store 235 234
 | |
|              236:      6(int)     Load 8(invocation)
 | |
|              237:    221(ptr)     AccessChain 35(data) 76 212
 | |
|              238: 28(i64vec4)     Load 237
 | |
|              239:    42(bool)     GroupNonUniformAllEqual 44 238
 | |
|              240:     31(int)     Select 239 54 41
 | |
|              241:     38(ptr)     AccessChain 35(data) 236 37
 | |
|                                   Store 241 240
 | |
|              242:      6(int)     Load 8(invocation)
 | |
|              245:    244(ptr)     AccessChain 35(data) 41 243 49
 | |
|              246:29(float16_t)     Load 245
 | |
|              247:    42(bool)     GroupNonUniformAllEqual 44 246
 | |
|              248:     31(int)     Select 247 54 41
 | |
|              249:     38(ptr)     AccessChain 35(data) 242 37
 | |
|                                   Store 249 248
 | |
|              250:      6(int)     Load 8(invocation)
 | |
|              253:    252(ptr)     AccessChain 35(data) 54 243
 | |
|              254: 30(f16vec4)     Load 253
 | |
|              255:251(f16vec2)     VectorShuffle 254 254 0 1
 | |
|              256:    42(bool)     GroupNonUniformAllEqual 44 255
 | |
|              257:     31(int)     Select 256 54 41
 | |
|              258:     38(ptr)     AccessChain 35(data) 250 37
 | |
|                                   Store 258 257
 | |
|              259:      6(int)     Load 8(invocation)
 | |
|              261:    252(ptr)     AccessChain 35(data) 67 243
 | |
|              262: 30(f16vec4)     Load 261
 | |
|              263:260(f16vec3)     VectorShuffle 262 262 0 1 2
 | |
|              264:    42(bool)     GroupNonUniformAllEqual 44 263
 | |
|              265:     31(int)     Select 264 54 41
 | |
|              266:     38(ptr)     AccessChain 35(data) 259 37
 | |
|                                   Store 266 265
 | |
|              267:      6(int)     Load 8(invocation)
 | |
|              268:    252(ptr)     AccessChain 35(data) 76 243
 | |
|              269: 30(f16vec4)     Load 268
 | |
|              270:    42(bool)     GroupNonUniformAllEqual 44 269
 | |
|              271:     31(int)     Select 270 54 41
 | |
|              272:     38(ptr)     AccessChain 35(data) 267 37
 | |
|                                   Store 272 271
 | |
|                                   Branch 179
 | |
|              179:               Label
 | |
|                                 Branch 47
 | |
|               47:             Label
 | |
|                               Return
 | |
|                               FunctionEnd
 | 
