wgpu/naga/tests/out/spv/bounds-check-image-rzsw.spvasm
2023-10-25 14:25:04 -04:00

538 lines
14 KiB
Plaintext

; SPIR-V
; Version: 1.1
; Generator: rspirv
; Bound: 326
OpCapability Shader
OpCapability Sampled1D
OpCapability Image1D
OpCapability ImageQuery
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %297 "fragment_shader" %295
OpExecutionMode %297 OriginUpperLeft
OpName %21 "image_1d"
OpName %23 "image_2d"
OpName %25 "image_2d_array"
OpName %27 "image_3d"
OpName %29 "image_multisampled_2d"
OpName %31 "image_depth_2d"
OpName %33 "image_depth_2d_array"
OpName %35 "image_depth_multisampled_2d"
OpName %37 "image_storage_1d"
OpName %39 "image_storage_2d"
OpName %41 "image_storage_2d_array"
OpName %43 "image_storage_3d"
OpName %46 "coords"
OpName %47 "level"
OpName %48 "test_textureLoad_1d"
OpName %64 "coords"
OpName %65 "level"
OpName %66 "test_textureLoad_2d"
OpName %82 "coords"
OpName %83 "index"
OpName %84 "level"
OpName %85 "test_textureLoad_2d_array_u"
OpName %103 "coords"
OpName %104 "index"
OpName %105 "level"
OpName %106 "test_textureLoad_2d_array_s"
OpName %122 "coords"
OpName %123 "level"
OpName %124 "test_textureLoad_3d"
OpName %139 "coords"
OpName %140 "_sample"
OpName %141 "test_textureLoad_multisampled_2d"
OpName %155 "coords"
OpName %156 "level"
OpName %157 "test_textureLoad_depth_2d"
OpName %173 "coords"
OpName %174 "index"
OpName %175 "level"
OpName %176 "test_textureLoad_depth_2d_array_u"
OpName %194 "coords"
OpName %195 "index"
OpName %196 "level"
OpName %197 "test_textureLoad_depth_2d_array_s"
OpName %214 "coords"
OpName %215 "_sample"
OpName %216 "test_textureLoad_depth_multisampled_2d"
OpName %231 "coords"
OpName %232 "value"
OpName %233 "test_textureStore_1d"
OpName %242 "coords"
OpName %243 "value"
OpName %244 "test_textureStore_2d"
OpName %254 "coords"
OpName %255 "array_index"
OpName %256 "value"
OpName %257 "test_textureStore_2d_array_u"
OpName %269 "coords"
OpName %270 "array_index"
OpName %271 "value"
OpName %272 "test_textureStore_2d_array_s"
OpName %283 "coords"
OpName %284 "value"
OpName %285 "test_textureStore_3d"
OpName %297 "fragment_shader"
OpDecorate %21 DescriptorSet 0
OpDecorate %21 Binding 0
OpDecorate %23 DescriptorSet 0
OpDecorate %23 Binding 1
OpDecorate %25 DescriptorSet 0
OpDecorate %25 Binding 2
OpDecorate %27 DescriptorSet 0
OpDecorate %27 Binding 3
OpDecorate %29 DescriptorSet 0
OpDecorate %29 Binding 4
OpDecorate %31 DescriptorSet 0
OpDecorate %31 Binding 5
OpDecorate %33 DescriptorSet 0
OpDecorate %33 Binding 6
OpDecorate %35 DescriptorSet 0
OpDecorate %35 Binding 7
OpDecorate %37 NonReadable
OpDecorate %37 DescriptorSet 0
OpDecorate %37 Binding 8
OpDecorate %39 NonReadable
OpDecorate %39 DescriptorSet 0
OpDecorate %39 Binding 9
OpDecorate %41 NonReadable
OpDecorate %41 DescriptorSet 0
OpDecorate %41 Binding 10
OpDecorate %43 NonReadable
OpDecorate %43 DescriptorSet 0
OpDecorate %43 Binding 11
OpDecorate %295 Location 0
%2 = OpTypeVoid
%4 = OpTypeFloat 32
%3 = OpTypeImage %4 1D 0 0 0 1 Unknown
%5 = OpTypeInt 32 1
%6 = OpTypeVector %4 4
%7 = OpTypeImage %4 2D 0 0 0 1 Unknown
%8 = OpTypeVector %5 2
%9 = OpTypeImage %4 2D 0 1 0 1 Unknown
%10 = OpTypeInt 32 0
%11 = OpTypeImage %4 3D 0 0 0 1 Unknown
%12 = OpTypeVector %5 3
%13 = OpTypeImage %4 2D 0 0 1 1 Unknown
%14 = OpTypeImage %4 2D 1 0 0 1 Unknown
%15 = OpTypeImage %4 2D 1 1 0 1 Unknown
%16 = OpTypeImage %4 2D 1 0 1 1 Unknown
%17 = OpTypeImage %4 1D 0 0 0 2 Rgba8
%18 = OpTypeImage %4 2D 0 0 0 2 Rgba8
%19 = OpTypeImage %4 2D 0 1 0 2 Rgba8
%20 = OpTypeImage %4 3D 0 0 0 2 Rgba8
%22 = OpTypePointer UniformConstant %3
%21 = OpVariable %22 UniformConstant
%24 = OpTypePointer UniformConstant %7
%23 = OpVariable %24 UniformConstant
%26 = OpTypePointer UniformConstant %9
%25 = OpVariable %26 UniformConstant
%28 = OpTypePointer UniformConstant %11
%27 = OpVariable %28 UniformConstant
%30 = OpTypePointer UniformConstant %13
%29 = OpVariable %30 UniformConstant
%32 = OpTypePointer UniformConstant %14
%31 = OpVariable %32 UniformConstant
%34 = OpTypePointer UniformConstant %15
%33 = OpVariable %34 UniformConstant
%36 = OpTypePointer UniformConstant %16
%35 = OpVariable %36 UniformConstant
%38 = OpTypePointer UniformConstant %17
%37 = OpVariable %38 UniformConstant
%40 = OpTypePointer UniformConstant %18
%39 = OpVariable %40 UniformConstant
%42 = OpTypePointer UniformConstant %19
%41 = OpVariable %42 UniformConstant
%44 = OpTypePointer UniformConstant %20
%43 = OpVariable %44 UniformConstant
%49 = OpTypeFunction %6 %5 %5
%52 = OpTypeBool
%53 = OpConstantNull %6
%67 = OpTypeFunction %6 %8 %5
%75 = OpTypeVector %52 2
%86 = OpTypeFunction %6 %8 %10 %5
%96 = OpTypeVector %52 3
%107 = OpTypeFunction %6 %8 %5 %5
%125 = OpTypeFunction %6 %12 %5
%158 = OpTypeFunction %4 %8 %5
%177 = OpTypeFunction %4 %8 %10 %5
%198 = OpTypeFunction %4 %8 %5 %5
%234 = OpTypeFunction %2 %5 %6
%245 = OpTypeFunction %2 %8 %6
%258 = OpTypeFunction %2 %8 %10 %6
%273 = OpTypeFunction %2 %8 %5 %6
%286 = OpTypeFunction %2 %12 %6
%296 = OpTypePointer Output %6
%295 = OpVariable %296 Output
%298 = OpTypeFunction %2
%308 = OpConstant %5 0
%309 = OpConstantNull %8
%310 = OpConstant %10 0
%311 = OpConstantNull %12
%312 = OpConstant %4 0.0
%313 = OpConstantComposite %6 %312 %312 %312 %312
%48 = OpFunction %6 None %49
%46 = OpFunctionParameter %5
%47 = OpFunctionParameter %5
%45 = OpLabel
%50 = OpLoad %3 %21
OpBranch %51
%51 = OpLabel
%54 = OpImageQueryLevels %5 %50
%55 = OpULessThan %52 %47 %54
OpSelectionMerge %56 None
OpBranchConditional %55 %57 %56
%57 = OpLabel
%58 = OpImageQuerySizeLod %5 %50 %47
%59 = OpULessThan %52 %46 %58
OpBranchConditional %59 %60 %56
%60 = OpLabel
%61 = OpImageFetch %6 %50 %46 Lod %47
OpBranch %56
%56 = OpLabel
%62 = OpPhi %6 %53 %51 %53 %57 %61 %60
OpReturnValue %62
OpFunctionEnd
%66 = OpFunction %6 None %67
%64 = OpFunctionParameter %8
%65 = OpFunctionParameter %5
%63 = OpLabel
%68 = OpLoad %7 %23
OpBranch %69
%69 = OpLabel
%70 = OpImageQueryLevels %5 %68
%71 = OpULessThan %52 %65 %70
OpSelectionMerge %72 None
OpBranchConditional %71 %73 %72
%73 = OpLabel
%74 = OpImageQuerySizeLod %8 %68 %65
%76 = OpULessThan %75 %64 %74
%77 = OpAll %52 %76
OpBranchConditional %77 %78 %72
%78 = OpLabel
%79 = OpImageFetch %6 %68 %64 Lod %65
OpBranch %72
%72 = OpLabel
%80 = OpPhi %6 %53 %69 %53 %73 %79 %78
OpReturnValue %80
OpFunctionEnd
%85 = OpFunction %6 None %86
%82 = OpFunctionParameter %8
%83 = OpFunctionParameter %10
%84 = OpFunctionParameter %5
%81 = OpLabel
%87 = OpLoad %9 %25
OpBranch %88
%88 = OpLabel
%89 = OpBitcast %5 %83
%90 = OpCompositeConstruct %12 %82 %89
%91 = OpImageQueryLevels %5 %87
%92 = OpULessThan %52 %84 %91
OpSelectionMerge %93 None
OpBranchConditional %92 %94 %93
%94 = OpLabel
%95 = OpImageQuerySizeLod %12 %87 %84
%97 = OpULessThan %96 %90 %95
%98 = OpAll %52 %97
OpBranchConditional %98 %99 %93
%99 = OpLabel
%100 = OpImageFetch %6 %87 %90 Lod %84
OpBranch %93
%93 = OpLabel
%101 = OpPhi %6 %53 %88 %53 %94 %100 %99
OpReturnValue %101
OpFunctionEnd
%106 = OpFunction %6 None %107
%103 = OpFunctionParameter %8
%104 = OpFunctionParameter %5
%105 = OpFunctionParameter %5
%102 = OpLabel
%108 = OpLoad %9 %25
OpBranch %109
%109 = OpLabel
%110 = OpCompositeConstruct %12 %103 %104
%111 = OpImageQueryLevels %5 %108
%112 = OpULessThan %52 %105 %111
OpSelectionMerge %113 None
OpBranchConditional %112 %114 %113
%114 = OpLabel
%115 = OpImageQuerySizeLod %12 %108 %105
%116 = OpULessThan %96 %110 %115
%117 = OpAll %52 %116
OpBranchConditional %117 %118 %113
%118 = OpLabel
%119 = OpImageFetch %6 %108 %110 Lod %105
OpBranch %113
%113 = OpLabel
%120 = OpPhi %6 %53 %109 %53 %114 %119 %118
OpReturnValue %120
OpFunctionEnd
%124 = OpFunction %6 None %125
%122 = OpFunctionParameter %12
%123 = OpFunctionParameter %5
%121 = OpLabel
%126 = OpLoad %11 %27
OpBranch %127
%127 = OpLabel
%128 = OpImageQueryLevels %5 %126
%129 = OpULessThan %52 %123 %128
OpSelectionMerge %130 None
OpBranchConditional %129 %131 %130
%131 = OpLabel
%132 = OpImageQuerySizeLod %12 %126 %123
%133 = OpULessThan %96 %122 %132
%134 = OpAll %52 %133
OpBranchConditional %134 %135 %130
%135 = OpLabel
%136 = OpImageFetch %6 %126 %122 Lod %123
OpBranch %130
%130 = OpLabel
%137 = OpPhi %6 %53 %127 %53 %131 %136 %135
OpReturnValue %137
OpFunctionEnd
%141 = OpFunction %6 None %67
%139 = OpFunctionParameter %8
%140 = OpFunctionParameter %5
%138 = OpLabel
%142 = OpLoad %13 %29
OpBranch %143
%143 = OpLabel
%144 = OpImageQuerySamples %5 %142
%145 = OpULessThan %52 %140 %144
OpSelectionMerge %146 None
OpBranchConditional %145 %147 %146
%147 = OpLabel
%148 = OpImageQuerySize %8 %142
%149 = OpULessThan %75 %139 %148
%150 = OpAll %52 %149
OpBranchConditional %150 %151 %146
%151 = OpLabel
%152 = OpImageFetch %6 %142 %139 Sample %140
OpBranch %146
%146 = OpLabel
%153 = OpPhi %6 %53 %143 %53 %147 %152 %151
OpReturnValue %153
OpFunctionEnd
%157 = OpFunction %4 None %158
%155 = OpFunctionParameter %8
%156 = OpFunctionParameter %5
%154 = OpLabel
%159 = OpLoad %14 %31
OpBranch %160
%160 = OpLabel
%161 = OpImageQueryLevels %5 %159
%162 = OpULessThan %52 %156 %161
OpSelectionMerge %163 None
OpBranchConditional %162 %164 %163
%164 = OpLabel
%165 = OpImageQuerySizeLod %8 %159 %156
%166 = OpULessThan %75 %155 %165
%167 = OpAll %52 %166
OpBranchConditional %167 %168 %163
%168 = OpLabel
%169 = OpImageFetch %6 %159 %155 Lod %156
OpBranch %163
%163 = OpLabel
%170 = OpPhi %6 %53 %160 %53 %164 %169 %168
%171 = OpCompositeExtract %4 %170 0
OpReturnValue %171
OpFunctionEnd
%176 = OpFunction %4 None %177
%173 = OpFunctionParameter %8
%174 = OpFunctionParameter %10
%175 = OpFunctionParameter %5
%172 = OpLabel
%178 = OpLoad %15 %33
OpBranch %179
%179 = OpLabel
%180 = OpBitcast %5 %174
%181 = OpCompositeConstruct %12 %173 %180
%182 = OpImageQueryLevels %5 %178
%183 = OpULessThan %52 %175 %182
OpSelectionMerge %184 None
OpBranchConditional %183 %185 %184
%185 = OpLabel
%186 = OpImageQuerySizeLod %12 %178 %175
%187 = OpULessThan %96 %181 %186
%188 = OpAll %52 %187
OpBranchConditional %188 %189 %184
%189 = OpLabel
%190 = OpImageFetch %6 %178 %181 Lod %175
OpBranch %184
%184 = OpLabel
%191 = OpPhi %6 %53 %179 %53 %185 %190 %189
%192 = OpCompositeExtract %4 %191 0
OpReturnValue %192
OpFunctionEnd
%197 = OpFunction %4 None %198
%194 = OpFunctionParameter %8
%195 = OpFunctionParameter %5
%196 = OpFunctionParameter %5
%193 = OpLabel
%199 = OpLoad %15 %33
OpBranch %200
%200 = OpLabel
%201 = OpCompositeConstruct %12 %194 %195
%202 = OpImageQueryLevels %5 %199
%203 = OpULessThan %52 %196 %202
OpSelectionMerge %204 None
OpBranchConditional %203 %205 %204
%205 = OpLabel
%206 = OpImageQuerySizeLod %12 %199 %196
%207 = OpULessThan %96 %201 %206
%208 = OpAll %52 %207
OpBranchConditional %208 %209 %204
%209 = OpLabel
%210 = OpImageFetch %6 %199 %201 Lod %196
OpBranch %204
%204 = OpLabel
%211 = OpPhi %6 %53 %200 %53 %205 %210 %209
%212 = OpCompositeExtract %4 %211 0
OpReturnValue %212
OpFunctionEnd
%216 = OpFunction %4 None %158
%214 = OpFunctionParameter %8
%215 = OpFunctionParameter %5
%213 = OpLabel
%217 = OpLoad %16 %35
OpBranch %218
%218 = OpLabel
%219 = OpImageQuerySamples %5 %217
%220 = OpULessThan %52 %215 %219
OpSelectionMerge %221 None
OpBranchConditional %220 %222 %221
%222 = OpLabel
%223 = OpImageQuerySize %8 %217
%224 = OpULessThan %75 %214 %223
%225 = OpAll %52 %224
OpBranchConditional %225 %226 %221
%226 = OpLabel
%227 = OpImageFetch %6 %217 %214 Sample %215
OpBranch %221
%221 = OpLabel
%228 = OpPhi %6 %53 %218 %53 %222 %227 %226
%229 = OpCompositeExtract %4 %228 0
OpReturnValue %229
OpFunctionEnd
%233 = OpFunction %2 None %234
%231 = OpFunctionParameter %5
%232 = OpFunctionParameter %6
%230 = OpLabel
%235 = OpLoad %17 %37
OpBranch %236
%236 = OpLabel
%237 = OpImageQuerySize %5 %235
%238 = OpULessThan %52 %231 %237
OpSelectionMerge %239 None
OpBranchConditional %238 %240 %239
%240 = OpLabel
OpImageWrite %235 %231 %232
OpBranch %239
%239 = OpLabel
OpReturn
OpFunctionEnd
%244 = OpFunction %2 None %245
%242 = OpFunctionParameter %8
%243 = OpFunctionParameter %6
%241 = OpLabel
%246 = OpLoad %18 %39
OpBranch %247
%247 = OpLabel
%248 = OpImageQuerySize %8 %246
%249 = OpULessThan %75 %242 %248
%250 = OpAll %52 %249
OpSelectionMerge %251 None
OpBranchConditional %250 %252 %251
%252 = OpLabel
OpImageWrite %246 %242 %243
OpBranch %251
%251 = OpLabel
OpReturn
OpFunctionEnd
%257 = OpFunction %2 None %258
%254 = OpFunctionParameter %8
%255 = OpFunctionParameter %10
%256 = OpFunctionParameter %6
%253 = OpLabel
%259 = OpLoad %19 %41
OpBranch %260
%260 = OpLabel
%261 = OpBitcast %5 %255
%262 = OpCompositeConstruct %12 %254 %261
%263 = OpImageQuerySize %12 %259
%264 = OpULessThan %96 %262 %263
%265 = OpAll %52 %264
OpSelectionMerge %266 None
OpBranchConditional %265 %267 %266
%267 = OpLabel
OpImageWrite %259 %262 %256
OpBranch %266
%266 = OpLabel
OpReturn
OpFunctionEnd
%272 = OpFunction %2 None %273
%269 = OpFunctionParameter %8
%270 = OpFunctionParameter %5
%271 = OpFunctionParameter %6
%268 = OpLabel
%274 = OpLoad %19 %41
OpBranch %275
%275 = OpLabel
%276 = OpCompositeConstruct %12 %269 %270
%277 = OpImageQuerySize %12 %274
%278 = OpULessThan %96 %276 %277
%279 = OpAll %52 %278
OpSelectionMerge %280 None
OpBranchConditional %279 %281 %280
%281 = OpLabel
OpImageWrite %274 %276 %271
OpBranch %280
%280 = OpLabel
OpReturn
OpFunctionEnd
%285 = OpFunction %2 None %286
%283 = OpFunctionParameter %12
%284 = OpFunctionParameter %6
%282 = OpLabel
%287 = OpLoad %20 %43
OpBranch %288
%288 = OpLabel
%289 = OpImageQuerySize %12 %287
%290 = OpULessThan %96 %283 %289
%291 = OpAll %52 %290
OpSelectionMerge %292 None
OpBranchConditional %291 %293 %292
%293 = OpLabel
OpImageWrite %287 %283 %284
OpBranch %292
%292 = OpLabel
OpReturn
OpFunctionEnd
%297 = OpFunction %2 None %298
%294 = OpLabel
%299 = OpLoad %3 %21
%300 = OpLoad %7 %23
%301 = OpLoad %9 %25
%302 = OpLoad %11 %27
%303 = OpLoad %13 %29
%304 = OpLoad %17 %37
%305 = OpLoad %18 %39
%306 = OpLoad %19 %41
%307 = OpLoad %20 %43
OpBranch %314
%314 = OpLabel
%315 = OpFunctionCall %6 %48 %308 %308
%316 = OpFunctionCall %6 %66 %309 %308
%317 = OpFunctionCall %6 %85 %309 %310 %308
%318 = OpFunctionCall %6 %106 %309 %308 %308
%319 = OpFunctionCall %6 %124 %311 %308
%320 = OpFunctionCall %6 %141 %309 %308
%321 = OpFunctionCall %2 %233 %308 %53
%322 = OpFunctionCall %2 %244 %309 %53
%323 = OpFunctionCall %2 %257 %309 %310 %53
%324 = OpFunctionCall %2 %272 %309 %308 %53
%325 = OpFunctionCall %2 %285 %311 %53
OpStore %295 %313
OpReturn
OpFunctionEnd