yes
This commit is contained in:
@@ -0,0 +1,690 @@
|
||||
#!amber
|
||||
|
||||
# Copyright 2021 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
# A test for a coverage-gap found by the GraphicsFuzz project.
|
||||
|
||||
# Short description: A fragment shader that covers specific BRW code paths
|
||||
|
||||
# The test passes because the shader always writes red.
|
||||
|
||||
# Optimized using spirv-opt with the following arguments:
|
||||
# '-O'
|
||||
# spirv-opt commit hash: a0370efd589be33d5d9a85cfde2f85841b3755af
|
||||
|
||||
|
||||
|
||||
SHADER vertex variant_vertex_shader PASSTHROUGH
|
||||
|
||||
# variant_fragment_shader is derived from the following GLSL:
|
||||
# #version 320 es
|
||||
#
|
||||
# #define _GLF_MAKE_IN_BOUNDS_INT(IDX, SZ) clamp(IDX, 0, SZ - 1)
|
||||
# #define LOOP for (int i = 0; i < 1; i++)
|
||||
#
|
||||
# precision highp float;
|
||||
# precision highp int;
|
||||
#
|
||||
# const int _GLF_global_loop_bound = 100;
|
||||
# int _GLF_global_loop_count = 0;
|
||||
#
|
||||
# layout(location = 0) out vec4 _GLF_color;
|
||||
#
|
||||
# void main()
|
||||
# {
|
||||
# float arr[10] = float[10](1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0);
|
||||
# int index = 0;
|
||||
#
|
||||
# while(_GLF_global_loop_count < _GLF_global_loop_bound)
|
||||
# {
|
||||
# // The inner loop will be iterated just once.
|
||||
# LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP {
|
||||
# LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP {
|
||||
# LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP {
|
||||
# LOOP { LOOP { LOOP { LOOP { LOOP
|
||||
# {
|
||||
# _GLF_global_loop_count ++;
|
||||
# }
|
||||
# } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }
|
||||
#
|
||||
# // In the end all elemenst of arr have a value of 2.0.
|
||||
# arr[_GLF_MAKE_IN_BOUNDS_INT(index, 10)] = float[10](2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0)[_GLF_MAKE_IN_BOUNDS_INT(index, 10)];
|
||||
# index++;
|
||||
# }
|
||||
#
|
||||
# // The selected indices don't matter as all have the same data of 2.0.
|
||||
# vec2 v = vec2(arr[_GLF_MAKE_IN_BOUNDS_INT(int(gl_FragCoord.x), 10)], arr[_GLF_MAKE_IN_BOUNDS_INT(int(gl_FragCoord.y), 10)]);
|
||||
#
|
||||
# // Always true.
|
||||
# if (v.x == 2.0 && v.y == 2.0)
|
||||
# _GLF_color = vec4(1, 0, 0, 1);
|
||||
# else
|
||||
# _GLF_color = vec4(0);
|
||||
#
|
||||
# }
|
||||
SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: Khronos Glslang Reference Front End; 10
|
||||
; Bound: 583
|
||||
; Schema: 0
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %4 "main" %431 %460
|
||||
OpExecutionMode %4 OriginUpperLeft
|
||||
OpSource ESSL 320
|
||||
OpName %4 "main"
|
||||
OpName %15 "arr"
|
||||
OpName %419 "indexable"
|
||||
OpName %431 "gl_FragCoord"
|
||||
OpName %460 "_GLF_color"
|
||||
OpDecorate %431 BuiltIn FragCoord
|
||||
OpDecorate %460 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%3 = OpTypeFunction %2
|
||||
%6 = OpTypeInt 32 1
|
||||
%9 = OpConstant %6 0
|
||||
%10 = OpTypeFloat 32
|
||||
%11 = OpTypeInt 32 0
|
||||
%12 = OpConstant %11 10
|
||||
%13 = OpTypeArray %10 %12
|
||||
%14 = OpTypePointer Function %13
|
||||
%16 = OpConstant %10 1
|
||||
%17 = OpConstantComposite %13 %16 %16 %16 %16 %16 %16 %16 %16 %16 %16
|
||||
%26 = OpConstant %6 100
|
||||
%27 = OpTypeBool
|
||||
%36 = OpConstant %6 1
|
||||
%413 = OpConstant %6 9
|
||||
%415 = OpConstant %10 2
|
||||
%416 = OpConstantComposite %13 %415 %415 %415 %415 %415 %415 %415 %415 %415 %415
|
||||
%420 = OpTypePointer Function %10
|
||||
%429 = OpTypeVector %10 4
|
||||
%430 = OpTypePointer Input %429
|
||||
%431 = OpVariable %430 Input
|
||||
%432 = OpConstant %11 0
|
||||
%433 = OpTypePointer Input %10
|
||||
%440 = OpConstant %11 1
|
||||
%459 = OpTypePointer Output %429
|
||||
%460 = OpVariable %459 Output
|
||||
%461 = OpConstant %10 0
|
||||
%462 = OpConstantComposite %429 %16 %461 %461 %16
|
||||
%464 = OpConstantComposite %429 %461 %461 %461 %461
|
||||
%4 = OpFunction %2 None %3
|
||||
%5 = OpLabel
|
||||
%15 = OpVariable %14 Function
|
||||
%419 = OpVariable %14 Function
|
||||
OpStore %15 %17
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
%470 = OpPhi %6 %9 %5 %425 %23
|
||||
%467 = OpPhi %6 %9 %5 %582 %23
|
||||
%28 = OpSLessThan %27 %467 %26
|
||||
OpLoopMerge %22 %23 None
|
||||
OpBranchConditional %28 %21 %22
|
||||
%21 = OpLabel
|
||||
OpBranch %30
|
||||
%30 = OpLabel
|
||||
%468 = OpPhi %6 %9 %21 %411 %33
|
||||
%582 = OpPhi %6 %467 %21 %581 %33
|
||||
%37 = OpSLessThan %27 %468 %36
|
||||
OpLoopMerge %32 %33 None
|
||||
OpBranchConditional %37 %31 %32
|
||||
%31 = OpLabel
|
||||
OpBranch %39
|
||||
%39 = OpLabel
|
||||
%471 = OpPhi %6 %9 %31 %409 %42
|
||||
%581 = OpPhi %6 %582 %31 %580 %42
|
||||
%45 = OpSLessThan %27 %471 %36
|
||||
OpLoopMerge %41 %42 None
|
||||
OpBranchConditional %45 %40 %41
|
||||
%40 = OpLabel
|
||||
OpBranch %47
|
||||
%47 = OpLabel
|
||||
%473 = OpPhi %6 %9 %40 %407 %50
|
||||
%580 = OpPhi %6 %581 %40 %579 %50
|
||||
%53 = OpSLessThan %27 %473 %36
|
||||
OpLoopMerge %49 %50 None
|
||||
OpBranchConditional %53 %48 %49
|
||||
%48 = OpLabel
|
||||
OpBranch %55
|
||||
%55 = OpLabel
|
||||
%475 = OpPhi %6 %9 %48 %405 %58
|
||||
%579 = OpPhi %6 %580 %48 %578 %58
|
||||
%61 = OpSLessThan %27 %475 %36
|
||||
OpLoopMerge %57 %58 None
|
||||
OpBranchConditional %61 %56 %57
|
||||
%56 = OpLabel
|
||||
OpBranch %63
|
||||
%63 = OpLabel
|
||||
%477 = OpPhi %6 %9 %56 %403 %66
|
||||
%578 = OpPhi %6 %579 %56 %577 %66
|
||||
%69 = OpSLessThan %27 %477 %36
|
||||
OpLoopMerge %65 %66 None
|
||||
OpBranchConditional %69 %64 %65
|
||||
%64 = OpLabel
|
||||
OpBranch %71
|
||||
%71 = OpLabel
|
||||
%479 = OpPhi %6 %9 %64 %401 %74
|
||||
%577 = OpPhi %6 %578 %64 %576 %74
|
||||
%77 = OpSLessThan %27 %479 %36
|
||||
OpLoopMerge %73 %74 None
|
||||
OpBranchConditional %77 %72 %73
|
||||
%72 = OpLabel
|
||||
OpBranch %79
|
||||
%79 = OpLabel
|
||||
%481 = OpPhi %6 %9 %72 %399 %82
|
||||
%576 = OpPhi %6 %577 %72 %575 %82
|
||||
%85 = OpSLessThan %27 %481 %36
|
||||
OpLoopMerge %81 %82 None
|
||||
OpBranchConditional %85 %80 %81
|
||||
%80 = OpLabel
|
||||
OpBranch %87
|
||||
%87 = OpLabel
|
||||
%483 = OpPhi %6 %9 %80 %397 %90
|
||||
%575 = OpPhi %6 %576 %80 %574 %90
|
||||
%93 = OpSLessThan %27 %483 %36
|
||||
OpLoopMerge %89 %90 None
|
||||
OpBranchConditional %93 %88 %89
|
||||
%88 = OpLabel
|
||||
OpBranch %95
|
||||
%95 = OpLabel
|
||||
%485 = OpPhi %6 %9 %88 %395 %98
|
||||
%574 = OpPhi %6 %575 %88 %573 %98
|
||||
%101 = OpSLessThan %27 %485 %36
|
||||
OpLoopMerge %97 %98 None
|
||||
OpBranchConditional %101 %96 %97
|
||||
%96 = OpLabel
|
||||
OpBranch %103
|
||||
%103 = OpLabel
|
||||
%487 = OpPhi %6 %9 %96 %393 %106
|
||||
%573 = OpPhi %6 %574 %96 %572 %106
|
||||
%109 = OpSLessThan %27 %487 %36
|
||||
OpLoopMerge %105 %106 None
|
||||
OpBranchConditional %109 %104 %105
|
||||
%104 = OpLabel
|
||||
OpBranch %111
|
||||
%111 = OpLabel
|
||||
%489 = OpPhi %6 %9 %104 %391 %114
|
||||
%572 = OpPhi %6 %573 %104 %571 %114
|
||||
%117 = OpSLessThan %27 %489 %36
|
||||
OpLoopMerge %113 %114 None
|
||||
OpBranchConditional %117 %112 %113
|
||||
%112 = OpLabel
|
||||
OpBranch %119
|
||||
%119 = OpLabel
|
||||
%491 = OpPhi %6 %9 %112 %389 %122
|
||||
%571 = OpPhi %6 %572 %112 %570 %122
|
||||
%125 = OpSLessThan %27 %491 %36
|
||||
OpLoopMerge %121 %122 None
|
||||
OpBranchConditional %125 %120 %121
|
||||
%120 = OpLabel
|
||||
OpBranch %127
|
||||
%127 = OpLabel
|
||||
%493 = OpPhi %6 %9 %120 %387 %130
|
||||
%570 = OpPhi %6 %571 %120 %569 %130
|
||||
%133 = OpSLessThan %27 %493 %36
|
||||
OpLoopMerge %129 %130 None
|
||||
OpBranchConditional %133 %128 %129
|
||||
%128 = OpLabel
|
||||
OpBranch %135
|
||||
%135 = OpLabel
|
||||
%495 = OpPhi %6 %9 %128 %385 %138
|
||||
%569 = OpPhi %6 %570 %128 %568 %138
|
||||
%141 = OpSLessThan %27 %495 %36
|
||||
OpLoopMerge %137 %138 None
|
||||
OpBranchConditional %141 %136 %137
|
||||
%136 = OpLabel
|
||||
OpBranch %143
|
||||
%143 = OpLabel
|
||||
%497 = OpPhi %6 %9 %136 %383 %146
|
||||
%568 = OpPhi %6 %569 %136 %567 %146
|
||||
%149 = OpSLessThan %27 %497 %36
|
||||
OpLoopMerge %145 %146 None
|
||||
OpBranchConditional %149 %144 %145
|
||||
%144 = OpLabel
|
||||
OpBranch %151
|
||||
%151 = OpLabel
|
||||
%499 = OpPhi %6 %9 %144 %381 %154
|
||||
%567 = OpPhi %6 %568 %144 %566 %154
|
||||
%157 = OpSLessThan %27 %499 %36
|
||||
OpLoopMerge %153 %154 None
|
||||
OpBranchConditional %157 %152 %153
|
||||
%152 = OpLabel
|
||||
OpBranch %159
|
||||
%159 = OpLabel
|
||||
%501 = OpPhi %6 %9 %152 %379 %162
|
||||
%566 = OpPhi %6 %567 %152 %565 %162
|
||||
%165 = OpSLessThan %27 %501 %36
|
||||
OpLoopMerge %161 %162 None
|
||||
OpBranchConditional %165 %160 %161
|
||||
%160 = OpLabel
|
||||
OpBranch %167
|
||||
%167 = OpLabel
|
||||
%503 = OpPhi %6 %9 %160 %377 %170
|
||||
%565 = OpPhi %6 %566 %160 %564 %170
|
||||
%173 = OpSLessThan %27 %503 %36
|
||||
OpLoopMerge %169 %170 None
|
||||
OpBranchConditional %173 %168 %169
|
||||
%168 = OpLabel
|
||||
OpBranch %175
|
||||
%175 = OpLabel
|
||||
%505 = OpPhi %6 %9 %168 %375 %178
|
||||
%564 = OpPhi %6 %565 %168 %563 %178
|
||||
%181 = OpSLessThan %27 %505 %36
|
||||
OpLoopMerge %177 %178 None
|
||||
OpBranchConditional %181 %176 %177
|
||||
%176 = OpLabel
|
||||
OpBranch %183
|
||||
%183 = OpLabel
|
||||
%507 = OpPhi %6 %9 %176 %373 %186
|
||||
%563 = OpPhi %6 %564 %176 %562 %186
|
||||
%189 = OpSLessThan %27 %507 %36
|
||||
OpLoopMerge %185 %186 None
|
||||
OpBranchConditional %189 %184 %185
|
||||
%184 = OpLabel
|
||||
OpBranch %191
|
||||
%191 = OpLabel
|
||||
%509 = OpPhi %6 %9 %184 %371 %194
|
||||
%562 = OpPhi %6 %563 %184 %561 %194
|
||||
%197 = OpSLessThan %27 %509 %36
|
||||
OpLoopMerge %193 %194 None
|
||||
OpBranchConditional %197 %192 %193
|
||||
%192 = OpLabel
|
||||
OpBranch %199
|
||||
%199 = OpLabel
|
||||
%511 = OpPhi %6 %9 %192 %369 %202
|
||||
%561 = OpPhi %6 %562 %192 %560 %202
|
||||
%205 = OpSLessThan %27 %511 %36
|
||||
OpLoopMerge %201 %202 None
|
||||
OpBranchConditional %205 %200 %201
|
||||
%200 = OpLabel
|
||||
OpBranch %207
|
||||
%207 = OpLabel
|
||||
%513 = OpPhi %6 %9 %200 %367 %210
|
||||
%560 = OpPhi %6 %561 %200 %559 %210
|
||||
%213 = OpSLessThan %27 %513 %36
|
||||
OpLoopMerge %209 %210 None
|
||||
OpBranchConditional %213 %208 %209
|
||||
%208 = OpLabel
|
||||
OpBranch %215
|
||||
%215 = OpLabel
|
||||
%515 = OpPhi %6 %9 %208 %365 %218
|
||||
%559 = OpPhi %6 %560 %208 %558 %218
|
||||
%221 = OpSLessThan %27 %515 %36
|
||||
OpLoopMerge %217 %218 None
|
||||
OpBranchConditional %221 %216 %217
|
||||
%216 = OpLabel
|
||||
OpBranch %223
|
||||
%223 = OpLabel
|
||||
%517 = OpPhi %6 %9 %216 %363 %226
|
||||
%558 = OpPhi %6 %559 %216 %557 %226
|
||||
%229 = OpSLessThan %27 %517 %36
|
||||
OpLoopMerge %225 %226 None
|
||||
OpBranchConditional %229 %224 %225
|
||||
%224 = OpLabel
|
||||
OpBranch %231
|
||||
%231 = OpLabel
|
||||
%519 = OpPhi %6 %9 %224 %361 %234
|
||||
%557 = OpPhi %6 %558 %224 %556 %234
|
||||
%237 = OpSLessThan %27 %519 %36
|
||||
OpLoopMerge %233 %234 None
|
||||
OpBranchConditional %237 %232 %233
|
||||
%232 = OpLabel
|
||||
OpBranch %239
|
||||
%239 = OpLabel
|
||||
%521 = OpPhi %6 %9 %232 %359 %242
|
||||
%556 = OpPhi %6 %557 %232 %555 %242
|
||||
%245 = OpSLessThan %27 %521 %36
|
||||
OpLoopMerge %241 %242 None
|
||||
OpBranchConditional %245 %240 %241
|
||||
%240 = OpLabel
|
||||
OpBranch %247
|
||||
%247 = OpLabel
|
||||
%523 = OpPhi %6 %9 %240 %357 %250
|
||||
%555 = OpPhi %6 %556 %240 %554 %250
|
||||
%253 = OpSLessThan %27 %523 %36
|
||||
OpLoopMerge %249 %250 None
|
||||
OpBranchConditional %253 %248 %249
|
||||
%248 = OpLabel
|
||||
OpBranch %255
|
||||
%255 = OpLabel
|
||||
%525 = OpPhi %6 %9 %248 %355 %258
|
||||
%554 = OpPhi %6 %555 %248 %553 %258
|
||||
%261 = OpSLessThan %27 %525 %36
|
||||
OpLoopMerge %257 %258 None
|
||||
OpBranchConditional %261 %256 %257
|
||||
%256 = OpLabel
|
||||
OpBranch %263
|
||||
%263 = OpLabel
|
||||
%527 = OpPhi %6 %9 %256 %353 %266
|
||||
%553 = OpPhi %6 %554 %256 %552 %266
|
||||
%269 = OpSLessThan %27 %527 %36
|
||||
OpLoopMerge %265 %266 None
|
||||
OpBranchConditional %269 %264 %265
|
||||
%264 = OpLabel
|
||||
OpBranch %271
|
||||
%271 = OpLabel
|
||||
%529 = OpPhi %6 %9 %264 %351 %274
|
||||
%552 = OpPhi %6 %553 %264 %551 %274
|
||||
%277 = OpSLessThan %27 %529 %36
|
||||
OpLoopMerge %273 %274 None
|
||||
OpBranchConditional %277 %272 %273
|
||||
%272 = OpLabel
|
||||
OpBranch %279
|
||||
%279 = OpLabel
|
||||
%531 = OpPhi %6 %9 %272 %349 %282
|
||||
%551 = OpPhi %6 %552 %272 %550 %282
|
||||
%285 = OpSLessThan %27 %531 %36
|
||||
OpLoopMerge %281 %282 None
|
||||
OpBranchConditional %285 %280 %281
|
||||
%280 = OpLabel
|
||||
OpBranch %287
|
||||
%287 = OpLabel
|
||||
%533 = OpPhi %6 %9 %280 %347 %290
|
||||
%550 = OpPhi %6 %551 %280 %549 %290
|
||||
%293 = OpSLessThan %27 %533 %36
|
||||
OpLoopMerge %289 %290 None
|
||||
OpBranchConditional %293 %288 %289
|
||||
%288 = OpLabel
|
||||
OpBranch %295
|
||||
%295 = OpLabel
|
||||
%535 = OpPhi %6 %9 %288 %345 %298
|
||||
%549 = OpPhi %6 %550 %288 %548 %298
|
||||
%301 = OpSLessThan %27 %535 %36
|
||||
OpLoopMerge %297 %298 None
|
||||
OpBranchConditional %301 %296 %297
|
||||
%296 = OpLabel
|
||||
OpBranch %303
|
||||
%303 = OpLabel
|
||||
%537 = OpPhi %6 %9 %296 %343 %306
|
||||
%548 = OpPhi %6 %549 %296 %547 %306
|
||||
%309 = OpSLessThan %27 %537 %36
|
||||
OpLoopMerge %305 %306 None
|
||||
OpBranchConditional %309 %304 %305
|
||||
%304 = OpLabel
|
||||
OpBranch %311
|
||||
%311 = OpLabel
|
||||
%539 = OpPhi %6 %9 %304 %341 %314
|
||||
%547 = OpPhi %6 %548 %304 %546 %314
|
||||
%317 = OpSLessThan %27 %539 %36
|
||||
OpLoopMerge %313 %314 None
|
||||
OpBranchConditional %317 %312 %313
|
||||
%312 = OpLabel
|
||||
OpBranch %319
|
||||
%319 = OpLabel
|
||||
%541 = OpPhi %6 %9 %312 %339 %322
|
||||
%546 = OpPhi %6 %547 %312 %545 %322
|
||||
%325 = OpSLessThan %27 %541 %36
|
||||
OpLoopMerge %321 %322 None
|
||||
OpBranchConditional %325 %320 %321
|
||||
%320 = OpLabel
|
||||
OpBranch %327
|
||||
%327 = OpLabel
|
||||
%545 = OpPhi %6 %546 %320 %335 %328
|
||||
%543 = OpPhi %6 %9 %320 %337 %328
|
||||
%333 = OpSLessThan %27 %543 %36
|
||||
OpLoopMerge %329 %328 None
|
||||
OpBranchConditional %333 %328 %329
|
||||
%328 = OpLabel
|
||||
%335 = OpIAdd %6 %545 %36
|
||||
%337 = OpIAdd %6 %543 %36
|
||||
OpBranch %327
|
||||
%329 = OpLabel
|
||||
OpBranch %322
|
||||
%322 = OpLabel
|
||||
%339 = OpIAdd %6 %541 %36
|
||||
OpBranch %319
|
||||
%321 = OpLabel
|
||||
OpBranch %314
|
||||
%314 = OpLabel
|
||||
%341 = OpIAdd %6 %539 %36
|
||||
OpBranch %311
|
||||
%313 = OpLabel
|
||||
OpBranch %306
|
||||
%306 = OpLabel
|
||||
%343 = OpIAdd %6 %537 %36
|
||||
OpBranch %303
|
||||
%305 = OpLabel
|
||||
OpBranch %298
|
||||
%298 = OpLabel
|
||||
%345 = OpIAdd %6 %535 %36
|
||||
OpBranch %295
|
||||
%297 = OpLabel
|
||||
OpBranch %290
|
||||
%290 = OpLabel
|
||||
%347 = OpIAdd %6 %533 %36
|
||||
OpBranch %287
|
||||
%289 = OpLabel
|
||||
OpBranch %282
|
||||
%282 = OpLabel
|
||||
%349 = OpIAdd %6 %531 %36
|
||||
OpBranch %279
|
||||
%281 = OpLabel
|
||||
OpBranch %274
|
||||
%274 = OpLabel
|
||||
%351 = OpIAdd %6 %529 %36
|
||||
OpBranch %271
|
||||
%273 = OpLabel
|
||||
OpBranch %266
|
||||
%266 = OpLabel
|
||||
%353 = OpIAdd %6 %527 %36
|
||||
OpBranch %263
|
||||
%265 = OpLabel
|
||||
OpBranch %258
|
||||
%258 = OpLabel
|
||||
%355 = OpIAdd %6 %525 %36
|
||||
OpBranch %255
|
||||
%257 = OpLabel
|
||||
OpBranch %250
|
||||
%250 = OpLabel
|
||||
%357 = OpIAdd %6 %523 %36
|
||||
OpBranch %247
|
||||
%249 = OpLabel
|
||||
OpBranch %242
|
||||
%242 = OpLabel
|
||||
%359 = OpIAdd %6 %521 %36
|
||||
OpBranch %239
|
||||
%241 = OpLabel
|
||||
OpBranch %234
|
||||
%234 = OpLabel
|
||||
%361 = OpIAdd %6 %519 %36
|
||||
OpBranch %231
|
||||
%233 = OpLabel
|
||||
OpBranch %226
|
||||
%226 = OpLabel
|
||||
%363 = OpIAdd %6 %517 %36
|
||||
OpBranch %223
|
||||
%225 = OpLabel
|
||||
OpBranch %218
|
||||
%218 = OpLabel
|
||||
%365 = OpIAdd %6 %515 %36
|
||||
OpBranch %215
|
||||
%217 = OpLabel
|
||||
OpBranch %210
|
||||
%210 = OpLabel
|
||||
%367 = OpIAdd %6 %513 %36
|
||||
OpBranch %207
|
||||
%209 = OpLabel
|
||||
OpBranch %202
|
||||
%202 = OpLabel
|
||||
%369 = OpIAdd %6 %511 %36
|
||||
OpBranch %199
|
||||
%201 = OpLabel
|
||||
OpBranch %194
|
||||
%194 = OpLabel
|
||||
%371 = OpIAdd %6 %509 %36
|
||||
OpBranch %191
|
||||
%193 = OpLabel
|
||||
OpBranch %186
|
||||
%186 = OpLabel
|
||||
%373 = OpIAdd %6 %507 %36
|
||||
OpBranch %183
|
||||
%185 = OpLabel
|
||||
OpBranch %178
|
||||
%178 = OpLabel
|
||||
%375 = OpIAdd %6 %505 %36
|
||||
OpBranch %175
|
||||
%177 = OpLabel
|
||||
OpBranch %170
|
||||
%170 = OpLabel
|
||||
%377 = OpIAdd %6 %503 %36
|
||||
OpBranch %167
|
||||
%169 = OpLabel
|
||||
OpBranch %162
|
||||
%162 = OpLabel
|
||||
%379 = OpIAdd %6 %501 %36
|
||||
OpBranch %159
|
||||
%161 = OpLabel
|
||||
OpBranch %154
|
||||
%154 = OpLabel
|
||||
%381 = OpIAdd %6 %499 %36
|
||||
OpBranch %151
|
||||
%153 = OpLabel
|
||||
OpBranch %146
|
||||
%146 = OpLabel
|
||||
%383 = OpIAdd %6 %497 %36
|
||||
OpBranch %143
|
||||
%145 = OpLabel
|
||||
OpBranch %138
|
||||
%138 = OpLabel
|
||||
%385 = OpIAdd %6 %495 %36
|
||||
OpBranch %135
|
||||
%137 = OpLabel
|
||||
OpBranch %130
|
||||
%130 = OpLabel
|
||||
%387 = OpIAdd %6 %493 %36
|
||||
OpBranch %127
|
||||
%129 = OpLabel
|
||||
OpBranch %122
|
||||
%122 = OpLabel
|
||||
%389 = OpIAdd %6 %491 %36
|
||||
OpBranch %119
|
||||
%121 = OpLabel
|
||||
OpBranch %114
|
||||
%114 = OpLabel
|
||||
%391 = OpIAdd %6 %489 %36
|
||||
OpBranch %111
|
||||
%113 = OpLabel
|
||||
OpBranch %106
|
||||
%106 = OpLabel
|
||||
%393 = OpIAdd %6 %487 %36
|
||||
OpBranch %103
|
||||
%105 = OpLabel
|
||||
OpBranch %98
|
||||
%98 = OpLabel
|
||||
%395 = OpIAdd %6 %485 %36
|
||||
OpBranch %95
|
||||
%97 = OpLabel
|
||||
OpBranch %90
|
||||
%90 = OpLabel
|
||||
%397 = OpIAdd %6 %483 %36
|
||||
OpBranch %87
|
||||
%89 = OpLabel
|
||||
OpBranch %82
|
||||
%82 = OpLabel
|
||||
%399 = OpIAdd %6 %481 %36
|
||||
OpBranch %79
|
||||
%81 = OpLabel
|
||||
OpBranch %74
|
||||
%74 = OpLabel
|
||||
%401 = OpIAdd %6 %479 %36
|
||||
OpBranch %71
|
||||
%73 = OpLabel
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
%403 = OpIAdd %6 %477 %36
|
||||
OpBranch %63
|
||||
%65 = OpLabel
|
||||
OpBranch %58
|
||||
%58 = OpLabel
|
||||
%405 = OpIAdd %6 %475 %36
|
||||
OpBranch %55
|
||||
%57 = OpLabel
|
||||
OpBranch %50
|
||||
%50 = OpLabel
|
||||
%407 = OpIAdd %6 %473 %36
|
||||
OpBranch %47
|
||||
%49 = OpLabel
|
||||
OpBranch %42
|
||||
%42 = OpLabel
|
||||
%409 = OpIAdd %6 %471 %36
|
||||
OpBranch %39
|
||||
%41 = OpLabel
|
||||
OpBranch %33
|
||||
%33 = OpLabel
|
||||
%411 = OpIAdd %6 %468 %36
|
||||
OpBranch %30
|
||||
%32 = OpLabel
|
||||
%414 = OpExtInst %6 %1 SClamp %470 %9 %413
|
||||
OpStore %419 %416
|
||||
%421 = OpAccessChain %420 %419 %414
|
||||
%422 = OpLoad %10 %421
|
||||
%423 = OpAccessChain %420 %15 %414
|
||||
OpStore %423 %422
|
||||
%425 = OpIAdd %6 %470 %36
|
||||
OpBranch %23
|
||||
%23 = OpLabel
|
||||
OpBranch %20
|
||||
%22 = OpLabel
|
||||
%434 = OpAccessChain %433 %431 %432
|
||||
%435 = OpLoad %10 %434
|
||||
%436 = OpConvertFToS %6 %435
|
||||
%437 = OpExtInst %6 %1 SClamp %436 %9 %413
|
||||
%438 = OpAccessChain %420 %15 %437
|
||||
%439 = OpLoad %10 %438
|
||||
%441 = OpAccessChain %433 %431 %440
|
||||
%442 = OpLoad %10 %441
|
||||
%443 = OpConvertFToS %6 %442
|
||||
%444 = OpExtInst %6 %1 SClamp %443 %9 %413
|
||||
%445 = OpAccessChain %420 %15 %444
|
||||
%446 = OpLoad %10 %445
|
||||
%450 = OpFOrdEqual %27 %439 %415
|
||||
OpSelectionMerge %452 None
|
||||
OpBranchConditional %450 %451 %452
|
||||
%451 = OpLabel
|
||||
%455 = OpFOrdEqual %27 %446 %415
|
||||
OpBranch %452
|
||||
%452 = OpLabel
|
||||
%456 = OpPhi %27 %450 %22 %455 %451
|
||||
OpSelectionMerge %458 None
|
||||
OpBranchConditional %456 %457 %463
|
||||
%457 = OpLabel
|
||||
OpStore %460 %462
|
||||
OpBranch %458
|
||||
%463 = OpLabel
|
||||
OpStore %460 %464
|
||||
OpBranch %458
|
||||
%458 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
END
|
||||
|
||||
|
||||
BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
|
||||
|
||||
PIPELINE graphics variant_pipeline
|
||||
ATTACH variant_vertex_shader
|
||||
ATTACH variant_fragment_shader
|
||||
FRAMEBUFFER_SIZE 256 256
|
||||
BIND BUFFER variant_framebuffer AS color LOCATION 0
|
||||
END
|
||||
CLEAR_COLOR variant_pipeline 0 0 0 255
|
||||
|
||||
CLEAR variant_pipeline
|
||||
RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
|
||||
|
||||
EXPECT variant_framebuffer IDX 0 0 SIZE 256 256 EQ_RGBA 255 0 0 255
|
||||
Reference in New Issue
Block a user