test: Remove many expected files

For these tests, we only really care that we can successfully consume
them and generate valid output for each backend. Having the expected
files in the tree generates significant churn for any change to how we
generate backend code, which makes it hard to inspect diffs.

Change-Id: Ic98c248081144c0fb1791f1303eaf6d459548e3d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/62720
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: James Price <jrprice@google.com>
This commit is contained in:
James Price
2021-08-24 22:49:42 +00:00
committed by Tint LUCI CQ
parent 568136dd10
commit 87cce20f67
8526 changed files with 12 additions and 613699 deletions

View File

@@ -1,83 +0,0 @@
cbuffer cbuffer_x_5 : register(b0, space0) {
uint4 x_5[1];
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void x_51() {
discard;
}
void main_1() {
while (true) {
bool x_31 = false;
bool x_30_phi = false;
x_30_phi = false;
while (true) {
bool x_31_phi = false;
const bool x_30 = x_30_phi;
while (true) {
float4 x_52 = float4(0.0f, 0.0f, 0.0f, 0.0f);
float4 x_54 = float4(0.0f, 0.0f, 0.0f, 0.0f);
float4 x_55_phi = float4(0.0f, 0.0f, 0.0f, 0.0f);
const float x_36 = asfloat(x_5[0].y);
x_31_phi = x_30;
if ((x_36 > 0.0f)) {
} else {
break;
}
while (true) {
const float x_46 = asfloat(x_5[0].x);
if ((x_46 > 0.0f)) {
x_51();
x_52 = float4(0.0f, 0.0f, 0.0f, 0.0f);
x_55_phi = x_52;
break;
}
x_54 = (float4(1.0f, 0.0f, 0.0f, 1.0f) + float4(x_46, x_46, x_46, x_46));
x_55_phi = x_54;
break;
}
x_GLF_color = x_55_phi;
x_31_phi = true;
break;
}
x_31 = x_31_phi;
if (x_31) {
break;
} else {
{
x_30_phi = x_31;
}
continue;
}
{
x_30_phi = x_31;
}
}
if (x_31) {
break;
}
break;
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner() {
main_1();
const main_out tint_symbol_2 = {x_GLF_color};
return tint_symbol_2;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,87 +0,0 @@
#include <metal_stdlib>
using namespace metal;
struct buf0 {
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void x_51() {
discard_fragment();
}
void main_1(constant buf0& x_5, thread float4* const tint_symbol_3) {
while (true) {
bool x_31 = false;
bool x_30_phi = false;
x_30_phi = false;
while (true) {
bool x_31_phi = false;
bool const x_30 = x_30_phi;
while (true) {
float4 x_52 = 0.0f;
float4 x_54 = 0.0f;
float4 x_55_phi = 0.0f;
float const x_36 = x_5.injectionSwitch.y;
x_31_phi = x_30;
if ((x_36 > 0.0f)) {
} else {
break;
}
while (true) {
float const x_46 = x_5.injectionSwitch.x;
if ((x_46 > 0.0f)) {
x_51();
x_52 = float4(0.0f, 0.0f, 0.0f, 0.0f);
x_55_phi = x_52;
break;
}
x_54 = (float4(1.0f, 0.0f, 0.0f, 1.0f) + float4(x_46, x_46, x_46, x_46));
x_55_phi = x_54;
break;
}
float4 const x_55 = x_55_phi;
*(tint_symbol_3) = x_55;
x_31_phi = true;
break;
}
x_31 = x_31_phi;
if (x_31) {
break;
} else {
{
x_30_phi = x_31;
}
continue;
}
{
x_30_phi = x_31;
}
}
if (x_31) {
break;
}
break;
}
return;
}
main_out tint_symbol_inner(constant buf0& x_5, thread float4* const tint_symbol_4) {
main_1(x_5, tint_symbol_4);
main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol(constant buf0& x_5 [[buffer(0)]]) {
thread float4 tint_symbol_5 = 0.0f;
main_out const inner_result = tint_symbol_inner(x_5, &(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,177 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 92
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %x_GLF_color_1_1
OpExecutionMode %main OriginUpperLeft
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "injectionSwitch"
OpName %x_5 "x_5"
OpName %x_GLF_color "x_GLF_color"
OpName %x_51 "x_51"
OpName %main_1 "main_1"
OpName %x_31 "x_31"
OpName %x_30_phi "x_30_phi"
OpName %x_31_phi "x_31_phi"
OpName %x_52 "x_52"
OpName %x_54 "x_54"
OpName %x_55_phi "x_55_phi"
OpName %main_out "main_out"
OpMemberName %main_out 0 "x_GLF_color_1"
OpName %main_inner "main_inner"
OpName %main "main"
OpDecorate %x_GLF_color_1_1 Location 0
OpDecorate %buf0 Block
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %x_5 NonWritable
OpDecorate %x_5 DescriptorSet 0
OpDecorate %x_5 Binding 0
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %5
%v2float = OpTypeVector %float 2
%buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%x_5 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
%void = OpTypeVoid
%12 = OpTypeFunction %void
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%25 = OpConstantNull %bool
%false = OpConstantFalse %bool
%_ptr_Function_v4float = OpTypePointer Function %v4float
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_0 = OpConstant %float 0
%63 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%float_1 = OpConstant %float 1
%66 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%true = OpConstantTrue %bool
%main_out = OpTypeStruct %v4float
%81 = OpTypeFunction %main_out
%x_51 = OpFunction %void None %12
%15 = OpLabel
OpKill
OpFunctionEnd
%main_1 = OpFunction %void None %12
%17 = OpLabel
%x_31 = OpVariable %_ptr_Function_bool Function %25
%x_30_phi = OpVariable %_ptr_Function_bool Function %25
%x_31_phi = OpVariable %_ptr_Function_bool Function %25
%x_52 = OpVariable %_ptr_Function_v4float Function %5
%x_54 = OpVariable %_ptr_Function_v4float Function %5
%x_55_phi = OpVariable %_ptr_Function_v4float Function %5
OpBranch %18
%18 = OpLabel
OpLoopMerge %19 %20 None
OpBranch %21
%21 = OpLabel
OpStore %x_30_phi %false
OpBranch %28
%28 = OpLabel
OpLoopMerge %29 %30 None
OpBranch %31
%31 = OpLabel
%33 = OpLoad %bool %x_30_phi
OpBranch %34
%34 = OpLabel
OpLoopMerge %35 %36 None
OpBranch %37
%37 = OpLabel
%46 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %uint_1
%47 = OpLoad %float %46
OpStore %x_31_phi %33
%49 = OpFOrdGreaterThan %bool %47 %float_0
OpSelectionMerge %50 None
OpBranchConditional %49 %51 %52
%51 = OpLabel
OpBranch %50
%52 = OpLabel
OpBranch %35
%50 = OpLabel
OpBranch %53
%53 = OpLabel
OpLoopMerge %54 %55 None
OpBranch %56
%56 = OpLabel
%57 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %uint_0
%58 = OpLoad %float %57
%59 = OpFOrdGreaterThan %bool %58 %float_0
OpSelectionMerge %60 None
OpBranchConditional %59 %61 %60
%61 = OpLabel
%62 = OpFunctionCall %void %x_51
OpStore %x_52 %63
%64 = OpLoad %v4float %x_52
OpStore %x_55_phi %64
OpBranch %54
%60 = OpLabel
%67 = OpCompositeConstruct %v4float %58 %58 %58 %58
%68 = OpFAdd %v4float %66 %67
OpStore %x_54 %68
%69 = OpLoad %v4float %x_54
OpStore %x_55_phi %69
OpBranch %54
%55 = OpLabel
OpBranch %53
%54 = OpLabel
%70 = OpLoad %v4float %x_55_phi
OpStore %x_GLF_color %70
OpStore %x_31_phi %true
OpBranch %35
%36 = OpLabel
OpBranch %34
%35 = OpLabel
%72 = OpLoad %bool %x_31_phi
OpStore %x_31 %72
%73 = OpLoad %bool %x_31
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %76
%75 = OpLabel
OpBranch %29
%76 = OpLabel
OpBranch %30
%74 = OpLabel
OpBranch %30
%30 = OpLabel
%77 = OpLoad %bool %x_31
OpStore %x_30_phi %77
OpBranch %28
%29 = OpLabel
%78 = OpLoad %bool %x_31
OpSelectionMerge %79 None
OpBranchConditional %78 %80 %79
%80 = OpLabel
OpBranch %19
%79 = OpLabel
OpBranch %19
%20 = OpLabel
OpBranch %18
%19 = OpLabel
OpReturn
OpFunctionEnd
%main_inner = OpFunction %main_out None %81
%84 = OpLabel
%85 = OpFunctionCall %void %main_1
%86 = OpLoad %v4float %x_GLF_color
%87 = OpCompositeConstruct %main_out %86
OpReturnValue %87
OpFunctionEnd
%main = OpFunction %void None %12
%89 = OpLabel
%90 = OpFunctionCall %main_out %main_inner
%91 = OpCompositeExtract %v4float %90 0
OpStore %x_GLF_color_1_1 %91
OpReturn
OpFunctionEnd

View File

@@ -1,77 +0,0 @@
[[block]]
struct buf0 {
injectionSwitch : vec2<f32>;
};
[[group(0), binding(0)]] var<uniform> x_5 : buf0;
var<private> x_GLF_color : vec4<f32>;
fn x_51() {
discard;
}
fn main_1() {
loop {
var x_31 : bool;
var x_30_phi : bool;
x_30_phi = false;
loop {
var x_31_phi : bool;
let x_30 : bool = x_30_phi;
loop {
var x_52 : vec4<f32>;
var x_54 : vec4<f32>;
var x_55_phi : vec4<f32>;
let x_36 : f32 = x_5.injectionSwitch.y;
x_31_phi = x_30;
if ((x_36 > 0.0)) {
} else {
break;
}
loop {
let x_46 : f32 = x_5.injectionSwitch.x;
if ((x_46 > 0.0)) {
x_51();
x_52 = vec4<f32>(0.0, 0.0, 0.0, 0.0);
x_55_phi = x_52;
break;
}
x_54 = (vec4<f32>(1.0, 0.0, 0.0, 1.0) + vec4<f32>(x_46, x_46, x_46, x_46));
x_55_phi = x_54;
break;
}
let x_55 : vec4<f32> = x_55_phi;
x_GLF_color = x_55;
x_31_phi = true;
break;
}
x_31 = x_31_phi;
if (x_31) {
break;
} else {
continue;
}
continuing {
x_30_phi = x_31;
}
}
if (x_31) {
break;
}
break;
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}

View File

@@ -1,83 +0,0 @@
cbuffer cbuffer_x_5 : register(b0, space0) {
uint4 x_5[1];
};
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
void x_51() {
discard;
}
void main_1() {
while (true) {
bool x_31 = false;
bool x_30_phi = false;
x_30_phi = false;
while (true) {
bool x_31_phi = false;
const bool x_30 = x_30_phi;
while (true) {
float4 x_52 = float4(0.0f, 0.0f, 0.0f, 0.0f);
float4 x_54 = float4(0.0f, 0.0f, 0.0f, 0.0f);
float4 x_55_phi = float4(0.0f, 0.0f, 0.0f, 0.0f);
const float x_36 = asfloat(x_5[0].y);
x_31_phi = x_30;
if ((x_36 > 0.0f)) {
} else {
break;
}
while (true) {
const float x_46 = asfloat(x_5[0].x);
if ((x_46 > 0.0f)) {
x_51();
x_52 = float4(0.0f, 0.0f, 0.0f, 0.0f);
x_55_phi = x_52;
break;
}
x_54 = (float4(1.0f, 0.0f, 0.0f, 1.0f) + float4(x_46, x_46, x_46, x_46));
x_55_phi = x_54;
break;
}
x_GLF_color = x_55_phi;
x_31_phi = true;
break;
}
x_31 = x_31_phi;
if (x_31) {
break;
} else {
{
x_30_phi = x_31;
}
continue;
}
{
x_30_phi = x_31;
}
}
if (x_31) {
break;
}
break;
}
return;
}
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol {
float4 x_GLF_color_1 : SV_Target0;
};
main_out main_inner() {
main_1();
const main_out tint_symbol_2 = {x_GLF_color};
return tint_symbol_2;
}
tint_symbol main() {
const main_out inner_result = main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,87 +0,0 @@
#include <metal_stdlib>
using namespace metal;
struct buf0 {
/* 0x0000 */ float2 injectionSwitch;
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void x_51() {
discard_fragment();
}
void main_1(constant buf0& x_5, thread float4* const tint_symbol_3) {
while (true) {
bool x_31 = false;
bool x_30_phi = false;
x_30_phi = false;
while (true) {
bool x_31_phi = false;
bool const x_30 = x_30_phi;
while (true) {
float4 x_52 = 0.0f;
float4 x_54 = 0.0f;
float4 x_55_phi = 0.0f;
float const x_36 = x_5.injectionSwitch.y;
x_31_phi = x_30;
if ((x_36 > 0.0f)) {
} else {
break;
}
while (true) {
float const x_46 = x_5.injectionSwitch.x;
if ((x_46 > 0.0f)) {
x_51();
x_52 = float4(0.0f, 0.0f, 0.0f, 0.0f);
x_55_phi = x_52;
break;
}
x_54 = (float4(1.0f, 0.0f, 0.0f, 1.0f) + float4(x_46, x_46, x_46, x_46));
x_55_phi = x_54;
break;
}
float4 const x_55 = x_55_phi;
*(tint_symbol_3) = x_55;
x_31_phi = true;
break;
}
x_31 = x_31_phi;
if (x_31) {
break;
} else {
{
x_30_phi = x_31;
}
continue;
}
{
x_30_phi = x_31;
}
}
if (x_31) {
break;
}
break;
}
return;
}
main_out tint_symbol_inner(constant buf0& x_5, thread float4* const tint_symbol_4) {
main_1(x_5, tint_symbol_4);
main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_4)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol(constant buf0& x_5 [[buffer(0)]]) {
thread float4 tint_symbol_5 = 0.0f;
main_out const inner_result = tint_symbol_inner(x_5, &(tint_symbol_5));
tint_symbol_1 wrapper_result = {};
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}

View File

@@ -1,177 +0,0 @@
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 92
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %x_GLF_color_1_1
OpExecutionMode %main OriginUpperLeft
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "injectionSwitch"
OpName %x_5 "x_5"
OpName %x_GLF_color "x_GLF_color"
OpName %x_51 "x_51"
OpName %main_1 "main_1"
OpName %x_31 "x_31"
OpName %x_30_phi "x_30_phi"
OpName %x_31_phi "x_31_phi"
OpName %x_52 "x_52"
OpName %x_54 "x_54"
OpName %x_55_phi "x_55_phi"
OpName %main_out "main_out"
OpMemberName %main_out 0 "x_GLF_color_1"
OpName %main_inner "main_inner"
OpName %main "main"
OpDecorate %x_GLF_color_1_1 Location 0
OpDecorate %buf0 Block
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %x_5 NonWritable
OpDecorate %x_5 DescriptorSet 0
OpDecorate %x_5 Binding 0
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%5 = OpConstantNull %v4float
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %5
%v2float = OpTypeVector %float 2
%buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%x_5 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Private_v4float = OpTypePointer Private %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
%void = OpTypeVoid
%12 = OpTypeFunction %void
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%25 = OpConstantNull %bool
%false = OpConstantFalse %bool
%_ptr_Function_v4float = OpTypePointer Function %v4float
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_0 = OpConstant %float 0
%63 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%float_1 = OpConstant %float 1
%66 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%true = OpConstantTrue %bool
%main_out = OpTypeStruct %v4float
%81 = OpTypeFunction %main_out
%x_51 = OpFunction %void None %12
%15 = OpLabel
OpKill
OpFunctionEnd
%main_1 = OpFunction %void None %12
%17 = OpLabel
%x_31 = OpVariable %_ptr_Function_bool Function %25
%x_30_phi = OpVariable %_ptr_Function_bool Function %25
%x_31_phi = OpVariable %_ptr_Function_bool Function %25
%x_52 = OpVariable %_ptr_Function_v4float Function %5
%x_54 = OpVariable %_ptr_Function_v4float Function %5
%x_55_phi = OpVariable %_ptr_Function_v4float Function %5
OpBranch %18
%18 = OpLabel
OpLoopMerge %19 %20 None
OpBranch %21
%21 = OpLabel
OpStore %x_30_phi %false
OpBranch %28
%28 = OpLabel
OpLoopMerge %29 %30 None
OpBranch %31
%31 = OpLabel
%33 = OpLoad %bool %x_30_phi
OpBranch %34
%34 = OpLabel
OpLoopMerge %35 %36 None
OpBranch %37
%37 = OpLabel
%46 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %uint_1
%47 = OpLoad %float %46
OpStore %x_31_phi %33
%49 = OpFOrdGreaterThan %bool %47 %float_0
OpSelectionMerge %50 None
OpBranchConditional %49 %51 %52
%51 = OpLabel
OpBranch %50
%52 = OpLabel
OpBranch %35
%50 = OpLabel
OpBranch %53
%53 = OpLabel
OpLoopMerge %54 %55 None
OpBranch %56
%56 = OpLabel
%57 = OpAccessChain %_ptr_Uniform_float %x_5 %uint_0 %uint_0
%58 = OpLoad %float %57
%59 = OpFOrdGreaterThan %bool %58 %float_0
OpSelectionMerge %60 None
OpBranchConditional %59 %61 %60
%61 = OpLabel
%62 = OpFunctionCall %void %x_51
OpStore %x_52 %63
%64 = OpLoad %v4float %x_52
OpStore %x_55_phi %64
OpBranch %54
%60 = OpLabel
%67 = OpCompositeConstruct %v4float %58 %58 %58 %58
%68 = OpFAdd %v4float %66 %67
OpStore %x_54 %68
%69 = OpLoad %v4float %x_54
OpStore %x_55_phi %69
OpBranch %54
%55 = OpLabel
OpBranch %53
%54 = OpLabel
%70 = OpLoad %v4float %x_55_phi
OpStore %x_GLF_color %70
OpStore %x_31_phi %true
OpBranch %35
%36 = OpLabel
OpBranch %34
%35 = OpLabel
%72 = OpLoad %bool %x_31_phi
OpStore %x_31 %72
%73 = OpLoad %bool %x_31
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %76
%75 = OpLabel
OpBranch %29
%76 = OpLabel
OpBranch %30
%74 = OpLabel
OpBranch %30
%30 = OpLabel
%77 = OpLoad %bool %x_31
OpStore %x_30_phi %77
OpBranch %28
%29 = OpLabel
%78 = OpLoad %bool %x_31
OpSelectionMerge %79 None
OpBranchConditional %78 %80 %79
%80 = OpLabel
OpBranch %19
%79 = OpLabel
OpBranch %19
%20 = OpLabel
OpBranch %18
%19 = OpLabel
OpReturn
OpFunctionEnd
%main_inner = OpFunction %main_out None %81
%84 = OpLabel
%85 = OpFunctionCall %void %main_1
%86 = OpLoad %v4float %x_GLF_color
%87 = OpCompositeConstruct %main_out %86
OpReturnValue %87
OpFunctionEnd
%main = OpFunction %void None %12
%89 = OpLabel
%90 = OpFunctionCall %main_out %main_inner
%91 = OpCompositeExtract %v4float %90 0
OpStore %x_GLF_color_1_1 %91
OpReturn
OpFunctionEnd

View File

@@ -1,77 +0,0 @@
[[block]]
struct buf0 {
injectionSwitch : vec2<f32>;
};
[[group(0), binding(0)]] var<uniform> x_5 : buf0;
var<private> x_GLF_color : vec4<f32>;
fn x_51() {
discard;
}
fn main_1() {
loop {
var x_31 : bool;
var x_30_phi : bool;
x_30_phi = false;
loop {
var x_31_phi : bool;
let x_30 : bool = x_30_phi;
loop {
var x_52 : vec4<f32>;
var x_54 : vec4<f32>;
var x_55_phi : vec4<f32>;
let x_36 : f32 = x_5.injectionSwitch.y;
x_31_phi = x_30;
if ((x_36 > 0.0)) {
} else {
break;
}
loop {
let x_46 : f32 = x_5.injectionSwitch.x;
if ((x_46 > 0.0)) {
x_51();
x_52 = vec4<f32>(0.0, 0.0, 0.0, 0.0);
x_55_phi = x_52;
break;
}
x_54 = (vec4<f32>(1.0, 0.0, 0.0, 1.0) + vec4<f32>(x_46, x_46, x_46, x_46));
x_55_phi = x_54;
break;
}
let x_55 : vec4<f32> = x_55_phi;
x_GLF_color = x_55;
x_31_phi = true;
break;
}
x_31 = x_31_phi;
if (x_31) {
break;
} else {
continue;
}
continuing {
x_30_phi = x_31;
}
}
if (x_31) {
break;
}
break;
}
return;
}
struct main_out {
[[location(0)]]
x_GLF_color_1 : vec4<f32>;
};
[[stage(fragment)]]
fn main() -> main_out {
main_1();
return main_out(x_GLF_color);
}