114 lines
4.1 KiB
HLSL
114 lines
4.1 KiB
HLSL
SKIP: FAILED
|
|
|
|
void set_float3(inout float3 vec, int idx, float val) {
|
|
vec = (idx.xxx == int3(0, 1, 2)) ? val.xxx : vec;
|
|
}
|
|
|
|
struct tint_padded_array_element {
|
|
float el;
|
|
};
|
|
|
|
cbuffer cbuffer_x_6 : register(b1, space0) {
|
|
uint4 x_6[3];
|
|
};
|
|
cbuffer cbuffer_x_8 : register(b0, space0) {
|
|
uint4 x_8[4];
|
|
};
|
|
static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
|
|
|
|
void main_1() {
|
|
float4x3 m43 = float4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
|
tint_padded_array_element sums[3] = (tint_padded_array_element[3])0;
|
|
int i = 0;
|
|
int a = 0;
|
|
int x_67_phi = 0;
|
|
const float x_44 = asfloat(x_6[1].x);
|
|
const float3 x_48 = float3(0.0f, 0.0f, 0.0f);
|
|
m43 = float4x3(float3(x_44, 0.0f, 0.0f), float3(0.0f, x_44, 0.0f), float3(0.0f, 0.0f, x_44), float3(0.0f, 0.0f, 0.0f));
|
|
const uint scalar_offset = ((16u * uint(0))) / 4;
|
|
const int x_51 = asint(x_8[scalar_offset / 4][scalar_offset % 4]);
|
|
const uint scalar_offset_1 = ((16u * uint(0))) / 4;
|
|
const int x_53 = asint(x_8[scalar_offset_1 / 4][scalar_offset_1 % 4]);
|
|
const uint scalar_offset_2 = ((16u * uint(0))) / 4;
|
|
const float x_55 = asfloat(x_6[scalar_offset_2 / 4][scalar_offset_2 % 4]);
|
|
set_float3(m43[x_51], x_53, x_55);
|
|
const uint scalar_offset_3 = ((16u * uint(0))) / 4;
|
|
const float x_58 = asfloat(x_6[scalar_offset_3 / 4][scalar_offset_3 % 4]);
|
|
const uint scalar_offset_4 = ((16u * uint(0))) / 4;
|
|
const float x_60 = asfloat(x_6[scalar_offset_4 / 4][scalar_offset_4 % 4]);
|
|
const uint scalar_offset_5 = ((16u * uint(0))) / 4;
|
|
const float x_62 = asfloat(x_6[scalar_offset_5 / 4][scalar_offset_5 % 4]);
|
|
const tint_padded_array_element tint_symbol_4[3] = {{x_58}, {x_60}, {x_62}};
|
|
sums = tint_symbol_4;
|
|
const uint scalar_offset_6 = ((16u * uint(0))) / 4;
|
|
const int x_65 = asint(x_8[scalar_offset_6 / 4][scalar_offset_6 % 4]);
|
|
i = x_65;
|
|
x_67_phi = x_65;
|
|
while (true) {
|
|
const int x_67 = x_67_phi;
|
|
const int x_73 = asint(x_8[3].x);
|
|
if ((x_67 < x_73)) {
|
|
} else {
|
|
break;
|
|
}
|
|
const uint scalar_offset_7 = ((16u * uint(0))) / 4;
|
|
const int x_77 = asint(x_8[scalar_offset_7 / 4][scalar_offset_7 % 4]);
|
|
const uint scalar_offset_8 = ((16u * uint(0))) / 4;
|
|
const int x_79 = asint(x_8[scalar_offset_8 / 4][scalar_offset_8 % 4]);
|
|
const float x_81 = m43[x_67][x_79];
|
|
const float x_83 = sums[x_77].el;
|
|
sums[x_77].el = (x_83 + x_81);
|
|
{
|
|
const int x_68 = (x_67 + 1);
|
|
i = x_68;
|
|
x_67_phi = x_68;
|
|
}
|
|
}
|
|
const int x_87 = asint(x_8[1].x);
|
|
if ((x_87 == 1)) {
|
|
a = 4;
|
|
const int x_92 = asint(x_8[2].x);
|
|
const uint scalar_offset_9 = ((16u * uint(0))) / 4;
|
|
const int x_94 = asint(x_8[scalar_offset_9 / 4][scalar_offset_9 % 4]);
|
|
const float x_96 = m43[4][x_94];
|
|
const float x_98 = sums[x_92].el;
|
|
sums[x_92].el = (x_98 + x_96);
|
|
}
|
|
const int x_102 = asint(x_8[1].x);
|
|
const float x_104 = sums[x_102].el;
|
|
const uint scalar_offset_10 = ((16u * uint(0))) / 4;
|
|
const int x_106 = asint(x_8[scalar_offset_10 / 4][scalar_offset_10 % 4]);
|
|
const float x_108 = sums[x_106].el;
|
|
const float x_111 = asfloat(x_6[2].x);
|
|
if (((x_104 + x_108) == x_111)) {
|
|
const uint scalar_offset_11 = ((16u * uint(0))) / 4;
|
|
const int x_117 = asint(x_8[scalar_offset_11 / 4][scalar_offset_11 % 4]);
|
|
const int x_120 = asint(x_8[1].x);
|
|
const int x_123 = asint(x_8[1].x);
|
|
const uint scalar_offset_12 = ((16u * uint(0))) / 4;
|
|
const int x_126 = asint(x_8[scalar_offset_12 / 4][scalar_offset_12 % 4]);
|
|
x_GLF_color = float4(float(x_117), float(x_120), float(x_123), float(x_126));
|
|
} else {
|
|
const int x_130 = asint(x_8[1].x);
|
|
const float x_131 = float(x_130);
|
|
x_GLF_color = float4(x_131, x_131, x_131, x_131);
|
|
}
|
|
return;
|
|
}
|
|
|
|
struct main_out {
|
|
float4 x_GLF_color_1;
|
|
};
|
|
struct tint_symbol {
|
|
float4 x_GLF_color_1 : SV_Target0;
|
|
};
|
|
|
|
tint_symbol main() {
|
|
main_1();
|
|
const main_out tint_symbol_1 = {x_GLF_color};
|
|
const tint_symbol tint_symbol_5 = {tint_symbol_1.x_GLF_color_1};
|
|
return tint_symbol_5;
|
|
}
|
|
C:\src\tint\test\Shader@0x000002A8E28000B0(32,14-22): error X3500: array reference cannot be used as an l-value; not natively addressable
|
|
|