364 lines
9.4 KiB
HLSL
364 lines
9.4 KiB
HLSL
SKIP: FAILED
|
|
|
|
struct BST {
|
|
int data;
|
|
int leftIndex;
|
|
int rightIndex;
|
|
};
|
|
struct Obj {
|
|
float odd_numbers[10];
|
|
float even_numbers[10];
|
|
};
|
|
|
|
static BST tree_1[10] = (BST[10])0;
|
|
cbuffer cbuffer_x_27 : register(b0, space0) {
|
|
uint4 x_27[1];
|
|
};
|
|
static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
|
|
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
|
|
|
|
void makeTreeNode_struct_BST_i1_i1_i11_i1_(inout BST tree, inout int data) {
|
|
const int x_74 = data;
|
|
tree.data = x_74;
|
|
tree.leftIndex = -1;
|
|
tree.rightIndex = -1;
|
|
return;
|
|
}
|
|
|
|
void insert_i1_i1_(inout int treeIndex, inout int data_1) {
|
|
int baseIndex = 0;
|
|
BST param = (BST)0;
|
|
int param_1 = 0;
|
|
BST param_2 = (BST)0;
|
|
int param_3 = 0;
|
|
int GLF_live8i = 0;
|
|
float GLF_live8A[50] = (float[50])0;
|
|
baseIndex = 0;
|
|
[loop] while (true) {
|
|
const int x_75 = baseIndex;
|
|
const int x_76 = treeIndex;
|
|
if ((x_75 <= x_76)) {
|
|
} else {
|
|
break;
|
|
}
|
|
const int x_77 = data_1;
|
|
const int x_79 = tree_1[baseIndex].data;
|
|
if ((x_77 <= x_79)) {
|
|
const int x_81 = tree_1[baseIndex].leftIndex;
|
|
if ((x_81 == -1)) {
|
|
const int x_82 = baseIndex;
|
|
const int x_83 = treeIndex;
|
|
tree_1[x_82].leftIndex = x_83;
|
|
const int x_84 = treeIndex;
|
|
const BST x_350 = tree_1[x_84];
|
|
param = x_350;
|
|
const int x_85 = data_1;
|
|
param_1 = x_85;
|
|
makeTreeNode_struct_BST_i1_i1_i11_i1_(param, param_1);
|
|
tree_1[x_84] = param;
|
|
return;
|
|
} else {
|
|
const int x_87 = tree_1[baseIndex].leftIndex;
|
|
baseIndex = x_87;
|
|
continue;
|
|
}
|
|
} else {
|
|
const int x_89 = tree_1[baseIndex].rightIndex;
|
|
if ((x_89 == -1)) {
|
|
const int x_90 = baseIndex;
|
|
const int x_91 = treeIndex;
|
|
tree_1[x_90].rightIndex = x_91;
|
|
const int x_92 = treeIndex;
|
|
const BST x_362 = tree_1[x_92];
|
|
param_2 = x_362;
|
|
const int x_93 = data_1;
|
|
param_3 = x_93;
|
|
makeTreeNode_struct_BST_i1_i1_i11_i1_(param_2, param_3);
|
|
tree_1[x_92] = param_2;
|
|
return;
|
|
} else {
|
|
GLF_live8i = 1;
|
|
const int x_369 = (((GLF_live8i >= 0) & (GLF_live8i < 50)) ? GLF_live8i : 0);
|
|
const float x_371 = GLF_live8A[0];
|
|
const float x_373 = GLF_live8A[x_369];
|
|
GLF_live8A[x_369] = (x_373 + x_371);
|
|
[loop] while (true) {
|
|
const int x_98 = tree_1[baseIndex].rightIndex;
|
|
baseIndex = x_98;
|
|
{
|
|
const float x_382 = asfloat(x_27[0].x);
|
|
const float x_384 = asfloat(x_27[0].y);
|
|
if ((x_382 > x_384)) {
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
int search_i1_(inout int target) {
|
|
int index = 0;
|
|
BST currentNode = (BST)0;
|
|
int x_387 = 0;
|
|
index = 0;
|
|
[loop] while (true) {
|
|
if ((index != -1)) {
|
|
} else {
|
|
break;
|
|
}
|
|
const BST x_395 = tree_1[index];
|
|
currentNode = x_395;
|
|
const int x_101 = currentNode.data;
|
|
const int x_102 = target;
|
|
if ((x_101 == x_102)) {
|
|
const int x_103 = target;
|
|
return x_103;
|
|
}
|
|
const int x_104 = target;
|
|
const int x_105 = currentNode.data;
|
|
if ((x_104 > x_105)) {
|
|
const int x_106 = currentNode.rightIndex;
|
|
x_387 = x_106;
|
|
} else {
|
|
const int x_107 = currentNode.leftIndex;
|
|
x_387 = x_107;
|
|
}
|
|
index = x_387;
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
float makeFrame_f1_(inout float v) {
|
|
int param_5 = 0;
|
|
int param_6 = 0;
|
|
int param_7 = 0;
|
|
const float x_418 = v;
|
|
v = (x_418 * 6.5f);
|
|
const float x_420 = v;
|
|
if ((x_420 < 1.5f)) {
|
|
param_5 = 100;
|
|
const int x_110 = search_i1_(param_5);
|
|
return float(x_110);
|
|
}
|
|
const float x_425 = v;
|
|
if ((x_425 < 4.0f)) {
|
|
return 0.0f;
|
|
}
|
|
const float x_429 = v;
|
|
param_6 = 6;
|
|
const int x_111 = search_i1_(param_6);
|
|
if ((x_429 < float(x_111))) {
|
|
return 1.0f;
|
|
}
|
|
param_7 = 30;
|
|
const int x_112 = search_i1_(param_7);
|
|
return (10.0f + float(x_112));
|
|
}
|
|
|
|
float3 hueColor_f1_(inout float angle) {
|
|
float nodeData = 0.0f;
|
|
int param_4 = 0;
|
|
param_4 = 15;
|
|
const int x_109 = search_i1_(param_4);
|
|
nodeData = float(x_109);
|
|
const float x_409 = angle;
|
|
return ((float3(30.0f, 30.0f, 30.0f) + (float3(1.0f, 5.0f, nodeData) * x_409)) / float3(50.0f, 50.0f, 50.0f));
|
|
}
|
|
|
|
void main_1() {
|
|
int treeIndex_1 = 0;
|
|
BST param_8 = (BST)0;
|
|
int param_9 = 0;
|
|
int param_10 = 0;
|
|
int param_11 = 0;
|
|
int GLF_live1_looplimiter2 = 0;
|
|
int GLF_live1i = 0;
|
|
int param_12 = 0;
|
|
int param_13 = 0;
|
|
int param_14 = 0;
|
|
int param_15 = 0;
|
|
int param_16 = 0;
|
|
int param_17 = 0;
|
|
int param_18 = 0;
|
|
int param_19 = 0;
|
|
int param_20 = 0;
|
|
int param_21 = 0;
|
|
int param_22 = 0;
|
|
int param_23 = 0;
|
|
int GLF_live4_looplimiter3 = 0;
|
|
int GLF_live4i = 0;
|
|
int GLF_live4index = 0;
|
|
Obj GLF_live4obj = (Obj)0;
|
|
int param_24 = 0;
|
|
int param_25 = 0;
|
|
int param_26 = 0;
|
|
int param_27 = 0;
|
|
float2 z = float2(0.0f, 0.0f);
|
|
float x_1 = 0.0f;
|
|
float param_28 = 0.0f;
|
|
float y_1 = 0.0f;
|
|
float param_29 = 0.0f;
|
|
int sum = 0;
|
|
int target_1 = 0;
|
|
int result = 0;
|
|
int param_30 = 0;
|
|
float a = 0.0f;
|
|
float3 x_235 = float3(0.0f, 0.0f, 0.0f);
|
|
float param_31 = 0.0f;
|
|
treeIndex_1 = 0;
|
|
const BST x_237 = tree_1[0];
|
|
param_8 = x_237;
|
|
param_9 = 9;
|
|
makeTreeNode_struct_BST_i1_i1_i11_i1_(param_8, param_9);
|
|
tree_1[0] = param_8;
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_10 = treeIndex_1;
|
|
param_11 = 5;
|
|
insert_i1_i1_(param_10, param_11);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
GLF_live1_looplimiter2 = 0;
|
|
GLF_live1i = 0;
|
|
{
|
|
[loop] for(; true; GLF_live1i = (GLF_live1i + 1)) {
|
|
if ((GLF_live1_looplimiter2 >= 7)) {
|
|
break;
|
|
}
|
|
GLF_live1_looplimiter2 = (GLF_live1_looplimiter2 + 1);
|
|
}
|
|
}
|
|
param_12 = treeIndex_1;
|
|
param_13 = 12;
|
|
insert_i1_i1_(param_12, param_13);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_14 = treeIndex_1;
|
|
param_15 = 15;
|
|
insert_i1_i1_(param_14, param_15);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_16 = treeIndex_1;
|
|
param_17 = 7;
|
|
insert_i1_i1_(param_16, param_17);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_18 = treeIndex_1;
|
|
param_19 = 8;
|
|
insert_i1_i1_(param_18, param_19);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_20 = treeIndex_1;
|
|
param_21 = 2;
|
|
insert_i1_i1_(param_20, param_21);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_22 = treeIndex_1;
|
|
param_23 = 6;
|
|
insert_i1_i1_(param_22, param_23);
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
GLF_live4_looplimiter3 = 0;
|
|
GLF_live4i = 0;
|
|
{
|
|
[loop] for(; true; GLF_live4i = (GLF_live4i + 1)) {
|
|
if ((GLF_live4_looplimiter3 >= 3)) {
|
|
break;
|
|
}
|
|
GLF_live4_looplimiter3 = (GLF_live4_looplimiter3 + 1);
|
|
GLF_live4index = 1;
|
|
const int x_144 = GLF_live4index;
|
|
const int x_145 = GLF_live4index;
|
|
const int x_146 = GLF_live4index;
|
|
const float x_269 = GLF_live4obj.even_numbers[1];
|
|
GLF_live4obj.even_numbers[(((x_144 >= 0) & (x_145 < 10)) ? x_146 : 0)] = x_269;
|
|
GLF_live4obj.even_numbers[(((GLF_live4i >= 0) & (GLF_live4i < 10)) ? GLF_live4i : 0)] = 1.0f;
|
|
}
|
|
}
|
|
param_24 = treeIndex_1;
|
|
param_25 = 17;
|
|
insert_i1_i1_(param_24, param_25);
|
|
const float x_278 = asfloat(x_27[0].x);
|
|
const float x_280 = asfloat(x_27[0].y);
|
|
if ((x_278 > x_280)) {
|
|
return;
|
|
}
|
|
treeIndex_1 = (treeIndex_1 + 1);
|
|
param_26 = treeIndex_1;
|
|
param_27 = 13;
|
|
insert_i1_i1_(param_26, param_27);
|
|
const float4 x_285 = gl_FragCoord;
|
|
z = (float2(x_285.y, x_285.x) / float2(256.0f, 256.0f));
|
|
const float x_289 = z.x;
|
|
param_28 = x_289;
|
|
const float x_290 = makeFrame_f1_(param_28);
|
|
x_1 = x_290;
|
|
const float x_292 = z.y;
|
|
param_29 = x_292;
|
|
const float x_293 = makeFrame_f1_(param_29);
|
|
y_1 = x_293;
|
|
sum = -100;
|
|
target_1 = 0;
|
|
{
|
|
[loop] for(; (target_1 < 20); target_1 = (target_1 + 1)) {
|
|
param_30 = target_1;
|
|
const int x_158 = search_i1_(param_30);
|
|
result = x_158;
|
|
if ((result > 0)) {
|
|
} else {
|
|
switch(result) {
|
|
case 0: {
|
|
return;
|
|
break;
|
|
}
|
|
case -1: {
|
|
sum = (sum + 1);
|
|
break;
|
|
}
|
|
default: {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
a = (x_1 + (y_1 * float(sum)));
|
|
const float x_313 = asfloat(x_27[0].x);
|
|
const float x_315 = asfloat(x_27[0].y);
|
|
if ((x_313 < x_315)) {
|
|
x_235 = float3(1.0f, 0.0f, 0.0f);
|
|
} else {
|
|
param_31 = a;
|
|
const float3 x_321 = hueColor_f1_(param_31);
|
|
x_235 = x_321;
|
|
}
|
|
const float3 x_322 = x_235;
|
|
x_GLF_color = float4(x_322.x, x_322.y, x_322.z, 1.0f);
|
|
return;
|
|
}
|
|
|
|
struct main_out {
|
|
float4 x_GLF_color_1;
|
|
};
|
|
struct tint_symbol_1 {
|
|
float4 gl_FragCoord_param : SV_Position;
|
|
};
|
|
struct tint_symbol_2 {
|
|
float4 x_GLF_color_1 : SV_Target0;
|
|
};
|
|
|
|
main_out main_inner(float4 gl_FragCoord_param) {
|
|
gl_FragCoord = gl_FragCoord_param;
|
|
main_1();
|
|
const main_out tint_symbol_4 = {x_GLF_color};
|
|
return tint_symbol_4;
|
|
}
|
|
|
|
tint_symbol_2 main(tint_symbol_1 tint_symbol) {
|
|
const main_out inner_result = main_inner(tint_symbol.gl_FragCoord_param);
|
|
tint_symbol_2 wrapper_result = (tint_symbol_2)0;
|
|
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
|
|
return wrapper_result;
|
|
}
|
|
C:\src\tint\test\Shader@0x0000028F1D72B060(35,10-21): warning X3557: loop only executes for 0 iteration(s), consider removing [loop]
|
|
C:\src\tint\test\Shader@0x0000028F1D72B060(270,7-91): warning X3550: array reference cannot be used as an l-value; not natively addressable, forcing loop to unroll
|
|
C:\src\tint\test\Shader@0x0000028F1D72B060(259,12-53): error X3531: can't unroll loops marked with loop attribute
|
|
|