dawn-cmake/test/vk-gl-cts/graphicsfuzz/transpose-rectangular-matrix/0.wgsl.expected.msl

53 lines
1.7 KiB
Plaintext

#include <metal_stdlib>
using namespace metal;
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_1 {
float4 x_GLF_color_1 [[color(0)]];
};
void main_1(thread float4* const tint_symbol_3, thread float4* const tint_symbol_4) {
float4x3 x_37 = float4x3(0.0f);
float4x3 x_38_phi = float4x3(0.0f);
float3 x_48_phi = 0.0f;
float const x_32 = (*(tint_symbol_3)).y;
if ((x_32 < 1.0f)) {
x_38_phi = float4x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f), float3(0.0f, 0.0f, 0.0f));
} else {
x_37 = transpose(float3x4(float4(1.0f, 0.0f, 0.0f, 0.0f), float4(0.0f, 1.0f, 0.0f, 0.0f), float4(0.0f, 0.0f, 1.0f, 0.0f)));
x_38_phi = x_37;
}
float4x3 const x_38 = x_38_phi;
float const x_40 = transpose(x_38)[0u].y;
while (true) {
if ((x_40 > 1.0f)) {
x_48_phi = float3(0.0f, 0.0f, 0.0f);
break;
}
x_48_phi = float3(1.0f, 0.0f, 0.0f);
break;
}
float3 const x_48 = x_48_phi;
*(tint_symbol_4) = float4(x_48.x, x_48.y, x_48.z, 1.0f);
return;
}
main_out tint_symbol_inner(float4 gl_FragCoord_param, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) {
*(tint_symbol_5) = gl_FragCoord_param;
main_1(tint_symbol_5, tint_symbol_6);
main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_6)};
return tint_symbol_2;
}
fragment tint_symbol_1 tint_symbol(float4 gl_FragCoord_param [[position]]) {
thread float4 tint_symbol_7 = 0.0f;
thread float4 tint_symbol_8 = 0.0f;
main_out const inner_result = tint_symbol_inner(gl_FragCoord_param, &(tint_symbol_7), &(tint_symbol_8));
tint_symbol_1 wrapper_result = {};
wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1;
return wrapper_result;
}