wgpu/naga/tests/out/spv/binding-arrays.spvasm
2023-10-25 14:25:04 -04:00

552 lines
16 KiB
Plaintext

; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 428
OpCapability Shader
OpCapability ImageQuery
OpCapability ShaderNonUniform
OpExtension "SPV_EXT_descriptor_indexing"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %52 "main" %47 %50
OpExecutionMode %52 OriginUpperLeft
OpMemberDecorate %4 0 Offset 0
OpMemberDecorate %21 0 Offset 0
OpDecorate %24 DescriptorSet 0
OpDecorate %24 Binding 0
OpDecorate %28 DescriptorSet 0
OpDecorate %28 Binding 1
OpDecorate %30 DescriptorSet 0
OpDecorate %30 Binding 2
OpDecorate %32 DescriptorSet 0
OpDecorate %32 Binding 3
OpDecorate %34 DescriptorSet 0
OpDecorate %34 Binding 4
OpDecorate %36 DescriptorSet 0
OpDecorate %36 Binding 5
OpDecorate %38 DescriptorSet 0
OpDecorate %38 Binding 6
OpDecorate %40 DescriptorSet 0
OpDecorate %40 Binding 7
OpDecorate %42 DescriptorSet 0
OpDecorate %42 Binding 8
OpDecorate %43 Block
OpMemberDecorate %43 0 Offset 0
OpDecorate %47 Location 0
OpDecorate %47 Flat
OpDecorate %50 Location 0
OpDecorate %91 NonUniform
OpDecorate %114 NonUniform
OpDecorate %116 NonUniform
OpDecorate %141 NonUniform
OpDecorate %143 NonUniform
OpDecorate %180 NonUniform
OpDecorate %208 NonUniform
OpDecorate %224 NonUniform
OpDecorate %240 NonUniform
OpDecorate %261 NonUniform
OpDecorate %263 NonUniform
OpDecorate %285 NonUniform
OpDecorate %287 NonUniform
OpDecorate %309 NonUniform
OpDecorate %311 NonUniform
OpDecorate %333 NonUniform
OpDecorate %335 NonUniform
OpDecorate %357 NonUniform
OpDecorate %359 NonUniform
OpDecorate %381 NonUniform
OpDecorate %383 NonUniform
OpDecorate %406 NonUniform
%2 = OpTypeVoid
%3 = OpTypeInt 32 0
%4 = OpTypeStruct %3
%6 = OpTypeFloat 32
%5 = OpTypeImage %6 2D 0 0 0 1 Unknown
%7 = OpTypeRuntimeArray %5
%9 = OpConstant %3 5
%8 = OpTypeArray %5 %9
%10 = OpTypeImage %6 2D 0 1 0 1 Unknown
%11 = OpTypeArray %10 %9
%12 = OpTypeImage %6 2D 0 0 1 1 Unknown
%13 = OpTypeArray %12 %9
%14 = OpTypeImage %6 2D 1 0 0 1 Unknown
%15 = OpTypeArray %14 %9
%16 = OpTypeImage %6 2D 0 0 0 2 Rgba32f
%17 = OpTypeArray %16 %9
%18 = OpTypeSampler
%19 = OpTypeArray %18 %9
%20 = OpTypeArray %18 %9
%21 = OpTypeStruct %3
%22 = OpTypeVector %6 4
%23 = OpTypeVector %3 2
%27 = OpConstant %3 10
%26 = OpTypeArray %5 %27
%25 = OpTypePointer UniformConstant %26
%24 = OpVariable %25 UniformConstant
%29 = OpTypePointer UniformConstant %8
%28 = OpVariable %29 UniformConstant
%31 = OpTypePointer UniformConstant %11
%30 = OpVariable %31 UniformConstant
%33 = OpTypePointer UniformConstant %13
%32 = OpVariable %33 UniformConstant
%35 = OpTypePointer UniformConstant %15
%34 = OpVariable %35 UniformConstant
%37 = OpTypePointer UniformConstant %17
%36 = OpVariable %37 UniformConstant
%39 = OpTypePointer UniformConstant %19
%38 = OpVariable %39 UniformConstant
%41 = OpTypePointer UniformConstant %20
%40 = OpVariable %41 UniformConstant
%43 = OpTypeStruct %4
%44 = OpTypePointer Uniform %43
%42 = OpVariable %44 Uniform
%48 = OpTypePointer Input %3
%47 = OpVariable %48 Input
%51 = OpTypePointer Output %22
%50 = OpVariable %51 Output
%53 = OpTypeFunction %2
%54 = OpTypePointer Uniform %4
%55 = OpConstant %3 0
%57 = OpConstantComposite %23 %55 %55
%58 = OpConstant %6 0.0
%59 = OpConstantComposite %22 %58 %58 %58 %58
%60 = OpTypeVector %6 2
%61 = OpConstantComposite %60 %58 %58
%62 = OpTypeInt 32 1
%63 = OpConstant %62 0
%64 = OpTypeVector %62 2
%65 = OpConstantComposite %64 %63 %63
%67 = OpTypePointer Function %3
%69 = OpTypePointer Function %23
%71 = OpTypePointer Function %6
%73 = OpTypePointer Function %22
%75 = OpTypePointer Uniform %3
%79 = OpTypePointer UniformConstant %5
%97 = OpTypePointer UniformConstant %18
%100 = OpTypeSampledImage %5
%121 = OpTypePointer UniformConstant %14
%124 = OpTypePointer UniformConstant %18
%127 = OpTypeSampledImage %14
%150 = OpTypeBool
%151 = OpConstantNull %22
%157 = OpTypeVector %150 2
%193 = OpTypePointer UniformConstant %10
%196 = OpTypeVector %3 3
%228 = OpTypePointer UniformConstant %12
%388 = OpTypePointer UniformConstant %16
%52 = OpFunction %2 None %53
%45 = OpLabel
%68 = OpVariable %69 Function %57
%72 = OpVariable %73 Function %59
%66 = OpVariable %67 Function %55
%70 = OpVariable %71 Function %58
%49 = OpLoad %3 %47
%46 = OpCompositeConstruct %21 %49
%56 = OpAccessChain %54 %42 %55
OpBranch %74
%74 = OpLabel
%76 = OpAccessChain %75 %56 %55
%77 = OpLoad %3 %76
%78 = OpCompositeExtract %3 %46 0
%80 = OpAccessChain %79 %24 %55
%81 = OpLoad %5 %80
%82 = OpImageQuerySizeLod %23 %81 %55
%83 = OpLoad %23 %68
%84 = OpIAdd %23 %83 %82
OpStore %68 %84
%85 = OpAccessChain %79 %24 %77
%86 = OpLoad %5 %85
%87 = OpImageQuerySizeLod %23 %86 %55
%88 = OpLoad %23 %68
%89 = OpIAdd %23 %88 %87
OpStore %68 %89
%90 = OpAccessChain %79 %24 %78
%91 = OpLoad %5 %90
%92 = OpImageQuerySizeLod %23 %91 %55
%93 = OpLoad %23 %68
%94 = OpIAdd %23 %93 %92
OpStore %68 %94
%95 = OpAccessChain %79 %28 %55
%96 = OpLoad %5 %95
%98 = OpAccessChain %97 %38 %55
%99 = OpLoad %18 %98
%101 = OpSampledImage %100 %96 %99
%102 = OpImageGather %22 %101 %61 %55
%103 = OpLoad %22 %72
%104 = OpFAdd %22 %103 %102
OpStore %72 %104
%105 = OpAccessChain %79 %28 %77
%106 = OpLoad %5 %105
%107 = OpAccessChain %97 %38 %77
%108 = OpLoad %18 %107
%109 = OpSampledImage %100 %106 %108
%110 = OpImageGather %22 %109 %61 %55
%111 = OpLoad %22 %72
%112 = OpFAdd %22 %111 %110
OpStore %72 %112
%113 = OpAccessChain %79 %28 %78
%114 = OpLoad %5 %113
%115 = OpAccessChain %97 %38 %78
%116 = OpLoad %18 %115
%117 = OpSampledImage %100 %114 %116
%118 = OpImageGather %22 %117 %61 %55
%119 = OpLoad %22 %72
%120 = OpFAdd %22 %119 %118
OpStore %72 %120
%122 = OpAccessChain %121 %34 %55
%123 = OpLoad %14 %122
%125 = OpAccessChain %124 %40 %55
%126 = OpLoad %18 %125
%128 = OpSampledImage %127 %123 %126
%129 = OpImageDrefGather %22 %128 %61 %58
%130 = OpLoad %22 %72
%131 = OpFAdd %22 %130 %129
OpStore %72 %131
%132 = OpAccessChain %121 %34 %77
%133 = OpLoad %14 %132
%134 = OpAccessChain %124 %40 %77
%135 = OpLoad %18 %134
%136 = OpSampledImage %127 %133 %135
%137 = OpImageDrefGather %22 %136 %61 %58
%138 = OpLoad %22 %72
%139 = OpFAdd %22 %138 %137
OpStore %72 %139
%140 = OpAccessChain %121 %34 %78
%141 = OpLoad %14 %140
%142 = OpAccessChain %124 %40 %78
%143 = OpLoad %18 %142
%144 = OpSampledImage %127 %141 %143
%145 = OpImageDrefGather %22 %144 %61 %58
%146 = OpLoad %22 %72
%147 = OpFAdd %22 %146 %145
OpStore %72 %147
%148 = OpAccessChain %79 %24 %55
%149 = OpLoad %5 %148
%152 = OpImageQueryLevels %62 %149
%153 = OpULessThan %150 %63 %152
OpSelectionMerge %154 None
OpBranchConditional %153 %155 %154
%155 = OpLabel
%156 = OpImageQuerySizeLod %64 %149 %63
%158 = OpULessThan %157 %65 %156
%159 = OpAll %150 %158
OpBranchConditional %159 %160 %154
%160 = OpLabel
%161 = OpImageFetch %22 %149 %65 Lod %63
OpBranch %154
%154 = OpLabel
%162 = OpPhi %22 %151 %74 %151 %155 %161 %160
%163 = OpLoad %22 %72
%164 = OpFAdd %22 %163 %162
OpStore %72 %164
%165 = OpAccessChain %79 %24 %77
%166 = OpLoad %5 %165
%167 = OpImageQueryLevels %62 %166
%168 = OpULessThan %150 %63 %167
OpSelectionMerge %169 None
OpBranchConditional %168 %170 %169
%170 = OpLabel
%171 = OpImageQuerySizeLod %64 %166 %63
%172 = OpULessThan %157 %65 %171
%173 = OpAll %150 %172
OpBranchConditional %173 %174 %169
%174 = OpLabel
%175 = OpImageFetch %22 %166 %65 Lod %63
OpBranch %169
%169 = OpLabel
%176 = OpPhi %22 %151 %154 %151 %170 %175 %174
%177 = OpLoad %22 %72
%178 = OpFAdd %22 %177 %176
OpStore %72 %178
%179 = OpAccessChain %79 %24 %78
%180 = OpLoad %5 %179
%181 = OpImageQueryLevels %62 %180
%182 = OpULessThan %150 %63 %181
OpSelectionMerge %183 None
OpBranchConditional %182 %184 %183
%184 = OpLabel
%185 = OpImageQuerySizeLod %64 %180 %63
%186 = OpULessThan %157 %65 %185
%187 = OpAll %150 %186
OpBranchConditional %187 %188 %183
%188 = OpLabel
%189 = OpImageFetch %22 %180 %65 Lod %63
OpBranch %183
%183 = OpLabel
%190 = OpPhi %22 %151 %169 %151 %184 %189 %188
%191 = OpLoad %22 %72
%192 = OpFAdd %22 %191 %190
OpStore %72 %192
%194 = OpAccessChain %193 %30 %55
%195 = OpLoad %10 %194
%197 = OpImageQuerySizeLod %196 %195 %55
%198 = OpCompositeExtract %3 %197 2
%199 = OpLoad %3 %66
%200 = OpIAdd %3 %199 %198
OpStore %66 %200
%201 = OpAccessChain %193 %30 %77
%202 = OpLoad %10 %201
%203 = OpImageQuerySizeLod %196 %202 %55
%204 = OpCompositeExtract %3 %203 2
%205 = OpLoad %3 %66
%206 = OpIAdd %3 %205 %204
OpStore %66 %206
%207 = OpAccessChain %193 %30 %78
%208 = OpLoad %10 %207
%209 = OpImageQuerySizeLod %196 %208 %55
%210 = OpCompositeExtract %3 %209 2
%211 = OpLoad %3 %66
%212 = OpIAdd %3 %211 %210
OpStore %66 %212
%213 = OpAccessChain %79 %28 %55
%214 = OpLoad %5 %213
%215 = OpImageQueryLevels %3 %214
%216 = OpLoad %3 %66
%217 = OpIAdd %3 %216 %215
OpStore %66 %217
%218 = OpAccessChain %79 %28 %77
%219 = OpLoad %5 %218
%220 = OpImageQueryLevels %3 %219
%221 = OpLoad %3 %66
%222 = OpIAdd %3 %221 %220
OpStore %66 %222
%223 = OpAccessChain %79 %28 %78
%224 = OpLoad %5 %223
%225 = OpImageQueryLevels %3 %224
%226 = OpLoad %3 %66
%227 = OpIAdd %3 %226 %225
OpStore %66 %227
%229 = OpAccessChain %228 %32 %55
%230 = OpLoad %12 %229
%231 = OpImageQuerySamples %3 %230
%232 = OpLoad %3 %66
%233 = OpIAdd %3 %232 %231
OpStore %66 %233
%234 = OpAccessChain %228 %32 %77
%235 = OpLoad %12 %234
%236 = OpImageQuerySamples %3 %235
%237 = OpLoad %3 %66
%238 = OpIAdd %3 %237 %236
OpStore %66 %238
%239 = OpAccessChain %228 %32 %78
%240 = OpLoad %12 %239
%241 = OpImageQuerySamples %3 %240
%242 = OpLoad %3 %66
%243 = OpIAdd %3 %242 %241
OpStore %66 %243
%244 = OpAccessChain %79 %28 %55
%245 = OpLoad %5 %244
%246 = OpAccessChain %97 %38 %55
%247 = OpLoad %18 %246
%248 = OpSampledImage %100 %245 %247
%249 = OpImageSampleImplicitLod %22 %248 %61
%250 = OpLoad %22 %72
%251 = OpFAdd %22 %250 %249
OpStore %72 %251
%252 = OpAccessChain %79 %28 %77
%253 = OpLoad %5 %252
%254 = OpAccessChain %97 %38 %77
%255 = OpLoad %18 %254
%256 = OpSampledImage %100 %253 %255
%257 = OpImageSampleImplicitLod %22 %256 %61
%258 = OpLoad %22 %72
%259 = OpFAdd %22 %258 %257
OpStore %72 %259
%260 = OpAccessChain %79 %28 %78
%261 = OpLoad %5 %260
%262 = OpAccessChain %97 %38 %78
%263 = OpLoad %18 %262
%264 = OpSampledImage %100 %261 %263
%265 = OpImageSampleImplicitLod %22 %264 %61
%266 = OpLoad %22 %72
%267 = OpFAdd %22 %266 %265
OpStore %72 %267
%268 = OpAccessChain %79 %28 %55
%269 = OpLoad %5 %268
%270 = OpAccessChain %97 %38 %55
%271 = OpLoad %18 %270
%272 = OpSampledImage %100 %269 %271
%273 = OpImageSampleImplicitLod %22 %272 %61 Bias %58
%274 = OpLoad %22 %72
%275 = OpFAdd %22 %274 %273
OpStore %72 %275
%276 = OpAccessChain %79 %28 %77
%277 = OpLoad %5 %276
%278 = OpAccessChain %97 %38 %77
%279 = OpLoad %18 %278
%280 = OpSampledImage %100 %277 %279
%281 = OpImageSampleImplicitLod %22 %280 %61 Bias %58
%282 = OpLoad %22 %72
%283 = OpFAdd %22 %282 %281
OpStore %72 %283
%284 = OpAccessChain %79 %28 %78
%285 = OpLoad %5 %284
%286 = OpAccessChain %97 %38 %78
%287 = OpLoad %18 %286
%288 = OpSampledImage %100 %285 %287
%289 = OpImageSampleImplicitLod %22 %288 %61 Bias %58
%290 = OpLoad %22 %72
%291 = OpFAdd %22 %290 %289
OpStore %72 %291
%292 = OpAccessChain %121 %34 %55
%293 = OpLoad %14 %292
%294 = OpAccessChain %124 %40 %55
%295 = OpLoad %18 %294
%296 = OpSampledImage %127 %293 %295
%297 = OpImageSampleDrefImplicitLod %6 %296 %61 %58
%298 = OpLoad %6 %70
%299 = OpFAdd %6 %298 %297
OpStore %70 %299
%300 = OpAccessChain %121 %34 %77
%301 = OpLoad %14 %300
%302 = OpAccessChain %124 %40 %77
%303 = OpLoad %18 %302
%304 = OpSampledImage %127 %301 %303
%305 = OpImageSampleDrefImplicitLod %6 %304 %61 %58
%306 = OpLoad %6 %70
%307 = OpFAdd %6 %306 %305
OpStore %70 %307
%308 = OpAccessChain %121 %34 %78
%309 = OpLoad %14 %308
%310 = OpAccessChain %124 %40 %78
%311 = OpLoad %18 %310
%312 = OpSampledImage %127 %309 %311
%313 = OpImageSampleDrefImplicitLod %6 %312 %61 %58
%314 = OpLoad %6 %70
%315 = OpFAdd %6 %314 %313
OpStore %70 %315
%316 = OpAccessChain %121 %34 %55
%317 = OpLoad %14 %316
%318 = OpAccessChain %124 %40 %55
%319 = OpLoad %18 %318
%320 = OpSampledImage %127 %317 %319
%321 = OpImageSampleDrefExplicitLod %6 %320 %61 %58 Lod %58
%322 = OpLoad %6 %70
%323 = OpFAdd %6 %322 %321
OpStore %70 %323
%324 = OpAccessChain %121 %34 %77
%325 = OpLoad %14 %324
%326 = OpAccessChain %124 %40 %77
%327 = OpLoad %18 %326
%328 = OpSampledImage %127 %325 %327
%329 = OpImageSampleDrefExplicitLod %6 %328 %61 %58 Lod %58
%330 = OpLoad %6 %70
%331 = OpFAdd %6 %330 %329
OpStore %70 %331
%332 = OpAccessChain %121 %34 %78
%333 = OpLoad %14 %332
%334 = OpAccessChain %124 %40 %78
%335 = OpLoad %18 %334
%336 = OpSampledImage %127 %333 %335
%337 = OpImageSampleDrefExplicitLod %6 %336 %61 %58 Lod %58
%338 = OpLoad %6 %70
%339 = OpFAdd %6 %338 %337
OpStore %70 %339
%340 = OpAccessChain %79 %28 %55
%341 = OpLoad %5 %340
%342 = OpAccessChain %97 %38 %55
%343 = OpLoad %18 %342
%344 = OpSampledImage %100 %341 %343
%345 = OpImageSampleExplicitLod %22 %344 %61 Grad %61 %61
%346 = OpLoad %22 %72
%347 = OpFAdd %22 %346 %345
OpStore %72 %347
%348 = OpAccessChain %79 %28 %77
%349 = OpLoad %5 %348
%350 = OpAccessChain %97 %38 %77
%351 = OpLoad %18 %350
%352 = OpSampledImage %100 %349 %351
%353 = OpImageSampleExplicitLod %22 %352 %61 Grad %61 %61
%354 = OpLoad %22 %72
%355 = OpFAdd %22 %354 %353
OpStore %72 %355
%356 = OpAccessChain %79 %28 %78
%357 = OpLoad %5 %356
%358 = OpAccessChain %97 %38 %78
%359 = OpLoad %18 %358
%360 = OpSampledImage %100 %357 %359
%361 = OpImageSampleExplicitLod %22 %360 %61 Grad %61 %61
%362 = OpLoad %22 %72
%363 = OpFAdd %22 %362 %361
OpStore %72 %363
%364 = OpAccessChain %79 %28 %55
%365 = OpLoad %5 %364
%366 = OpAccessChain %97 %38 %55
%367 = OpLoad %18 %366
%368 = OpSampledImage %100 %365 %367
%369 = OpImageSampleExplicitLod %22 %368 %61 Lod %58
%370 = OpLoad %22 %72
%371 = OpFAdd %22 %370 %369
OpStore %72 %371
%372 = OpAccessChain %79 %28 %77
%373 = OpLoad %5 %372
%374 = OpAccessChain %97 %38 %77
%375 = OpLoad %18 %374
%376 = OpSampledImage %100 %373 %375
%377 = OpImageSampleExplicitLod %22 %376 %61 Lod %58
%378 = OpLoad %22 %72
%379 = OpFAdd %22 %378 %377
OpStore %72 %379
%380 = OpAccessChain %79 %28 %78
%381 = OpLoad %5 %380
%382 = OpAccessChain %97 %38 %78
%383 = OpLoad %18 %382
%384 = OpSampledImage %100 %381 %383
%385 = OpImageSampleExplicitLod %22 %384 %61 Lod %58
%386 = OpLoad %22 %72
%387 = OpFAdd %22 %386 %385
OpStore %72 %387
%389 = OpAccessChain %388 %36 %55
%390 = OpLoad %16 %389
%391 = OpLoad %22 %72
%392 = OpImageQuerySize %64 %390
%393 = OpULessThan %157 %65 %392
%394 = OpAll %150 %393
OpSelectionMerge %395 None
OpBranchConditional %394 %396 %395
%396 = OpLabel
OpImageWrite %390 %65 %391
OpBranch %395
%395 = OpLabel
%397 = OpAccessChain %388 %36 %77
%398 = OpLoad %16 %397
%399 = OpLoad %22 %72
%400 = OpImageQuerySize %64 %398
%401 = OpULessThan %157 %65 %400
%402 = OpAll %150 %401
OpSelectionMerge %403 None
OpBranchConditional %402 %404 %403
%404 = OpLabel
OpImageWrite %398 %65 %399
OpBranch %403
%403 = OpLabel
%405 = OpAccessChain %388 %36 %78
%406 = OpLoad %16 %405
%407 = OpLoad %22 %72
%408 = OpImageQuerySize %64 %406
%409 = OpULessThan %157 %65 %408
%410 = OpAll %150 %409
OpSelectionMerge %411 None
OpBranchConditional %410 %412 %411
%412 = OpLabel
OpImageWrite %406 %65 %407
OpBranch %411
%411 = OpLabel
%413 = OpLoad %23 %68
%414 = OpLoad %3 %66
%415 = OpCompositeConstruct %23 %414 %414
%416 = OpIAdd %23 %413 %415
%417 = OpConvertUToF %60 %416
%418 = OpLoad %22 %72
%419 = OpCompositeExtract %6 %417 0
%420 = OpCompositeExtract %6 %417 1
%421 = OpCompositeExtract %6 %417 0
%422 = OpCompositeExtract %6 %417 1
%423 = OpCompositeConstruct %22 %419 %420 %421 %422
%424 = OpFAdd %22 %418 %423
%425 = OpLoad %6 %70
%426 = OpCompositeConstruct %22 %425 %425 %425 %425
%427 = OpFAdd %22 %424 %426
OpStore %50 %427
OpReturn
OpFunctionEnd