blob: ec02b835c2d271338fedaab57d2ddaece42e50a1 [file] [log] [blame]
#include <metal_stdlib>
#include <simd/simd.h>
#ifdef __clang__
#pragma clang diagnostic ignored "-Wall"
#endif
using namespace metal;
struct Uniforms {
half4 colorGreen;
half4 colorRed;
half4 colorWhite;
};
struct Inputs {
};
struct Outputs {
half4 sk_FragColor [[color(0)]];
};
void out_half_vh(Uniforms _uniforms, thread half& v) {
v = _uniforms.colorWhite.x;
}
void out_half2_vh2(Uniforms _uniforms, thread half2& v) {
v = half2(_uniforms.colorWhite.y);
}
void out_half3_vh3(Uniforms _uniforms, thread half3& v) {
v = half3(_uniforms.colorWhite.z);
}
void out_half4_vh4(Uniforms _uniforms, thread half4& v) {
v = half4(_uniforms.colorWhite.w);
}
void out_half2x2_vh22(Uniforms _uniforms, thread half2x2& v) {
v = half2x2(_uniforms.colorWhite.x);
}
void out_half3x3_vh33(Uniforms _uniforms, thread half3x3& v) {
v = half3x3(_uniforms.colorWhite.y);
}
void out_half4x4_vh44(Uniforms _uniforms, thread half4x4& v) {
v = half4x4(_uniforms.colorWhite.z);
}
void out_int_vi(Uniforms _uniforms, thread int& v) {
v = int(_uniforms.colorWhite.x);
}
void out_int2_vi2(Uniforms _uniforms, thread int2& v) {
v = int2(int(_uniforms.colorWhite.y));
}
void out_int3_vi3(Uniforms _uniforms, thread int3& v) {
v = int3(int(_uniforms.colorWhite.z));
}
void out_int4_vi4(Uniforms _uniforms, thread int4& v) {
v = int4(int(_uniforms.colorWhite.w));
}
void out_float_vf(Uniforms _uniforms, thread float& v) {
v = float(_uniforms.colorWhite.x);
}
void out_float2_vf2(Uniforms _uniforms, thread float2& v) {
v = float2(float(_uniforms.colorWhite.y));
}
void out_float3_vf3(Uniforms _uniforms, thread float3& v) {
v = float3(float(_uniforms.colorWhite.z));
}
void out_float4_vf4(Uniforms _uniforms, thread float4& v) {
v = float4(float(_uniforms.colorWhite.w));
}
void out_float2x2_vf22(Uniforms _uniforms, thread float2x2& v) {
v = float2x2(float(_uniforms.colorWhite.x));
}
void out_float3x3_vf33(Uniforms _uniforms, thread float3x3& v) {
v = float3x3(float(_uniforms.colorWhite.y));
}
void out_float4x4_vf44(Uniforms _uniforms, thread float4x4& v) {
v = float4x4(float(_uniforms.colorWhite.z));
}
void out_bool_vb(Uniforms _uniforms, thread bool& v) {
v = bool(_uniforms.colorWhite.x);
}
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v) {
v = bool2(bool(_uniforms.colorWhite.y));
}
void out_bool3_vb3(Uniforms _uniforms, thread bool3& v) {
v = bool3(bool(_uniforms.colorWhite.z));
}
void out_bool4_vb4(Uniforms _uniforms, thread bool4& v) {
v = bool4(bool(_uniforms.colorWhite.w));
}
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
Outputs _out;
(void)_out;
half _skTemp0;
half2 _skTemp1;
half3 _skTemp2;
half4 _skTemp3;
half _skTemp4;
half2 _skTemp5;
half4 _skTemp6;
half2x2 _skTemp7;
half3x3 _skTemp8;
half4x4 _skTemp9;
half3 _skTemp10;
half _skTemp11;
half _skTemp12;
int _skTemp13;
int2 _skTemp14;
int3 _skTemp15;
int4 _skTemp16;
int3 _skTemp17;
int _skTemp18;
float _skTemp19;
float2 _skTemp20;
float3 _skTemp21;
float4 _skTemp22;
float2 _skTemp23;
float _skTemp24;
float2x2 _skTemp25;
float3x3 _skTemp26;
float4x4 _skTemp27;
float _skTemp28;
bool _skTemp29;
bool2 _skTemp30;
bool3 _skTemp31;
bool4 _skTemp32;
bool2 _skTemp33;
bool _skTemp34;
half h;
((out_half_vh(_uniforms, _skTemp0)), (h = _skTemp0));
half2 h2;
((out_half2_vh2(_uniforms, _skTemp1)), (h2 = _skTemp1));
half3 h3;
((out_half3_vh3(_uniforms, _skTemp2)), (h3 = _skTemp2));
half4 h4;
((out_half4_vh4(_uniforms, _skTemp3)), (h4 = _skTemp3));
((out_half_vh(_uniforms, _skTemp4)), (h3.y = _skTemp4));
((out_half2_vh2(_uniforms, _skTemp5)), (h3.xz = _skTemp5));
((out_half4_vh4(_uniforms, _skTemp6)), (h4.zwxy = _skTemp6));
half2x2 h2x2;
((out_half2x2_vh22(_uniforms, _skTemp7)), (h2x2 = _skTemp7));
half3x3 h3x3;
((out_half3x3_vh33(_uniforms, _skTemp8)), (h3x3 = _skTemp8));
half4x4 h4x4;
((out_half4x4_vh44(_uniforms, _skTemp9)), (h4x4 = _skTemp9));
((out_half3_vh3(_uniforms, _skTemp10)), (h3x3[1] = _skTemp10));
((out_half_vh(_uniforms, _skTemp11)), (h4x4[3].w = _skTemp11));
((out_half_vh(_uniforms, _skTemp12)), (h2x2[0].x = _skTemp12));
int i;
((out_int_vi(_uniforms, _skTemp13)), (i = _skTemp13));
int2 i2;
((out_int2_vi2(_uniforms, _skTemp14)), (i2 = _skTemp14));
int3 i3;
((out_int3_vi3(_uniforms, _skTemp15)), (i3 = _skTemp15));
int4 i4;
((out_int4_vi4(_uniforms, _skTemp16)), (i4 = _skTemp16));
((out_int3_vi3(_uniforms, _skTemp17)), (i4.xyz = _skTemp17));
((out_int_vi(_uniforms, _skTemp18)), (i2.y = _skTemp18));
float f;
((out_float_vf(_uniforms, _skTemp19)), (f = _skTemp19));
float2 f2;
((out_float2_vf2(_uniforms, _skTemp20)), (f2 = _skTemp20));
float3 f3;
((out_float3_vf3(_uniforms, _skTemp21)), (f3 = _skTemp21));
float4 f4;
((out_float4_vf4(_uniforms, _skTemp22)), (f4 = _skTemp22));
((out_float2_vf2(_uniforms, _skTemp23)), (f3.xy = _skTemp23));
((out_float_vf(_uniforms, _skTemp24)), (f2.x = _skTemp24));
float2x2 f2x2;
((out_float2x2_vf22(_uniforms, _skTemp25)), (f2x2 = _skTemp25));
float3x3 f3x3;
((out_float3x3_vf33(_uniforms, _skTemp26)), (f3x3 = _skTemp26));
float4x4 f4x4;
((out_float4x4_vf44(_uniforms, _skTemp27)), (f4x4 = _skTemp27));
((out_float_vf(_uniforms, _skTemp28)), (f2x2[0].x = _skTemp28));
bool b;
((out_bool_vb(_uniforms, _skTemp29)), (b = _skTemp29));
bool2 b2;
((out_bool2_vb2(_uniforms, _skTemp30)), (b2 = _skTemp30));
bool3 b3;
((out_bool3_vb3(_uniforms, _skTemp31)), (b3 = _skTemp31));
bool4 b4;
((out_bool4_vb4(_uniforms, _skTemp32)), (b4 = _skTemp32));
((out_bool2_vb2(_uniforms, _skTemp33)), (b4.xw = _skTemp33));
((out_bool_vb(_uniforms, _skTemp34)), (b3.z = _skTemp34));
bool ok = true;
ok = ok && 1.0h == (((((h * h2.x) * h3.x) * h4.x) * h2x2[0].x) * h3x3[0].x) * h4x4[0].x;
ok = ok && 1.0 == (((((f * f2.x) * f3.x) * f4.x) * f2x2[0].x) * f3x3[0].x) * f4x4[0].x;
ok = ok && 1 == ((i * i2.x) * i3.x) * i4.x;
ok = ok && (((b && b2.x) && b3.x) && b4.x);
_out.sk_FragColor = ok ? _uniforms.colorGreen : _uniforms.colorRed;
return _out;
}