dawn-cmake/test/tint/vk-gl-cts/graphicsfuzz/stable-binarysearch-tree-fa.../1.wgsl

959 lines
24 KiB
WebGPU Shading Language

struct BST {
data : i32,
leftIndex : i32,
rightIndex : i32,
}
struct buf0 {
injectionSwitch : vec2<f32>,
}
@group(0) @binding(0) var<uniform> x_8 : buf0;
var<private> gl_FragCoord : vec4<f32>;
var<private> x_GLF_color : vec4<f32>;
fn main_1() {
var tree : array<BST, 10u>;
var x_67 : bool;
var x_114 : bool;
var x_572 : i32;
var x_67_phi : bool;
var x_70_phi : i32;
var x_116_phi : bool;
var x_119_phi : i32;
var x_569_phi : i32;
var x_572_phi : i32;
var x_574_phi : i32;
tree[0] = BST(9, -1, -1);
switch(0u) {
default: {
x_67_phi = false;
x_70_phi = 0;
loop {
var x_95 : i32;
var x_87 : i32;
var x_68 : bool;
var x_71 : i32;
var x_68_phi : bool;
var x_71_phi : i32;
x_67 = x_67_phi;
let x_70 : i32 = x_70_phi;
x_116_phi = x_67;
if ((x_70 <= 1)) {
} else {
break;
}
let x_76 : i32 = tree[x_70].data;
if ((5 <= x_76)) {
var x_114_phi : bool;
let x_89_save = x_70;
let x_90 : i32 = tree[x_89_save].leftIndex;
if ((x_90 == -1)) {
let x_97 : f32 = x_8.injectionSwitch.y;
let x_99 : f32 = x_8.injectionSwitch.x;
if ((x_97 < x_99)) {
loop {
discard;
}
}
tree[x_89_save].leftIndex = 1;
tree[1] = BST(5, -1, -1);
loop {
x_114_phi = x_67;
if ((0 < i32(x_97))) {
} else {
break;
}
x_114_phi = true;
break;
}
x_114 = x_114_phi;
x_116_phi = x_114;
if (x_114) {
break;
}
} else {
x_95 = tree[x_89_save].leftIndex;
x_68_phi = x_67;
x_71_phi = x_95;
continue;
}
} else {
let x_81_save = x_70;
let x_82 : i32 = tree[x_81_save].rightIndex;
if ((x_82 == -1)) {
tree[x_81_save].rightIndex = 1;
tree[1] = BST(5, -1, -1);
x_116_phi = true;
break;
} else {
x_87 = tree[x_81_save].rightIndex;
x_68_phi = x_67;
x_71_phi = x_87;
continue;
}
}
x_68_phi = x_114;
x_71_phi = x_70;
continuing {
x_68 = x_68_phi;
x_71 = x_71_phi;
x_67_phi = x_68;
x_70_phi = x_71;
}
}
let x_116 : bool = x_116_phi;
if (x_116) {
break;
}
}
}
x_119_phi = 0;
loop {
var x_133 : bool;
var x_120 : i32;
var x_134_phi : bool;
let x_119 : i32 = x_119_phi;
let x_125 : f32 = gl_FragCoord.y;
let x_126 : bool = (x_125 < 0.0);
x_134_phi = x_126;
if (!(x_126)) {
let x_131 : f32 = x_8.injectionSwitch.y;
x_133 = (x_119 != i32(x_131));
x_134_phi = x_133;
}
let x_134 : bool = x_134_phi;
if (x_134) {
} else {
break;
}
var x_139 : bool;
var x_186 : bool;
var x_139_phi : bool;
var x_142_phi : i32;
var x_188_phi : bool;
switch(0u) {
default: {
x_139_phi = false;
x_142_phi = 0;
loop {
var x_167 : i32;
var x_159 : i32;
var x_140 : bool;
var x_143 : i32;
var x_140_phi : bool;
var x_143_phi : i32;
x_139 = x_139_phi;
let x_142 : i32 = x_142_phi;
x_188_phi = x_139;
if ((x_142 <= 2)) {
} else {
break;
}
let x_148 : i32 = tree[x_142].data;
if ((12 <= x_148)) {
var x_186_phi : bool;
let x_161_save = x_142;
let x_162 : i32 = tree[x_161_save].leftIndex;
if ((x_162 == -1)) {
let x_169 : f32 = x_8.injectionSwitch.y;
let x_171 : f32 = x_8.injectionSwitch.x;
if ((x_169 < x_171)) {
loop {
discard;
}
}
tree[x_161_save].leftIndex = 2;
tree[2] = BST(12, -1, -1);
loop {
x_186_phi = x_139;
if ((0 < i32(x_169))) {
} else {
break;
}
x_186_phi = true;
break;
}
x_186 = x_186_phi;
x_188_phi = x_186;
if (x_186) {
break;
}
} else {
x_167 = tree[x_161_save].leftIndex;
x_140_phi = x_139;
x_143_phi = x_167;
continue;
}
} else {
let x_153_save = x_142;
let x_154 : i32 = tree[x_153_save].rightIndex;
if ((x_154 == -1)) {
tree[x_153_save].rightIndex = 2;
tree[2] = BST(12, -1, -1);
x_188_phi = true;
break;
} else {
x_159 = tree[x_153_save].rightIndex;
x_140_phi = x_139;
x_143_phi = x_159;
continue;
}
}
x_140_phi = x_186;
x_143_phi = x_142;
continuing {
x_140 = x_140_phi;
x_143 = x_143_phi;
x_139_phi = x_140;
x_142_phi = x_143;
}
}
let x_188 : bool = x_188_phi;
if (x_188) {
break;
}
}
}
continuing {
x_120 = (x_119 + 1);
x_119_phi = x_120;
}
}
var x_193 : bool;
var x_240 : bool;
var x_193_phi : bool;
var x_196_phi : i32;
var x_242_phi : bool;
switch(0u) {
default: {
x_193_phi = false;
x_196_phi = 0;
loop {
var x_221 : i32;
var x_213 : i32;
var x_194 : bool;
var x_197 : i32;
var x_194_phi : bool;
var x_197_phi : i32;
x_193 = x_193_phi;
let x_196 : i32 = x_196_phi;
x_242_phi = x_193;
if ((x_196 <= 3)) {
} else {
break;
}
let x_202 : i32 = tree[x_196].data;
if ((15 <= x_202)) {
var x_240_phi : bool;
let x_215_save = x_196;
let x_216 : i32 = tree[x_215_save].leftIndex;
if ((x_216 == -1)) {
let x_223 : f32 = x_8.injectionSwitch.y;
let x_225 : f32 = x_8.injectionSwitch.x;
if ((x_223 < x_225)) {
loop {
discard;
}
}
tree[x_215_save].leftIndex = 3;
tree[3] = BST(15, -1, -1);
loop {
x_240_phi = x_193;
if ((0 < i32(x_223))) {
} else {
break;
}
x_240_phi = true;
break;
}
x_240 = x_240_phi;
x_242_phi = x_240;
if (x_240) {
break;
}
} else {
x_221 = tree[x_215_save].leftIndex;
x_194_phi = x_193;
x_197_phi = x_221;
continue;
}
} else {
let x_207_save = x_196;
let x_208 : i32 = tree[x_207_save].rightIndex;
if ((x_208 == -1)) {
tree[x_207_save].rightIndex = 3;
tree[3] = BST(15, -1, -1);
x_242_phi = true;
break;
} else {
x_213 = tree[x_207_save].rightIndex;
x_194_phi = x_193;
x_197_phi = x_213;
continue;
}
}
x_194_phi = x_240;
x_197_phi = x_196;
continuing {
x_194 = x_194_phi;
x_197 = x_197_phi;
x_193_phi = x_194;
x_196_phi = x_197;
}
}
let x_242 : bool = x_242_phi;
if (x_242) {
break;
}
}
}
var x_247 : bool;
var x_294 : bool;
var x_247_phi : bool;
var x_250_phi : i32;
var x_296_phi : bool;
switch(0u) {
default: {
x_247_phi = false;
x_250_phi = 0;
loop {
var x_275 : i32;
var x_267 : i32;
var x_248 : bool;
var x_251 : i32;
var x_248_phi : bool;
var x_251_phi : i32;
x_247 = x_247_phi;
let x_250 : i32 = x_250_phi;
x_296_phi = x_247;
if ((x_250 <= 4)) {
} else {
break;
}
let x_256 : i32 = tree[x_250].data;
if ((7 <= x_256)) {
var x_294_phi : bool;
let x_269_save = x_250;
let x_270 : i32 = tree[x_269_save].leftIndex;
if ((x_270 == -1)) {
let x_277 : f32 = x_8.injectionSwitch.y;
let x_279 : f32 = x_8.injectionSwitch.x;
if ((x_277 < x_279)) {
loop {
discard;
}
}
tree[x_269_save].leftIndex = 4;
tree[4] = BST(7, -1, -1);
loop {
x_294_phi = x_247;
if ((0 < i32(x_277))) {
} else {
break;
}
x_294_phi = true;
break;
}
x_294 = x_294_phi;
x_296_phi = x_294;
if (x_294) {
break;
}
} else {
x_275 = tree[x_269_save].leftIndex;
x_248_phi = x_247;
x_251_phi = x_275;
continue;
}
} else {
let x_261_save = x_250;
let x_262 : i32 = tree[x_261_save].rightIndex;
if ((x_262 == -1)) {
tree[x_261_save].rightIndex = 4;
tree[4] = BST(7, -1, -1);
x_296_phi = true;
break;
} else {
x_267 = tree[x_261_save].rightIndex;
x_248_phi = x_247;
x_251_phi = x_267;
continue;
}
}
x_248_phi = x_294;
x_251_phi = x_250;
continuing {
x_248 = x_248_phi;
x_251 = x_251_phi;
x_247_phi = x_248;
x_250_phi = x_251;
}
}
let x_296 : bool = x_296_phi;
if (x_296) {
break;
}
}
}
var x_301 : bool;
var x_348 : bool;
var x_301_phi : bool;
var x_304_phi : i32;
var x_350_phi : bool;
switch(0u) {
default: {
x_301_phi = false;
x_304_phi = 0;
loop {
var x_329 : i32;
var x_321 : i32;
var x_302 : bool;
var x_305 : i32;
var x_302_phi : bool;
var x_305_phi : i32;
x_301 = x_301_phi;
let x_304 : i32 = x_304_phi;
x_350_phi = x_301;
if ((x_304 <= 5)) {
} else {
break;
}
let x_310 : i32 = tree[x_304].data;
if ((8 <= x_310)) {
var x_348_phi : bool;
let x_323_save = x_304;
let x_324 : i32 = tree[x_323_save].leftIndex;
if ((x_324 == -1)) {
let x_331 : f32 = x_8.injectionSwitch.y;
let x_333 : f32 = x_8.injectionSwitch.x;
if ((x_331 < x_333)) {
loop {
discard;
}
}
tree[x_323_save].leftIndex = 5;
tree[5] = BST(8, -1, -1);
loop {
x_348_phi = x_301;
if ((0 < i32(x_331))) {
} else {
break;
}
x_348_phi = true;
break;
}
x_348 = x_348_phi;
x_350_phi = x_348;
if (x_348) {
break;
}
} else {
x_329 = tree[x_323_save].leftIndex;
x_302_phi = x_301;
x_305_phi = x_329;
continue;
}
} else {
let x_315_save = x_304;
let x_316 : i32 = tree[x_315_save].rightIndex;
if ((x_316 == -1)) {
tree[x_315_save].rightIndex = 5;
tree[5] = BST(8, -1, -1);
x_350_phi = true;
break;
} else {
x_321 = tree[x_315_save].rightIndex;
x_302_phi = x_301;
x_305_phi = x_321;
continue;
}
}
x_302_phi = x_348;
x_305_phi = x_304;
continuing {
x_302 = x_302_phi;
x_305 = x_305_phi;
x_301_phi = x_302;
x_304_phi = x_305;
}
}
let x_350 : bool = x_350_phi;
if (x_350) {
break;
}
}
}
var x_355 : bool;
var x_402 : bool;
var x_355_phi : bool;
var x_358_phi : i32;
var x_404_phi : bool;
switch(0u) {
default: {
x_355_phi = false;
x_358_phi = 0;
loop {
var x_383 : i32;
var x_375 : i32;
var x_356 : bool;
var x_359 : i32;
var x_356_phi : bool;
var x_359_phi : i32;
x_355 = x_355_phi;
let x_358 : i32 = x_358_phi;
x_404_phi = x_355;
if ((x_358 <= 6)) {
} else {
break;
}
let x_364 : i32 = tree[x_358].data;
if ((2 <= x_364)) {
var x_402_phi : bool;
let x_377_save = x_358;
let x_378 : i32 = tree[x_377_save].leftIndex;
if ((x_378 == -1)) {
let x_385 : f32 = x_8.injectionSwitch.y;
let x_387 : f32 = x_8.injectionSwitch.x;
if ((x_385 < x_387)) {
loop {
discard;
}
}
tree[x_377_save].leftIndex = 6;
tree[6] = BST(2, -1, -1);
loop {
x_402_phi = x_355;
if ((0 < i32(x_385))) {
} else {
break;
}
x_402_phi = true;
break;
}
x_402 = x_402_phi;
x_404_phi = x_402;
if (x_402) {
break;
}
} else {
x_383 = tree[x_377_save].leftIndex;
x_356_phi = x_355;
x_359_phi = x_383;
continue;
}
} else {
let x_369_save = x_358;
let x_370 : i32 = tree[x_369_save].rightIndex;
if ((x_370 == -1)) {
tree[x_369_save].rightIndex = 6;
tree[6] = BST(2, -1, -1);
x_404_phi = true;
break;
} else {
x_375 = tree[x_369_save].rightIndex;
x_356_phi = x_355;
x_359_phi = x_375;
continue;
}
}
x_356_phi = x_402;
x_359_phi = x_358;
continuing {
x_356 = x_356_phi;
x_359 = x_359_phi;
x_355_phi = x_356;
x_358_phi = x_359;
}
}
let x_404 : bool = x_404_phi;
if (x_404) {
break;
}
}
}
var x_409 : bool;
var x_456 : bool;
var x_409_phi : bool;
var x_412_phi : i32;
var x_458_phi : bool;
switch(0u) {
default: {
x_409_phi = false;
x_412_phi = 0;
loop {
var x_437 : i32;
var x_429 : i32;
var x_410 : bool;
var x_413 : i32;
var x_410_phi : bool;
var x_413_phi : i32;
x_409 = x_409_phi;
let x_412 : i32 = x_412_phi;
x_458_phi = x_409;
if ((x_412 <= 7)) {
} else {
break;
}
let x_418 : i32 = tree[x_412].data;
if ((6 <= x_418)) {
var x_456_phi : bool;
let x_431_save = x_412;
let x_432 : i32 = tree[x_431_save].leftIndex;
if ((x_432 == -1)) {
let x_439 : f32 = x_8.injectionSwitch.y;
let x_441 : f32 = x_8.injectionSwitch.x;
if ((x_439 < x_441)) {
loop {
discard;
}
}
tree[x_431_save].leftIndex = 7;
tree[7] = BST(6, -1, -1);
loop {
x_456_phi = x_409;
if ((0 < i32(x_439))) {
} else {
break;
}
x_456_phi = true;
break;
}
x_456 = x_456_phi;
x_458_phi = x_456;
if (x_456) {
break;
}
} else {
x_437 = tree[x_431_save].leftIndex;
x_410_phi = x_409;
x_413_phi = x_437;
continue;
}
} else {
let x_423_save = x_412;
let x_424 : i32 = tree[x_423_save].rightIndex;
if ((x_424 == -1)) {
tree[x_423_save].rightIndex = 7;
tree[7] = BST(6, -1, -1);
x_458_phi = true;
break;
} else {
x_429 = tree[x_423_save].rightIndex;
x_410_phi = x_409;
x_413_phi = x_429;
continue;
}
}
x_410_phi = x_456;
x_413_phi = x_412;
continuing {
x_410 = x_410_phi;
x_413 = x_413_phi;
x_409_phi = x_410;
x_412_phi = x_413;
}
}
let x_458 : bool = x_458_phi;
if (x_458) {
break;
}
}
}
var x_463 : bool;
var x_510 : bool;
var x_463_phi : bool;
var x_466_phi : i32;
var x_512_phi : bool;
switch(0u) {
default: {
x_463_phi = false;
x_466_phi = 0;
loop {
var x_491 : i32;
var x_483 : i32;
var x_464 : bool;
var x_467 : i32;
var x_464_phi : bool;
var x_467_phi : i32;
x_463 = x_463_phi;
let x_466 : i32 = x_466_phi;
x_512_phi = x_463;
if ((x_466 <= 8)) {
} else {
break;
}
let x_472 : i32 = tree[x_466].data;
if ((17 <= x_472)) {
var x_510_phi : bool;
let x_485_save = x_466;
let x_486 : i32 = tree[x_485_save].leftIndex;
if ((x_486 == -1)) {
let x_493 : f32 = x_8.injectionSwitch.y;
let x_495 : f32 = x_8.injectionSwitch.x;
if ((x_493 < x_495)) {
loop {
discard;
}
}
tree[x_485_save].leftIndex = 8;
tree[8] = BST(17, -1, -1);
loop {
x_510_phi = x_463;
if ((0 < i32(x_493))) {
} else {
break;
}
x_510_phi = true;
break;
}
x_510 = x_510_phi;
x_512_phi = x_510;
if (x_510) {
break;
}
} else {
x_491 = tree[x_485_save].leftIndex;
x_464_phi = x_463;
x_467_phi = x_491;
continue;
}
} else {
let x_477_save = x_466;
let x_478 : i32 = tree[x_477_save].rightIndex;
if ((x_478 == -1)) {
tree[x_477_save].rightIndex = 8;
tree[8] = BST(17, -1, -1);
x_512_phi = true;
break;
} else {
x_483 = tree[x_477_save].rightIndex;
x_464_phi = x_463;
x_467_phi = x_483;
continue;
}
}
x_464_phi = x_510;
x_467_phi = x_466;
continuing {
x_464 = x_464_phi;
x_467 = x_467_phi;
x_463_phi = x_464;
x_466_phi = x_467;
}
}
let x_512 : bool = x_512_phi;
if (x_512) {
break;
}
}
}
var x_517 : bool;
var x_564 : bool;
var x_517_phi : bool;
var x_520_phi : i32;
var x_566_phi : bool;
switch(0u) {
default: {
x_517_phi = false;
x_520_phi = 0;
loop {
var x_545 : i32;
var x_537 : i32;
var x_518 : bool;
var x_521 : i32;
var x_518_phi : bool;
var x_521_phi : i32;
x_517 = x_517_phi;
let x_520 : i32 = x_520_phi;
x_566_phi = x_517;
if ((x_520 <= 9)) {
} else {
break;
}
let x_526 : i32 = tree[x_520].data;
if ((13 <= x_526)) {
var x_564_phi : bool;
let x_539_save = x_520;
let x_540 : i32 = tree[x_539_save].leftIndex;
if ((x_540 == -1)) {
let x_547 : f32 = x_8.injectionSwitch.y;
let x_549 : f32 = x_8.injectionSwitch.x;
if ((x_547 < x_549)) {
loop {
discard;
}
}
tree[x_539_save].leftIndex = 9;
tree[9] = BST(13, -1, -1);
loop {
x_564_phi = x_517;
if ((0 < i32(x_547))) {
} else {
break;
}
x_564_phi = true;
break;
}
x_564 = x_564_phi;
x_566_phi = x_564;
if (x_564) {
break;
}
} else {
x_545 = tree[x_539_save].leftIndex;
x_518_phi = x_517;
x_521_phi = x_545;
continue;
}
} else {
let x_531_save = x_520;
let x_532 : i32 = tree[x_531_save].rightIndex;
if ((x_532 == -1)) {
tree[x_531_save].rightIndex = 9;
tree[9] = BST(13, -1, -1);
x_566_phi = true;
break;
} else {
x_537 = tree[x_531_save].rightIndex;
x_518_phi = x_517;
x_521_phi = x_537;
continue;
}
}
x_518_phi = x_564;
x_521_phi = x_520;
continuing {
x_518 = x_518_phi;
x_521 = x_521_phi;
x_517_phi = x_518;
x_520_phi = x_521;
}
}
let x_566 : bool = x_566_phi;
if (x_566) {
break;
}
}
}
x_569_phi = 0;
x_572_phi = 0;
x_574_phi = 0;
loop {
var x_597 : i32;
var x_607 : i32;
var x_612 : i32;
var x_575 : i32;
var x_570_phi : i32;
var x_573_phi : i32;
let x_569 : i32 = x_569_phi;
x_572 = x_572_phi;
let x_574 : i32 = x_574_phi;
if ((x_574 < 20)) {
} else {
break;
}
var x_582_phi : i32;
var x_597_phi : i32;
var x_598_phi : bool;
switch(0u) {
default: {
x_582_phi = 0;
loop {
let x_582 : i32 = x_582_phi;
x_597_phi = x_569;
x_598_phi = false;
if ((x_582 != -1)) {
} else {
break;
}
let x_589 : BST = tree[x_582];
let x_590 : i32 = x_589.data;
let x_591 : i32 = x_589.leftIndex;
let x_592 : i32 = x_589.rightIndex;
if ((x_590 == x_574)) {
x_597_phi = x_574;
x_598_phi = true;
break;
}
continuing {
x_582_phi = select(x_591, x_592, (x_574 > x_590));
}
}
x_597 = x_597_phi;
let x_598 : bool = x_598_phi;
x_570_phi = x_597;
if (x_598) {
break;
}
x_570_phi = -1;
}
}
var x_570 : i32;
var x_606 : i32;
var x_611 : i32;
var x_607_phi : i32;
var x_612_phi : i32;
x_570 = x_570_phi;
switch(x_574) {
case 2, 5, 6, 7, 8, 9, 12, 13, 15, 17: {
x_607_phi = x_572;
if ((x_570 == bitcast<i32>(x_574))) {
x_606 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_607_phi = x_606;
}
x_607 = x_607_phi;
x_573_phi = x_607;
}
default: {
x_612_phi = x_572;
if ((x_570 == bitcast<i32>(-1))) {
x_611 = bitcast<i32>((x_572 + bitcast<i32>(1)));
x_612_phi = x_611;
}
x_612 = x_612_phi;
x_573_phi = x_612;
}
}
let x_573 : i32 = x_573_phi;
continuing {
x_575 = (x_574 + 1);
x_569_phi = x_570;
x_572_phi = x_573;
x_574_phi = x_575;
}
}
if ((x_572 == bitcast<i32>(20))) {
x_GLF_color = vec4<f32>(1.0, 0.0, 0.0, 1.0);
} else {
x_GLF_color = vec4<f32>(0.0, 0.0, 1.0, 1.0);
}
return;
}
struct main_out {
@location(0)
x_GLF_color_1 : vec4<f32>,
}
@stage(fragment)
fn main(@builtin(position) gl_FragCoord_param : vec4<f32>) -> main_out {
gl_FragCoord = gl_FragCoord_param;
main_1();
return main_out(x_GLF_color);
}