Files
wgpu/tests/out/spv/image.spvasm
teoxoy a730236b68 [wgsl-in] eagerly evaluate const-expressions
[wgsl-in] support const-expressions in attributes

allow `Splat` as an evaluated const-expression type
2023-10-12 13:13:26 +02:00

696 lines
22 KiB
Plaintext

; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 522
OpCapability Shader
OpCapability Image1D
OpCapability Sampled1D
OpCapability SampledCubeArray
OpCapability ImageQuery
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %78 "main" %75
OpEntryPoint GLCompute %169 "depth_load" %167
OpEntryPoint Vertex %190 "queries" %188
OpEntryPoint Vertex %242 "levels_queries" %241
OpEntryPoint Fragment %274 "texture_sample" %273
OpEntryPoint Fragment %420 "texture_sample_comparison" %418
OpEntryPoint Fragment %475 "gather" %474
OpEntryPoint Fragment %510 "depth_no_comparison" %509
OpExecutionMode %78 LocalSize 16 1 1
OpExecutionMode %169 LocalSize 16 1 1
OpExecutionMode %274 OriginUpperLeft
OpExecutionMode %420 OriginUpperLeft
OpExecutionMode %475 OriginUpperLeft
OpExecutionMode %510 OriginUpperLeft
OpName %31 "image_mipmapped_src"
OpName %33 "image_multisampled_src"
OpName %35 "image_depth_multisampled_src"
OpName %37 "image_storage_src"
OpName %39 "image_array_src"
OpName %41 "image_dup_src"
OpName %43 "image_1d_src"
OpName %45 "image_dst"
OpName %47 "image_1d"
OpName %49 "image_2d"
OpName %51 "image_2d_u32"
OpName %52 "image_2d_i32"
OpName %54 "image_2d_array"
OpName %56 "image_cube"
OpName %58 "image_cube_array"
OpName %60 "image_3d"
OpName %62 "image_aa"
OpName %64 "sampler_reg"
OpName %66 "sampler_cmp"
OpName %68 "image_2d_depth"
OpName %70 "image_2d_array_depth"
OpName %72 "image_cube_depth"
OpName %75 "local_id"
OpName %78 "main"
OpName %167 "local_id"
OpName %169 "depth_load"
OpName %190 "queries"
OpName %242 "levels_queries"
OpName %269 "a"
OpName %274 "texture_sample"
OpName %414 "a"
OpName %420 "texture_sample_comparison"
OpName %475 "gather"
OpName %510 "depth_no_comparison"
OpDecorate %31 DescriptorSet 0
OpDecorate %31 Binding 0
OpDecorate %33 DescriptorSet 0
OpDecorate %33 Binding 3
OpDecorate %35 DescriptorSet 0
OpDecorate %35 Binding 4
OpDecorate %37 NonWritable
OpDecorate %37 DescriptorSet 0
OpDecorate %37 Binding 1
OpDecorate %39 DescriptorSet 0
OpDecorate %39 Binding 5
OpDecorate %41 NonWritable
OpDecorate %41 DescriptorSet 0
OpDecorate %41 Binding 6
OpDecorate %43 DescriptorSet 0
OpDecorate %43 Binding 7
OpDecorate %45 NonReadable
OpDecorate %45 DescriptorSet 0
OpDecorate %45 Binding 2
OpDecorate %47 DescriptorSet 0
OpDecorate %47 Binding 0
OpDecorate %49 DescriptorSet 0
OpDecorate %49 Binding 1
OpDecorate %51 DescriptorSet 0
OpDecorate %51 Binding 2
OpDecorate %52 DescriptorSet 0
OpDecorate %52 Binding 3
OpDecorate %54 DescriptorSet 0
OpDecorate %54 Binding 4
OpDecorate %56 DescriptorSet 0
OpDecorate %56 Binding 5
OpDecorate %58 DescriptorSet 0
OpDecorate %58 Binding 6
OpDecorate %60 DescriptorSet 0
OpDecorate %60 Binding 7
OpDecorate %62 DescriptorSet 0
OpDecorate %62 Binding 8
OpDecorate %64 DescriptorSet 1
OpDecorate %64 Binding 0
OpDecorate %66 DescriptorSet 1
OpDecorate %66 Binding 1
OpDecorate %68 DescriptorSet 1
OpDecorate %68 Binding 2
OpDecorate %70 DescriptorSet 1
OpDecorate %70 Binding 3
OpDecorate %72 DescriptorSet 1
OpDecorate %72 Binding 4
OpDecorate %75 BuiltIn LocalInvocationId
OpDecorate %167 BuiltIn LocalInvocationId
OpDecorate %188 BuiltIn Position
OpDecorate %241 BuiltIn Position
OpDecorate %273 Location 0
OpDecorate %418 Location 0
OpDecorate %474 Location 0
OpDecorate %509 Location 0
%2 = OpTypeVoid
%4 = OpTypeInt 32 0
%3 = OpTypeImage %4 2D 0 0 0 1 Unknown
%5 = OpTypeImage %4 2D 0 0 1 1 Unknown
%7 = OpTypeFloat 32
%6 = OpTypeImage %7 2D 1 0 1 1 Unknown
%8 = OpTypeImage %4 2D 0 0 0 2 Rgba8ui
%9 = OpTypeImage %4 2D 0 1 0 1 Unknown
%10 = OpTypeImage %4 1D 0 0 0 2 R32ui
%11 = OpTypeImage %4 1D 0 0 0 1 Unknown
%12 = OpTypeVector %4 3
%14 = OpTypeInt 32 1
%13 = OpTypeVector %14 2
%15 = OpTypeImage %7 1D 0 0 0 1 Unknown
%16 = OpTypeImage %7 2D 0 0 0 1 Unknown
%17 = OpTypeImage %14 2D 0 0 0 1 Unknown
%18 = OpTypeImage %7 2D 0 1 0 1 Unknown
%19 = OpTypeImage %7 Cube 0 0 0 1 Unknown
%20 = OpTypeImage %7 Cube 0 1 0 1 Unknown
%21 = OpTypeImage %7 3D 0 0 0 1 Unknown
%22 = OpTypeImage %7 2D 0 0 1 1 Unknown
%23 = OpTypeVector %7 4
%24 = OpTypeSampler
%25 = OpTypeImage %7 2D 1 0 0 1 Unknown
%26 = OpTypeImage %7 2D 1 1 0 1 Unknown
%27 = OpTypeImage %7 Cube 1 0 0 1 Unknown
%28 = OpConstant %14 3
%29 = OpConstant %14 1
%30 = OpConstantComposite %13 %28 %29
%32 = OpTypePointer UniformConstant %3
%31 = OpVariable %32 UniformConstant
%34 = OpTypePointer UniformConstant %5
%33 = OpVariable %34 UniformConstant
%36 = OpTypePointer UniformConstant %6
%35 = OpVariable %36 UniformConstant
%38 = OpTypePointer UniformConstant %8
%37 = OpVariable %38 UniformConstant
%40 = OpTypePointer UniformConstant %9
%39 = OpVariable %40 UniformConstant
%42 = OpTypePointer UniformConstant %10
%41 = OpVariable %42 UniformConstant
%44 = OpTypePointer UniformConstant %11
%43 = OpVariable %44 UniformConstant
%46 = OpTypePointer UniformConstant %10
%45 = OpVariable %46 UniformConstant
%48 = OpTypePointer UniformConstant %15
%47 = OpVariable %48 UniformConstant
%50 = OpTypePointer UniformConstant %16
%49 = OpVariable %50 UniformConstant
%51 = OpVariable %32 UniformConstant
%53 = OpTypePointer UniformConstant %17
%52 = OpVariable %53 UniformConstant
%55 = OpTypePointer UniformConstant %18
%54 = OpVariable %55 UniformConstant
%57 = OpTypePointer UniformConstant %19
%56 = OpVariable %57 UniformConstant
%59 = OpTypePointer UniformConstant %20
%58 = OpVariable %59 UniformConstant
%61 = OpTypePointer UniformConstant %21
%60 = OpVariable %61 UniformConstant
%63 = OpTypePointer UniformConstant %22
%62 = OpVariable %63 UniformConstant
%65 = OpTypePointer UniformConstant %24
%64 = OpVariable %65 UniformConstant
%67 = OpTypePointer UniformConstant %24
%66 = OpVariable %67 UniformConstant
%69 = OpTypePointer UniformConstant %25
%68 = OpVariable %69 UniformConstant
%71 = OpTypePointer UniformConstant %26
%70 = OpVariable %71 UniformConstant
%73 = OpTypePointer UniformConstant %27
%72 = OpVariable %73 UniformConstant
%76 = OpTypePointer Input %12
%75 = OpVariable %76 Input
%79 = OpTypeFunction %2
%86 = OpConstant %14 10
%87 = OpConstant %14 20
%89 = OpTypeVector %4 2
%98 = OpTypeVector %4 4
%109 = OpTypeVector %14 3
%167 = OpVariable %76 Input
%189 = OpTypePointer Output %23
%188 = OpVariable %189 Output
%199 = OpConstant %4 0
%241 = OpVariable %189 Output
%270 = OpTypePointer Function %23
%271 = OpConstantNull %23
%273 = OpVariable %189 Output
%280 = OpConstant %7 0.5
%281 = OpConstant %7 2.3
%282 = OpConstant %7 2.0
%283 = OpConstant %14 0
%285 = OpTypeVector %7 2
%287 = OpTypeVector %7 3
%289 = OpTypeSampledImage %15
%294 = OpTypeSampledImage %16
%315 = OpTypeSampledImage %18
%376 = OpTypeSampledImage %20
%415 = OpTypePointer Function %7
%416 = OpConstantNull %7
%419 = OpTypePointer Output %7
%418 = OpVariable %419 Output
%428 = OpTypeSampledImage %25
%433 = OpTypeSampledImage %26
%446 = OpTypeSampledImage %27
%453 = OpConstant %7 0.0
%474 = OpVariable %189 Output
%486 = OpConstant %4 1
%489 = OpConstant %4 3
%494 = OpTypeSampledImage %3
%497 = OpTypeVector %14 4
%498 = OpTypeSampledImage %17
%509 = OpVariable %189 Output
%78 = OpFunction %2 None %79
%74 = OpLabel
%77 = OpLoad %12 %75
%80 = OpLoad %3 %31
%81 = OpLoad %5 %33
%82 = OpLoad %8 %37
%83 = OpLoad %9 %39
%84 = OpLoad %11 %43
%85 = OpLoad %10 %45
OpBranch %88
%88 = OpLabel
%90 = OpImageQuerySize %89 %82
%91 = OpVectorShuffle %89 %77 %77 0 1
%92 = OpIMul %89 %90 %91
%93 = OpBitcast %13 %92
%94 = OpCompositeConstruct %13 %86 %87
%95 = OpSRem %13 %93 %94
%96 = OpCompositeExtract %4 %77 2
%97 = OpBitcast %14 %96
%99 = OpImageFetch %98 %80 %95 Lod %97
%100 = OpCompositeExtract %4 %77 2
%101 = OpBitcast %14 %100
%102 = OpImageFetch %98 %81 %95 Sample %101
%103 = OpImageRead %98 %82 %95
%104 = OpCompositeExtract %4 %77 2
%105 = OpCompositeExtract %4 %77 2
%106 = OpBitcast %14 %105
%107 = OpIAdd %14 %106 %29
%108 = OpBitcast %14 %104
%110 = OpCompositeConstruct %109 %95 %108
%111 = OpImageFetch %98 %83 %110 Lod %107
%112 = OpCompositeExtract %4 %77 2
%113 = OpBitcast %14 %112
%114 = OpCompositeExtract %4 %77 2
%115 = OpBitcast %14 %114
%116 = OpIAdd %14 %115 %29
%117 = OpCompositeConstruct %109 %95 %113
%118 = OpImageFetch %98 %83 %117 Lod %116
%119 = OpCompositeExtract %4 %77 0
%120 = OpBitcast %14 %119
%121 = OpCompositeExtract %4 %77 2
%122 = OpBitcast %14 %121
%123 = OpImageFetch %98 %84 %120 Lod %122
%124 = OpBitcast %89 %95
%125 = OpCompositeExtract %4 %77 2
%126 = OpBitcast %14 %125
%127 = OpImageFetch %98 %80 %124 Lod %126
%128 = OpBitcast %89 %95
%129 = OpCompositeExtract %4 %77 2
%130 = OpBitcast %14 %129
%131 = OpImageFetch %98 %81 %128 Sample %130
%132 = OpBitcast %89 %95
%133 = OpImageRead %98 %82 %132
%134 = OpBitcast %89 %95
%135 = OpCompositeExtract %4 %77 2
%136 = OpCompositeExtract %4 %77 2
%137 = OpBitcast %14 %136
%138 = OpIAdd %14 %137 %29
%139 = OpCompositeConstruct %12 %134 %135
%140 = OpImageFetch %98 %83 %139 Lod %138
%141 = OpBitcast %89 %95
%142 = OpCompositeExtract %4 %77 2
%143 = OpBitcast %14 %142
%144 = OpCompositeExtract %4 %77 2
%145 = OpBitcast %14 %144
%146 = OpIAdd %14 %145 %29
%147 = OpBitcast %4 %143
%148 = OpCompositeConstruct %12 %141 %147
%149 = OpImageFetch %98 %83 %148 Lod %146
%150 = OpCompositeExtract %4 %77 0
%152 = OpCompositeExtract %4 %77 2
%153 = OpBitcast %14 %152
%154 = OpImageFetch %98 %84 %150 Lod %153
%155 = OpCompositeExtract %14 %95 0
%156 = OpIAdd %98 %99 %102
%157 = OpIAdd %98 %156 %103
%158 = OpIAdd %98 %157 %111
%159 = OpIAdd %98 %158 %118
OpImageWrite %85 %155 %159
%160 = OpCompositeExtract %14 %95 0
%161 = OpBitcast %4 %160
%162 = OpIAdd %98 %127 %131
%163 = OpIAdd %98 %162 %133
%164 = OpIAdd %98 %163 %140
%165 = OpIAdd %98 %164 %149
OpImageWrite %85 %161 %165
OpReturn
OpFunctionEnd
%169 = OpFunction %2 None %79
%166 = OpLabel
%168 = OpLoad %12 %167
%170 = OpLoad %6 %35
%171 = OpLoad %8 %37
%172 = OpLoad %10 %45
OpBranch %173
%173 = OpLabel
%174 = OpImageQuerySize %89 %171
%175 = OpVectorShuffle %89 %168 %168 0 1
%176 = OpIMul %89 %174 %175
%177 = OpBitcast %13 %176
%178 = OpCompositeConstruct %13 %86 %87
%179 = OpSRem %13 %177 %178
%180 = OpCompositeExtract %4 %168 2
%181 = OpBitcast %14 %180
%182 = OpImageFetch %23 %170 %179 Sample %181
%183 = OpCompositeExtract %7 %182 0
%184 = OpCompositeExtract %14 %179 0
%185 = OpConvertFToU %4 %183
%186 = OpCompositeConstruct %98 %185 %185 %185 %185
OpImageWrite %172 %184 %186
OpReturn
OpFunctionEnd
%190 = OpFunction %2 None %79
%187 = OpLabel
%191 = OpLoad %15 %47
%192 = OpLoad %16 %49
%193 = OpLoad %18 %54
%194 = OpLoad %19 %56
%195 = OpLoad %20 %58
%196 = OpLoad %21 %60
%197 = OpLoad %22 %62
OpBranch %198
%198 = OpLabel
%200 = OpImageQuerySizeLod %4 %191 %199
%201 = OpBitcast %14 %200
%202 = OpImageQuerySizeLod %4 %191 %201
%203 = OpImageQuerySizeLod %89 %192 %199
%204 = OpImageQuerySizeLod %89 %192 %29
%205 = OpImageQuerySizeLod %12 %193 %199
%206 = OpVectorShuffle %89 %205 %205 0 1
%207 = OpImageQuerySizeLod %12 %193 %29
%208 = OpVectorShuffle %89 %207 %207 0 1
%209 = OpImageQuerySizeLod %89 %194 %199
%210 = OpImageQuerySizeLod %89 %194 %29
%211 = OpImageQuerySizeLod %12 %195 %199
%212 = OpVectorShuffle %89 %211 %211 0 0
%213 = OpImageQuerySizeLod %12 %195 %29
%214 = OpVectorShuffle %89 %213 %213 0 0
%215 = OpImageQuerySizeLod %12 %196 %199
%216 = OpImageQuerySizeLod %12 %196 %29
%217 = OpImageQuerySize %89 %197
%218 = OpCompositeExtract %4 %203 1
%219 = OpIAdd %4 %200 %218
%220 = OpCompositeExtract %4 %204 1
%221 = OpIAdd %4 %219 %220
%222 = OpCompositeExtract %4 %206 1
%223 = OpIAdd %4 %221 %222
%224 = OpCompositeExtract %4 %208 1
%225 = OpIAdd %4 %223 %224
%226 = OpCompositeExtract %4 %209 1
%227 = OpIAdd %4 %225 %226
%228 = OpCompositeExtract %4 %210 1
%229 = OpIAdd %4 %227 %228
%230 = OpCompositeExtract %4 %212 1
%231 = OpIAdd %4 %229 %230
%232 = OpCompositeExtract %4 %214 1
%233 = OpIAdd %4 %231 %232
%234 = OpCompositeExtract %4 %215 2
%235 = OpIAdd %4 %233 %234
%236 = OpCompositeExtract %4 %216 2
%237 = OpIAdd %4 %235 %236
%238 = OpConvertUToF %7 %237
%239 = OpCompositeConstruct %23 %238 %238 %238 %238
OpStore %188 %239
OpReturn
OpFunctionEnd
%242 = OpFunction %2 None %79
%240 = OpLabel
%243 = OpLoad %16 %49
%244 = OpLoad %18 %54
%245 = OpLoad %19 %56
%246 = OpLoad %20 %58
%247 = OpLoad %21 %60
%248 = OpLoad %22 %62
OpBranch %249
%249 = OpLabel
%250 = OpImageQueryLevels %4 %243
%251 = OpImageQueryLevels %4 %244
%252 = OpImageQuerySizeLod %12 %244 %199
%253 = OpCompositeExtract %4 %252 2
%254 = OpImageQueryLevels %4 %245
%255 = OpImageQueryLevels %4 %246
%256 = OpImageQuerySizeLod %12 %246 %199
%257 = OpCompositeExtract %4 %256 2
%258 = OpImageQueryLevels %4 %247
%259 = OpImageQuerySamples %4 %248
%260 = OpIAdd %4 %253 %257
%261 = OpIAdd %4 %260 %259
%262 = OpIAdd %4 %261 %250
%263 = OpIAdd %4 %262 %251
%264 = OpIAdd %4 %263 %258
%265 = OpIAdd %4 %264 %254
%266 = OpIAdd %4 %265 %255
%267 = OpConvertUToF %7 %266
%268 = OpCompositeConstruct %23 %267 %267 %267 %267
OpStore %241 %268
OpReturn
OpFunctionEnd
%274 = OpFunction %2 None %79
%272 = OpLabel
%269 = OpVariable %270 Function %271
%275 = OpLoad %15 %47
%276 = OpLoad %16 %49
%277 = OpLoad %18 %54
%278 = OpLoad %20 %58
%279 = OpLoad %24 %64
OpBranch %284
%284 = OpLabel
%286 = OpCompositeConstruct %285 %280 %280
%288 = OpCompositeConstruct %287 %280 %280 %280
%290 = OpSampledImage %289 %275 %279
%291 = OpImageSampleImplicitLod %23 %290 %280
%292 = OpLoad %23 %269
%293 = OpFAdd %23 %292 %291
OpStore %269 %293
%295 = OpSampledImage %294 %276 %279
%296 = OpImageSampleImplicitLod %23 %295 %286
%297 = OpLoad %23 %269
%298 = OpFAdd %23 %297 %296
OpStore %269 %298
%299 = OpSampledImage %294 %276 %279
%300 = OpImageSampleImplicitLod %23 %299 %286 ConstOffset %30
%301 = OpLoad %23 %269
%302 = OpFAdd %23 %301 %300
OpStore %269 %302
%303 = OpSampledImage %294 %276 %279
%304 = OpImageSampleExplicitLod %23 %303 %286 Lod %281
%305 = OpLoad %23 %269
%306 = OpFAdd %23 %305 %304
OpStore %269 %306
%307 = OpSampledImage %294 %276 %279
%308 = OpImageSampleExplicitLod %23 %307 %286 Lod|ConstOffset %281 %30
%309 = OpLoad %23 %269
%310 = OpFAdd %23 %309 %308
OpStore %269 %310
%311 = OpSampledImage %294 %276 %279
%312 = OpImageSampleImplicitLod %23 %311 %286 Bias|ConstOffset %282 %30
%313 = OpLoad %23 %269
%314 = OpFAdd %23 %313 %312
OpStore %269 %314
%316 = OpConvertUToF %7 %199
%317 = OpCompositeConstruct %287 %286 %316
%318 = OpSampledImage %315 %277 %279
%319 = OpImageSampleImplicitLod %23 %318 %317
%320 = OpLoad %23 %269
%321 = OpFAdd %23 %320 %319
OpStore %269 %321
%322 = OpConvertUToF %7 %199
%323 = OpCompositeConstruct %287 %286 %322
%324 = OpSampledImage %315 %277 %279
%325 = OpImageSampleImplicitLod %23 %324 %323 ConstOffset %30
%326 = OpLoad %23 %269
%327 = OpFAdd %23 %326 %325
OpStore %269 %327
%328 = OpConvertUToF %7 %199
%329 = OpCompositeConstruct %287 %286 %328
%330 = OpSampledImage %315 %277 %279
%331 = OpImageSampleExplicitLod %23 %330 %329 Lod %281
%332 = OpLoad %23 %269
%333 = OpFAdd %23 %332 %331
OpStore %269 %333
%334 = OpConvertUToF %7 %199
%335 = OpCompositeConstruct %287 %286 %334
%336 = OpSampledImage %315 %277 %279
%337 = OpImageSampleExplicitLod %23 %336 %335 Lod|ConstOffset %281 %30
%338 = OpLoad %23 %269
%339 = OpFAdd %23 %338 %337
OpStore %269 %339
%340 = OpConvertUToF %7 %199
%341 = OpCompositeConstruct %287 %286 %340
%342 = OpSampledImage %315 %277 %279
%343 = OpImageSampleImplicitLod %23 %342 %341 Bias|ConstOffset %282 %30
%344 = OpLoad %23 %269
%345 = OpFAdd %23 %344 %343
OpStore %269 %345
%346 = OpConvertSToF %7 %283
%347 = OpCompositeConstruct %287 %286 %346
%348 = OpSampledImage %315 %277 %279
%349 = OpImageSampleImplicitLod %23 %348 %347
%350 = OpLoad %23 %269
%351 = OpFAdd %23 %350 %349
OpStore %269 %351
%352 = OpConvertSToF %7 %283
%353 = OpCompositeConstruct %287 %286 %352
%354 = OpSampledImage %315 %277 %279
%355 = OpImageSampleImplicitLod %23 %354 %353 ConstOffset %30
%356 = OpLoad %23 %269
%357 = OpFAdd %23 %356 %355
OpStore %269 %357
%358 = OpConvertSToF %7 %283
%359 = OpCompositeConstruct %287 %286 %358
%360 = OpSampledImage %315 %277 %279
%361 = OpImageSampleExplicitLod %23 %360 %359 Lod %281
%362 = OpLoad %23 %269
%363 = OpFAdd %23 %362 %361
OpStore %269 %363
%364 = OpConvertSToF %7 %283
%365 = OpCompositeConstruct %287 %286 %364
%366 = OpSampledImage %315 %277 %279
%367 = OpImageSampleExplicitLod %23 %366 %365 Lod|ConstOffset %281 %30
%368 = OpLoad %23 %269
%369 = OpFAdd %23 %368 %367
OpStore %269 %369
%370 = OpConvertSToF %7 %283
%371 = OpCompositeConstruct %287 %286 %370
%372 = OpSampledImage %315 %277 %279
%373 = OpImageSampleImplicitLod %23 %372 %371 Bias|ConstOffset %282 %30
%374 = OpLoad %23 %269
%375 = OpFAdd %23 %374 %373
OpStore %269 %375
%377 = OpConvertUToF %7 %199
%378 = OpCompositeConstruct %23 %288 %377
%379 = OpSampledImage %376 %278 %279
%380 = OpImageSampleImplicitLod %23 %379 %378
%381 = OpLoad %23 %269
%382 = OpFAdd %23 %381 %380
OpStore %269 %382
%383 = OpConvertUToF %7 %199
%384 = OpCompositeConstruct %23 %288 %383
%385 = OpSampledImage %376 %278 %279
%386 = OpImageSampleExplicitLod %23 %385 %384 Lod %281
%387 = OpLoad %23 %269
%388 = OpFAdd %23 %387 %386
OpStore %269 %388
%389 = OpConvertUToF %7 %199
%390 = OpCompositeConstruct %23 %288 %389
%391 = OpSampledImage %376 %278 %279
%392 = OpImageSampleImplicitLod %23 %391 %390 Bias %282
%393 = OpLoad %23 %269
%394 = OpFAdd %23 %393 %392
OpStore %269 %394
%395 = OpConvertSToF %7 %283
%396 = OpCompositeConstruct %23 %288 %395
%397 = OpSampledImage %376 %278 %279
%398 = OpImageSampleImplicitLod %23 %397 %396
%399 = OpLoad %23 %269
%400 = OpFAdd %23 %399 %398
OpStore %269 %400
%401 = OpConvertSToF %7 %283
%402 = OpCompositeConstruct %23 %288 %401
%403 = OpSampledImage %376 %278 %279
%404 = OpImageSampleExplicitLod %23 %403 %402 Lod %281
%405 = OpLoad %23 %269
%406 = OpFAdd %23 %405 %404
OpStore %269 %406
%407 = OpConvertSToF %7 %283
%408 = OpCompositeConstruct %23 %288 %407
%409 = OpSampledImage %376 %278 %279
%410 = OpImageSampleImplicitLod %23 %409 %408 Bias %282
%411 = OpLoad %23 %269
%412 = OpFAdd %23 %411 %410
OpStore %269 %412
%413 = OpLoad %23 %269
OpStore %273 %413
OpReturn
OpFunctionEnd
%420 = OpFunction %2 None %79
%417 = OpLabel
%414 = OpVariable %415 Function %416
%421 = OpLoad %24 %66
%422 = OpLoad %25 %68
%423 = OpLoad %26 %70
%424 = OpLoad %27 %72
OpBranch %425
%425 = OpLabel
%426 = OpCompositeConstruct %285 %280 %280
%427 = OpCompositeConstruct %287 %280 %280 %280
%429 = OpSampledImage %428 %422 %421
%430 = OpImageSampleDrefImplicitLod %7 %429 %426 %280
%431 = OpLoad %7 %414
%432 = OpFAdd %7 %431 %430
OpStore %414 %432
%434 = OpConvertUToF %7 %199
%435 = OpCompositeConstruct %287 %426 %434
%436 = OpSampledImage %433 %423 %421
%437 = OpImageSampleDrefImplicitLod %7 %436 %435 %280
%438 = OpLoad %7 %414
%439 = OpFAdd %7 %438 %437
OpStore %414 %439
%440 = OpConvertSToF %7 %283
%441 = OpCompositeConstruct %287 %426 %440
%442 = OpSampledImage %433 %423 %421
%443 = OpImageSampleDrefImplicitLod %7 %442 %441 %280
%444 = OpLoad %7 %414
%445 = OpFAdd %7 %444 %443
OpStore %414 %445
%447 = OpSampledImage %446 %424 %421
%448 = OpImageSampleDrefImplicitLod %7 %447 %427 %280
%449 = OpLoad %7 %414
%450 = OpFAdd %7 %449 %448
OpStore %414 %450
%451 = OpSampledImage %428 %422 %421
%452 = OpImageSampleDrefExplicitLod %7 %451 %426 %280 Lod %453
%454 = OpLoad %7 %414
%455 = OpFAdd %7 %454 %452
OpStore %414 %455
%456 = OpConvertUToF %7 %199
%457 = OpCompositeConstruct %287 %426 %456
%458 = OpSampledImage %433 %423 %421
%459 = OpImageSampleDrefExplicitLod %7 %458 %457 %280 Lod %453
%460 = OpLoad %7 %414
%461 = OpFAdd %7 %460 %459
OpStore %414 %461
%462 = OpConvertSToF %7 %283
%463 = OpCompositeConstruct %287 %426 %462
%464 = OpSampledImage %433 %423 %421
%465 = OpImageSampleDrefExplicitLod %7 %464 %463 %280 Lod %453
%466 = OpLoad %7 %414
%467 = OpFAdd %7 %466 %465
OpStore %414 %467
%468 = OpSampledImage %446 %424 %421
%469 = OpImageSampleDrefExplicitLod %7 %468 %427 %280 Lod %453
%470 = OpLoad %7 %414
%471 = OpFAdd %7 %470 %469
OpStore %414 %471
%472 = OpLoad %7 %414
OpStore %418 %472
OpReturn
OpFunctionEnd
%475 = OpFunction %2 None %79
%473 = OpLabel
%476 = OpLoad %16 %49
%477 = OpLoad %3 %51
%478 = OpLoad %17 %52
%479 = OpLoad %24 %64
%480 = OpLoad %24 %66
%481 = OpLoad %25 %68
OpBranch %482
%482 = OpLabel
%483 = OpCompositeConstruct %285 %280 %280
%484 = OpSampledImage %294 %476 %479
%485 = OpImageGather %23 %484 %483 %486
%487 = OpSampledImage %294 %476 %479
%488 = OpImageGather %23 %487 %483 %489 ConstOffset %30
%490 = OpSampledImage %428 %481 %480
%491 = OpImageDrefGather %23 %490 %483 %280
%492 = OpSampledImage %428 %481 %480
%493 = OpImageDrefGather %23 %492 %483 %280 ConstOffset %30
%495 = OpSampledImage %494 %477 %479
%496 = OpImageGather %98 %495 %483 %199
%499 = OpSampledImage %498 %478 %479
%500 = OpImageGather %497 %499 %483 %199
%501 = OpConvertUToF %23 %496
%502 = OpConvertSToF %23 %500
%503 = OpFAdd %23 %501 %502
%504 = OpFAdd %23 %485 %488
%505 = OpFAdd %23 %504 %491
%506 = OpFAdd %23 %505 %493
%507 = OpFAdd %23 %506 %503
OpStore %474 %507
OpReturn
OpFunctionEnd
%510 = OpFunction %2 None %79
%508 = OpLabel
%511 = OpLoad %24 %64
%512 = OpLoad %25 %68
OpBranch %513
%513 = OpLabel
%514 = OpCompositeConstruct %285 %280 %280
%515 = OpSampledImage %428 %512 %511
%516 = OpImageSampleImplicitLod %23 %515 %514
%517 = OpCompositeExtract %7 %516 0
%518 = OpSampledImage %428 %512 %511
%519 = OpImageGather %23 %518 %514 %199
%520 = OpCompositeConstruct %23 %517 %517 %517 %517
%521 = OpFAdd %23 %520 %519
OpStore %509 %521
OpReturn
OpFunctionEnd