mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-22 14:55:05 +00:00
baecb5fbf1
Until now we accepted a float, as is the case for non-depth textures. This makes us compliant with the spec. The validator is updated to expect an Sint or Uint when the ImageClass is ImageClass::Depth. The SPIR-V frontend converts the LOD argument from float to Sint (assuming that it is representable), likewise The SPIR-V backend now converts the LOD from either Sint or Uint to Float. HLSL and MSL backends require no changes as they implicitly do that conversion. GLSL does not support non-compare LOD samples, therefore no changes are required.
700 lines
22 KiB
Plaintext
700 lines
22 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.1
|
|
; Generator: rspirv
|
|
; Bound: 526
|
|
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 %189 "queries" %187
|
|
OpEntryPoint Vertex %241 "levels_queries" %240
|
|
OpEntryPoint Fragment %272 "texture_sample" %271
|
|
OpEntryPoint Fragment %419 "texture_sample_comparison" %417
|
|
OpEntryPoint Fragment %475 "gather" %474
|
|
OpEntryPoint Fragment %509 "depth_no_comparison" %508
|
|
OpExecutionMode %78 LocalSize 16 1 1
|
|
OpExecutionMode %169 LocalSize 16 1 1
|
|
OpExecutionMode %272 OriginUpperLeft
|
|
OpExecutionMode %419 OriginUpperLeft
|
|
OpExecutionMode %475 OriginUpperLeft
|
|
OpExecutionMode %509 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 %189 "queries"
|
|
OpName %241 "levels_queries"
|
|
OpName %272 "texture_sample"
|
|
OpName %286 "a"
|
|
OpName %419 "texture_sample_comparison"
|
|
OpName %424 "a"
|
|
OpName %475 "gather"
|
|
OpName %509 "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 %187 BuiltIn Position
|
|
OpDecorate %240 BuiltIn Position
|
|
OpDecorate %271 Location 0
|
|
OpDecorate %417 Location 0
|
|
OpDecorate %474 Location 0
|
|
OpDecorate %508 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
|
|
%88 = OpConstantComposite %13 %86 %87
|
|
%90 = OpTypeVector %4 2
|
|
%98 = OpTypeVector %4 4
|
|
%109 = OpTypeVector %14 3
|
|
%167 = OpVariable %76 Input
|
|
%188 = OpTypePointer Output %23
|
|
%187 = OpVariable %188 Output
|
|
%198 = OpConstant %4 0
|
|
%240 = OpVariable %188 Output
|
|
%271 = OpVariable %188 Output
|
|
%278 = OpConstant %7 0.5
|
|
%279 = OpTypeVector %7 2
|
|
%280 = OpConstantComposite %279 %278 %278
|
|
%281 = OpTypeVector %7 3
|
|
%282 = OpConstantComposite %281 %278 %278 %278
|
|
%283 = OpConstant %7 2.3
|
|
%284 = OpConstant %7 2.0
|
|
%285 = OpConstant %14 0
|
|
%287 = OpTypePointer Function %23
|
|
%288 = OpConstantNull %23
|
|
%291 = OpTypeSampledImage %15
|
|
%296 = OpTypeSampledImage %16
|
|
%317 = OpTypeSampledImage %18
|
|
%378 = OpTypeSampledImage %20
|
|
%418 = OpTypePointer Output %7
|
|
%417 = OpVariable %418 Output
|
|
%425 = OpTypePointer Function %7
|
|
%426 = OpConstantNull %7
|
|
%428 = OpTypeSampledImage %25
|
|
%433 = OpTypeSampledImage %26
|
|
%446 = OpTypeSampledImage %27
|
|
%453 = OpConstant %7 0.0
|
|
%474 = OpVariable %188 Output
|
|
%485 = OpConstant %4 1
|
|
%488 = OpConstant %4 3
|
|
%493 = OpTypeSampledImage %3
|
|
%496 = OpTypeVector %14 4
|
|
%497 = OpTypeSampledImage %17
|
|
%508 = OpVariable %188 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 %89
|
|
%89 = OpLabel
|
|
%91 = OpImageQuerySize %90 %82
|
|
%92 = OpVectorShuffle %90 %77 %77 0 1
|
|
%93 = OpIMul %90 %91 %92
|
|
%94 = OpBitcast %13 %93
|
|
%95 = OpSRem %13 %94 %88
|
|
%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 %90 %95
|
|
%125 = OpCompositeExtract %4 %77 2
|
|
%126 = OpBitcast %14 %125
|
|
%127 = OpImageFetch %98 %80 %124 Lod %126
|
|
%128 = OpBitcast %90 %95
|
|
%129 = OpCompositeExtract %4 %77 2
|
|
%130 = OpBitcast %14 %129
|
|
%131 = OpImageFetch %98 %81 %128 Sample %130
|
|
%132 = OpBitcast %90 %95
|
|
%133 = OpImageRead %98 %82 %132
|
|
%134 = OpBitcast %90 %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 %90 %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 %90 %171
|
|
%175 = OpVectorShuffle %90 %168 %168 0 1
|
|
%176 = OpIMul %90 %174 %175
|
|
%177 = OpBitcast %13 %176
|
|
%178 = OpSRem %13 %177 %88
|
|
%179 = OpCompositeExtract %4 %168 2
|
|
%180 = OpBitcast %14 %179
|
|
%181 = OpImageFetch %23 %170 %178 Sample %180
|
|
%182 = OpCompositeExtract %7 %181 0
|
|
%183 = OpCompositeExtract %14 %178 0
|
|
%184 = OpConvertFToU %4 %182
|
|
%185 = OpCompositeConstruct %98 %184 %184 %184 %184
|
|
OpImageWrite %172 %183 %185
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%189 = OpFunction %2 None %79
|
|
%186 = OpLabel
|
|
%190 = OpLoad %15 %47
|
|
%191 = OpLoad %16 %49
|
|
%192 = OpLoad %18 %54
|
|
%193 = OpLoad %19 %56
|
|
%194 = OpLoad %20 %58
|
|
%195 = OpLoad %21 %60
|
|
%196 = OpLoad %22 %62
|
|
OpBranch %197
|
|
%197 = OpLabel
|
|
%199 = OpImageQuerySizeLod %4 %190 %198
|
|
%200 = OpBitcast %14 %199
|
|
%201 = OpImageQuerySizeLod %4 %190 %200
|
|
%202 = OpImageQuerySizeLod %90 %191 %198
|
|
%203 = OpImageQuerySizeLod %90 %191 %29
|
|
%204 = OpImageQuerySizeLod %12 %192 %198
|
|
%205 = OpVectorShuffle %90 %204 %204 0 1
|
|
%206 = OpImageQuerySizeLod %12 %192 %29
|
|
%207 = OpVectorShuffle %90 %206 %206 0 1
|
|
%208 = OpImageQuerySizeLod %90 %193 %198
|
|
%209 = OpImageQuerySizeLod %90 %193 %29
|
|
%210 = OpImageQuerySizeLod %12 %194 %198
|
|
%211 = OpVectorShuffle %90 %210 %210 0 0
|
|
%212 = OpImageQuerySizeLod %12 %194 %29
|
|
%213 = OpVectorShuffle %90 %212 %212 0 0
|
|
%214 = OpImageQuerySizeLod %12 %195 %198
|
|
%215 = OpImageQuerySizeLod %12 %195 %29
|
|
%216 = OpImageQuerySize %90 %196
|
|
%217 = OpCompositeExtract %4 %202 1
|
|
%218 = OpIAdd %4 %199 %217
|
|
%219 = OpCompositeExtract %4 %203 1
|
|
%220 = OpIAdd %4 %218 %219
|
|
%221 = OpCompositeExtract %4 %205 1
|
|
%222 = OpIAdd %4 %220 %221
|
|
%223 = OpCompositeExtract %4 %207 1
|
|
%224 = OpIAdd %4 %222 %223
|
|
%225 = OpCompositeExtract %4 %208 1
|
|
%226 = OpIAdd %4 %224 %225
|
|
%227 = OpCompositeExtract %4 %209 1
|
|
%228 = OpIAdd %4 %226 %227
|
|
%229 = OpCompositeExtract %4 %211 1
|
|
%230 = OpIAdd %4 %228 %229
|
|
%231 = OpCompositeExtract %4 %213 1
|
|
%232 = OpIAdd %4 %230 %231
|
|
%233 = OpCompositeExtract %4 %214 2
|
|
%234 = OpIAdd %4 %232 %233
|
|
%235 = OpCompositeExtract %4 %215 2
|
|
%236 = OpIAdd %4 %234 %235
|
|
%237 = OpConvertUToF %7 %236
|
|
%238 = OpCompositeConstruct %23 %237 %237 %237 %237
|
|
OpStore %187 %238
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%241 = OpFunction %2 None %79
|
|
%239 = OpLabel
|
|
%242 = OpLoad %16 %49
|
|
%243 = OpLoad %18 %54
|
|
%244 = OpLoad %19 %56
|
|
%245 = OpLoad %20 %58
|
|
%246 = OpLoad %21 %60
|
|
%247 = OpLoad %22 %62
|
|
OpBranch %248
|
|
%248 = OpLabel
|
|
%249 = OpImageQueryLevels %4 %242
|
|
%250 = OpImageQuerySizeLod %12 %243 %198
|
|
%251 = OpCompositeExtract %4 %250 2
|
|
%252 = OpImageQueryLevels %4 %243
|
|
%253 = OpImageQuerySizeLod %12 %243 %198
|
|
%254 = OpCompositeExtract %4 %253 2
|
|
%255 = OpImageQueryLevels %4 %244
|
|
%256 = OpImageQueryLevels %4 %245
|
|
%257 = OpImageQuerySizeLod %12 %245 %198
|
|
%258 = OpCompositeExtract %4 %257 2
|
|
%259 = OpImageQueryLevels %4 %246
|
|
%260 = OpImageQuerySamples %4 %247
|
|
%261 = OpIAdd %4 %251 %258
|
|
%262 = OpIAdd %4 %261 %260
|
|
%263 = OpIAdd %4 %262 %249
|
|
%264 = OpIAdd %4 %263 %252
|
|
%265 = OpIAdd %4 %264 %259
|
|
%266 = OpIAdd %4 %265 %255
|
|
%267 = OpIAdd %4 %266 %256
|
|
%268 = OpConvertUToF %7 %267
|
|
%269 = OpCompositeConstruct %23 %268 %268 %268 %268
|
|
OpStore %240 %269
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%272 = OpFunction %2 None %79
|
|
%270 = OpLabel
|
|
%286 = OpVariable %287 Function %288
|
|
%273 = OpLoad %15 %47
|
|
%274 = OpLoad %16 %49
|
|
%275 = OpLoad %18 %54
|
|
%276 = OpLoad %20 %58
|
|
%277 = OpLoad %24 %64
|
|
OpBranch %289
|
|
%289 = OpLabel
|
|
%290 = OpCompositeExtract %7 %280 0
|
|
%292 = OpSampledImage %291 %273 %277
|
|
%293 = OpImageSampleImplicitLod %23 %292 %290
|
|
%294 = OpLoad %23 %286
|
|
%295 = OpFAdd %23 %294 %293
|
|
OpStore %286 %295
|
|
%297 = OpSampledImage %296 %274 %277
|
|
%298 = OpImageSampleImplicitLod %23 %297 %280
|
|
%299 = OpLoad %23 %286
|
|
%300 = OpFAdd %23 %299 %298
|
|
OpStore %286 %300
|
|
%301 = OpSampledImage %296 %274 %277
|
|
%302 = OpImageSampleImplicitLod %23 %301 %280 ConstOffset %30
|
|
%303 = OpLoad %23 %286
|
|
%304 = OpFAdd %23 %303 %302
|
|
OpStore %286 %304
|
|
%305 = OpSampledImage %296 %274 %277
|
|
%306 = OpImageSampleExplicitLod %23 %305 %280 Lod %283
|
|
%307 = OpLoad %23 %286
|
|
%308 = OpFAdd %23 %307 %306
|
|
OpStore %286 %308
|
|
%309 = OpSampledImage %296 %274 %277
|
|
%310 = OpImageSampleExplicitLod %23 %309 %280 Lod|ConstOffset %283 %30
|
|
%311 = OpLoad %23 %286
|
|
%312 = OpFAdd %23 %311 %310
|
|
OpStore %286 %312
|
|
%313 = OpSampledImage %296 %274 %277
|
|
%314 = OpImageSampleImplicitLod %23 %313 %280 Bias|ConstOffset %284 %30
|
|
%315 = OpLoad %23 %286
|
|
%316 = OpFAdd %23 %315 %314
|
|
OpStore %286 %316
|
|
%318 = OpConvertUToF %7 %198
|
|
%319 = OpCompositeConstruct %281 %280 %318
|
|
%320 = OpSampledImage %317 %275 %277
|
|
%321 = OpImageSampleImplicitLod %23 %320 %319
|
|
%322 = OpLoad %23 %286
|
|
%323 = OpFAdd %23 %322 %321
|
|
OpStore %286 %323
|
|
%324 = OpConvertUToF %7 %198
|
|
%325 = OpCompositeConstruct %281 %280 %324
|
|
%326 = OpSampledImage %317 %275 %277
|
|
%327 = OpImageSampleImplicitLod %23 %326 %325 ConstOffset %30
|
|
%328 = OpLoad %23 %286
|
|
%329 = OpFAdd %23 %328 %327
|
|
OpStore %286 %329
|
|
%330 = OpConvertUToF %7 %198
|
|
%331 = OpCompositeConstruct %281 %280 %330
|
|
%332 = OpSampledImage %317 %275 %277
|
|
%333 = OpImageSampleExplicitLod %23 %332 %331 Lod %283
|
|
%334 = OpLoad %23 %286
|
|
%335 = OpFAdd %23 %334 %333
|
|
OpStore %286 %335
|
|
%336 = OpConvertUToF %7 %198
|
|
%337 = OpCompositeConstruct %281 %280 %336
|
|
%338 = OpSampledImage %317 %275 %277
|
|
%339 = OpImageSampleExplicitLod %23 %338 %337 Lod|ConstOffset %283 %30
|
|
%340 = OpLoad %23 %286
|
|
%341 = OpFAdd %23 %340 %339
|
|
OpStore %286 %341
|
|
%342 = OpConvertUToF %7 %198
|
|
%343 = OpCompositeConstruct %281 %280 %342
|
|
%344 = OpSampledImage %317 %275 %277
|
|
%345 = OpImageSampleImplicitLod %23 %344 %343 Bias|ConstOffset %284 %30
|
|
%346 = OpLoad %23 %286
|
|
%347 = OpFAdd %23 %346 %345
|
|
OpStore %286 %347
|
|
%348 = OpConvertSToF %7 %285
|
|
%349 = OpCompositeConstruct %281 %280 %348
|
|
%350 = OpSampledImage %317 %275 %277
|
|
%351 = OpImageSampleImplicitLod %23 %350 %349
|
|
%352 = OpLoad %23 %286
|
|
%353 = OpFAdd %23 %352 %351
|
|
OpStore %286 %353
|
|
%354 = OpConvertSToF %7 %285
|
|
%355 = OpCompositeConstruct %281 %280 %354
|
|
%356 = OpSampledImage %317 %275 %277
|
|
%357 = OpImageSampleImplicitLod %23 %356 %355 ConstOffset %30
|
|
%358 = OpLoad %23 %286
|
|
%359 = OpFAdd %23 %358 %357
|
|
OpStore %286 %359
|
|
%360 = OpConvertSToF %7 %285
|
|
%361 = OpCompositeConstruct %281 %280 %360
|
|
%362 = OpSampledImage %317 %275 %277
|
|
%363 = OpImageSampleExplicitLod %23 %362 %361 Lod %283
|
|
%364 = OpLoad %23 %286
|
|
%365 = OpFAdd %23 %364 %363
|
|
OpStore %286 %365
|
|
%366 = OpConvertSToF %7 %285
|
|
%367 = OpCompositeConstruct %281 %280 %366
|
|
%368 = OpSampledImage %317 %275 %277
|
|
%369 = OpImageSampleExplicitLod %23 %368 %367 Lod|ConstOffset %283 %30
|
|
%370 = OpLoad %23 %286
|
|
%371 = OpFAdd %23 %370 %369
|
|
OpStore %286 %371
|
|
%372 = OpConvertSToF %7 %285
|
|
%373 = OpCompositeConstruct %281 %280 %372
|
|
%374 = OpSampledImage %317 %275 %277
|
|
%375 = OpImageSampleImplicitLod %23 %374 %373 Bias|ConstOffset %284 %30
|
|
%376 = OpLoad %23 %286
|
|
%377 = OpFAdd %23 %376 %375
|
|
OpStore %286 %377
|
|
%379 = OpConvertUToF %7 %198
|
|
%380 = OpCompositeConstruct %23 %282 %379
|
|
%381 = OpSampledImage %378 %276 %277
|
|
%382 = OpImageSampleImplicitLod %23 %381 %380
|
|
%383 = OpLoad %23 %286
|
|
%384 = OpFAdd %23 %383 %382
|
|
OpStore %286 %384
|
|
%385 = OpConvertUToF %7 %198
|
|
%386 = OpCompositeConstruct %23 %282 %385
|
|
%387 = OpSampledImage %378 %276 %277
|
|
%388 = OpImageSampleExplicitLod %23 %387 %386 Lod %283
|
|
%389 = OpLoad %23 %286
|
|
%390 = OpFAdd %23 %389 %388
|
|
OpStore %286 %390
|
|
%391 = OpConvertUToF %7 %198
|
|
%392 = OpCompositeConstruct %23 %282 %391
|
|
%393 = OpSampledImage %378 %276 %277
|
|
%394 = OpImageSampleImplicitLod %23 %393 %392 Bias %284
|
|
%395 = OpLoad %23 %286
|
|
%396 = OpFAdd %23 %395 %394
|
|
OpStore %286 %396
|
|
%397 = OpConvertSToF %7 %285
|
|
%398 = OpCompositeConstruct %23 %282 %397
|
|
%399 = OpSampledImage %378 %276 %277
|
|
%400 = OpImageSampleImplicitLod %23 %399 %398
|
|
%401 = OpLoad %23 %286
|
|
%402 = OpFAdd %23 %401 %400
|
|
OpStore %286 %402
|
|
%403 = OpConvertSToF %7 %285
|
|
%404 = OpCompositeConstruct %23 %282 %403
|
|
%405 = OpSampledImage %378 %276 %277
|
|
%406 = OpImageSampleExplicitLod %23 %405 %404 Lod %283
|
|
%407 = OpLoad %23 %286
|
|
%408 = OpFAdd %23 %407 %406
|
|
OpStore %286 %408
|
|
%409 = OpConvertSToF %7 %285
|
|
%410 = OpCompositeConstruct %23 %282 %409
|
|
%411 = OpSampledImage %378 %276 %277
|
|
%412 = OpImageSampleImplicitLod %23 %411 %410 Bias %284
|
|
%413 = OpLoad %23 %286
|
|
%414 = OpFAdd %23 %413 %412
|
|
OpStore %286 %414
|
|
%415 = OpLoad %23 %286
|
|
OpStore %271 %415
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%419 = OpFunction %2 None %79
|
|
%416 = OpLabel
|
|
%424 = OpVariable %425 Function %426
|
|
%420 = OpLoad %24 %66
|
|
%421 = OpLoad %25 %68
|
|
%422 = OpLoad %26 %70
|
|
%423 = OpLoad %27 %72
|
|
OpBranch %427
|
|
%427 = OpLabel
|
|
%429 = OpSampledImage %428 %421 %420
|
|
%430 = OpImageSampleDrefImplicitLod %7 %429 %280 %278
|
|
%431 = OpLoad %7 %424
|
|
%432 = OpFAdd %7 %431 %430
|
|
OpStore %424 %432
|
|
%434 = OpConvertUToF %7 %198
|
|
%435 = OpCompositeConstruct %281 %280 %434
|
|
%436 = OpSampledImage %433 %422 %420
|
|
%437 = OpImageSampleDrefImplicitLod %7 %436 %435 %278
|
|
%438 = OpLoad %7 %424
|
|
%439 = OpFAdd %7 %438 %437
|
|
OpStore %424 %439
|
|
%440 = OpConvertSToF %7 %285
|
|
%441 = OpCompositeConstruct %281 %280 %440
|
|
%442 = OpSampledImage %433 %422 %420
|
|
%443 = OpImageSampleDrefImplicitLod %7 %442 %441 %278
|
|
%444 = OpLoad %7 %424
|
|
%445 = OpFAdd %7 %444 %443
|
|
OpStore %424 %445
|
|
%447 = OpSampledImage %446 %423 %420
|
|
%448 = OpImageSampleDrefImplicitLod %7 %447 %282 %278
|
|
%449 = OpLoad %7 %424
|
|
%450 = OpFAdd %7 %449 %448
|
|
OpStore %424 %450
|
|
%451 = OpSampledImage %428 %421 %420
|
|
%452 = OpImageSampleDrefExplicitLod %7 %451 %280 %278 Lod %453
|
|
%454 = OpLoad %7 %424
|
|
%455 = OpFAdd %7 %454 %452
|
|
OpStore %424 %455
|
|
%456 = OpConvertUToF %7 %198
|
|
%457 = OpCompositeConstruct %281 %280 %456
|
|
%458 = OpSampledImage %433 %422 %420
|
|
%459 = OpImageSampleDrefExplicitLod %7 %458 %457 %278 Lod %453
|
|
%460 = OpLoad %7 %424
|
|
%461 = OpFAdd %7 %460 %459
|
|
OpStore %424 %461
|
|
%462 = OpConvertSToF %7 %285
|
|
%463 = OpCompositeConstruct %281 %280 %462
|
|
%464 = OpSampledImage %433 %422 %420
|
|
%465 = OpImageSampleDrefExplicitLod %7 %464 %463 %278 Lod %453
|
|
%466 = OpLoad %7 %424
|
|
%467 = OpFAdd %7 %466 %465
|
|
OpStore %424 %467
|
|
%468 = OpSampledImage %446 %423 %420
|
|
%469 = OpImageSampleDrefExplicitLod %7 %468 %282 %278 Lod %453
|
|
%470 = OpLoad %7 %424
|
|
%471 = OpFAdd %7 %470 %469
|
|
OpStore %424 %471
|
|
%472 = OpLoad %7 %424
|
|
OpStore %417 %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 = OpSampledImage %296 %476 %479
|
|
%484 = OpImageGather %23 %483 %280 %485
|
|
%486 = OpSampledImage %296 %476 %479
|
|
%487 = OpImageGather %23 %486 %280 %488 ConstOffset %30
|
|
%489 = OpSampledImage %428 %481 %480
|
|
%490 = OpImageDrefGather %23 %489 %280 %278
|
|
%491 = OpSampledImage %428 %481 %480
|
|
%492 = OpImageDrefGather %23 %491 %280 %278 ConstOffset %30
|
|
%494 = OpSampledImage %493 %477 %479
|
|
%495 = OpImageGather %98 %494 %280 %198
|
|
%498 = OpSampledImage %497 %478 %479
|
|
%499 = OpImageGather %496 %498 %280 %198
|
|
%500 = OpConvertUToF %23 %495
|
|
%501 = OpConvertSToF %23 %499
|
|
%502 = OpFAdd %23 %500 %501
|
|
%503 = OpFAdd %23 %484 %487
|
|
%504 = OpFAdd %23 %503 %490
|
|
%505 = OpFAdd %23 %504 %492
|
|
%506 = OpFAdd %23 %505 %502
|
|
OpStore %474 %506
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%509 = OpFunction %2 None %79
|
|
%507 = OpLabel
|
|
%510 = OpLoad %24 %64
|
|
%511 = OpLoad %25 %68
|
|
OpBranch %512
|
|
%512 = OpLabel
|
|
%513 = OpSampledImage %428 %511 %510
|
|
%514 = OpImageSampleImplicitLod %23 %513 %280
|
|
%515 = OpCompositeExtract %7 %514 0
|
|
%516 = OpSampledImage %428 %511 %510
|
|
%517 = OpImageGather %23 %516 %280 %198
|
|
%518 = OpSampledImage %428 %511 %510
|
|
%520 = OpConvertSToF %7 %29
|
|
%519 = OpImageSampleExplicitLod %23 %518 %280 Lod %520
|
|
%521 = OpCompositeExtract %7 %519 0
|
|
%522 = OpCompositeConstruct %23 %515 %515 %515 %515
|
|
%523 = OpFAdd %23 %522 %517
|
|
%524 = OpCompositeConstruct %23 %521 %521 %521 %521
|
|
%525 = OpFAdd %23 %523 %524
|
|
OpStore %508 %525
|
|
OpReturn
|
|
OpFunctionEnd |