Mangle function names in Metal.
Change-Id: Ib9a1a51f8a29b2d03792a3abd93b3a9a321b5464 Bug: skia:10851 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/387756 Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
This commit is contained in:
parent
ece1d794b9
commit
e1068349fc
@ -216,7 +216,8 @@ String MetalCodeGenerator::getOutParamHelper(const FunctionCall& call,
|
||||
AutoOutputStream outputToExtraFunctions(this, &fExtraFunctions, &fIndentation);
|
||||
const FunctionDeclaration& function = call.function();
|
||||
|
||||
String name = "_skOutParamHelper" + to_string(fSwizzleHelperCount++) + "_" + function.name();
|
||||
String name = "_skOutParamHelper" + to_string(fSwizzleHelperCount++) +
|
||||
"_" + function.mangledName();
|
||||
const char* separator = "";
|
||||
|
||||
// Emit a prototype for the function we'll be calling through to in our helper.
|
||||
@ -299,7 +300,7 @@ String MetalCodeGenerator::getOutParamHelper(const FunctionCall& call,
|
||||
this->write(" _skResult = ");
|
||||
}
|
||||
|
||||
this->writeName(function.name());
|
||||
this->writeName(function.mangledName());
|
||||
this->write("(");
|
||||
separator = "";
|
||||
this->writeFunctionRequirementArgs(function, separator);
|
||||
@ -384,7 +385,7 @@ void MetalCodeGenerator::writeFunctionCall(const FunctionCall& c) {
|
||||
// array indices.)
|
||||
this->write(getOutParamHelper(c, arguments, outVars));
|
||||
} else {
|
||||
this->write(function.name());
|
||||
this->write(function.mangledName());
|
||||
}
|
||||
|
||||
this->write("(");
|
||||
@ -1528,7 +1529,7 @@ bool MetalCodeGenerator::writeFunctionDeclaration(const FunctionDeclaration& f)
|
||||
} else {
|
||||
this->writeType(f.returnType());
|
||||
this->write(" ");
|
||||
this->writeName(f.name());
|
||||
this->writeName(f.mangledName());
|
||||
this->write("(");
|
||||
this->writeFunctionRequirementParams(f, separator);
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float3 _blend_set_color_luminance_h3h3hh3(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), lumColor);
|
||||
float3 result = (lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), hueSatColor)) + hueSatColor;
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
@ -31,6 +31,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float _0_alpha = _uniforms.dst.w * _uniforms.src.w;
|
||||
float3 _1_sda = _uniforms.src.xyz * _uniforms.dst.w;
|
||||
float3 _2_dsa = _uniforms.dst.xyz * _uniforms.src.w;
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance(_1_sda, _0_alpha, _2_dsa) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance_h3h3hh3(_1_sda, _0_alpha, _2_dsa) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float _color_burn_component(float2 s, float2 d) {
|
||||
float _color_burn_component_hh2h2(float2 s, float2 d) {
|
||||
if (d.y == d.x) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else if (s.x == 0.0) {
|
||||
@ -24,6 +24,6 @@ float _color_burn_component(float2 s, float2 d) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = float4(_color_burn_component(_uniforms.src.xw, _uniforms.dst.xw), _color_burn_component(_uniforms.src.yw, _uniforms.dst.yw), _color_burn_component(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
_out.sk_FragColor = float4(_color_burn_component_hh2h2(_uniforms.src.xw, _uniforms.dst.xw), _color_burn_component_hh2h2(_uniforms.src.yw, _uniforms.dst.yw), _color_burn_component_hh2h2(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float _color_dodge_component(float2 s, float2 d) {
|
||||
float _color_dodge_component_hh2h2(float2 s, float2 d) {
|
||||
if (d.x == 0.0) {
|
||||
return s.x * (1.0 - d.y);
|
||||
} else {
|
||||
@ -27,6 +27,6 @@ float _color_dodge_component(float2 s, float2 d) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = float4(_color_dodge_component(_uniforms.src.xw, _uniforms.dst.xw), _color_dodge_component(_uniforms.src.yw, _uniforms.dst.yw), _color_dodge_component(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
_out.sk_FragColor = float4(_color_dodge_component_hh2h2(_uniforms.src.xw, _uniforms.dst.xw), _color_dodge_component_hh2h2(_uniforms.src.yw, _uniforms.dst.yw), _color_dodge_component_hh2h2(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,15 +10,15 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float _blend_overlay_component(float2 s, float2 d) {
|
||||
float _blend_overlay_component_hh2h2(float2 s, float2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
float4 blend_overlay(float4 src, float4 dst) {
|
||||
float4 result = float4(_blend_overlay_component(src.xw, dst.xw), _blend_overlay_component(src.yw, dst.yw), _blend_overlay_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
float4 blend_overlay_h4h4h4(float4 src, float4 dst) {
|
||||
float4 result = float4(_blend_overlay_component_hh2h2(src.xw, dst.xw), _blend_overlay_component_hh2h2(src.yw, dst.yw), _blend_overlay_component_hh2h2(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
result.xyz = result.xyz + dst.xyz * (1.0 - src.w) + src.xyz * (1.0 - dst.w);
|
||||
return result;
|
||||
}
|
||||
float _color_dodge_component(float2 s, float2 d) {
|
||||
float _color_dodge_component_hh2h2(float2 s, float2 d) {
|
||||
if (d.x == 0.0) {
|
||||
return s.x * (1.0 - d.y);
|
||||
} else {
|
||||
@ -31,7 +31,7 @@ float _color_dodge_component(float2 s, float2 d) {
|
||||
}
|
||||
}
|
||||
}
|
||||
float _color_burn_component(float2 s, float2 d) {
|
||||
float _color_burn_component_hh2h2(float2 s, float2 d) {
|
||||
if (d.y == d.x) {
|
||||
return (s.y * d.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
} else if (s.x == 0.0) {
|
||||
@ -41,7 +41,7 @@ float _color_burn_component(float2 s, float2 d) {
|
||||
return (delta * s.y + s.x * (1.0 - d.y)) + d.x * (1.0 - s.y);
|
||||
}
|
||||
}
|
||||
float _soft_light_component(float2 s, float2 d) {
|
||||
float _soft_light_component_hh2h2(float2 s, float2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
return (((d.x * d.x) * (s.y - 2.0 * s.x)) / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
@ -54,7 +54,7 @@ float _soft_light_component(float2 s, float2 d) {
|
||||
return ((d.x * ((s.y - 2.0 * s.x) + 1.0) + s.x) - sqrt(d.y * d.x) * (s.y - 2.0 * s.x)) - d.y * s.x;
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float3 _blend_set_color_luminance_h3h3hh3(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), lumColor);
|
||||
float3 result = (lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), hueSatColor)) + hueSatColor;
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
@ -68,32 +68,32 @@ float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumCol
|
||||
return result;
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
float3 _blend_set_color_saturation_helper_h3h3h(float3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
return float3(0.0, (sat * (minMidMax.y - minMidMax.x)) / (minMidMax.z - minMidMax.x), sat);
|
||||
} else {
|
||||
return float3(0.0);
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_saturation(float3 hueLumColor, float3 satColor) {
|
||||
float3 _blend_set_color_saturation_h3h3h3(float3 hueLumColor, float3 satColor) {
|
||||
float sat = max(max(satColor.x, satColor.y), satColor.z) - min(min(satColor.x, satColor.y), satColor.z);
|
||||
if (hueLumColor.x <= hueLumColor.y) {
|
||||
if (hueLumColor.y <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor, sat);
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor, sat);
|
||||
} else if (hueLumColor.x <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.xzy, sat).xzy;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.xzy, sat).xzy;
|
||||
} else {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.zxy, sat).yzx;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.zxy, sat).yzx;
|
||||
}
|
||||
} else if (hueLumColor.x <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.yxz, sat).yxz;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.yxz, sat).yxz;
|
||||
} else if (hueLumColor.y <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.yzx, sat).zxy;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.yzx, sat).zxy;
|
||||
} else {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.zyx, sat).zyx;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.zyx, sat).zyx;
|
||||
}
|
||||
}
|
||||
float4 blend(int mode, float4 src, float4 dst) {
|
||||
float4 blend_h4eh4h4(int mode, float4 src, float4 dst) {
|
||||
switch (mode) {
|
||||
case 0:
|
||||
return float4(0.0);
|
||||
@ -126,7 +126,7 @@ float4 blend(int mode, float4 src, float4 dst) {
|
||||
case 14:
|
||||
return src + (1.0 - src) * dst;
|
||||
case 15:
|
||||
return blend_overlay(src, dst);
|
||||
return blend_overlay_h4h4h4(src, dst);
|
||||
case 16:
|
||||
float4 _0_result = src + (1.0 - src.w) * dst;
|
||||
_0_result.xyz = min(_0_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
@ -136,13 +136,13 @@ float4 blend(int mode, float4 src, float4 dst) {
|
||||
_1_result.xyz = max(_1_result.xyz, (1.0 - dst.w) * src.xyz + dst.xyz);
|
||||
return _1_result;
|
||||
case 18:
|
||||
return float4(_color_dodge_component(src.xw, dst.xw), _color_dodge_component(src.yw, dst.yw), _color_dodge_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
return float4(_color_dodge_component_hh2h2(src.xw, dst.xw), _color_dodge_component_hh2h2(src.yw, dst.yw), _color_dodge_component_hh2h2(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
case 19:
|
||||
return float4(_color_burn_component(src.xw, dst.xw), _color_burn_component(src.yw, dst.yw), _color_burn_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
return float4(_color_burn_component_hh2h2(src.xw, dst.xw), _color_burn_component_hh2h2(src.yw, dst.yw), _color_burn_component_hh2h2(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
case 20:
|
||||
return blend_overlay(dst, src);
|
||||
return blend_overlay_h4h4h4(dst, src);
|
||||
case 21:
|
||||
return dst.w == 0.0 ? src : float4(_soft_light_component(src.xw, dst.xw), _soft_light_component(src.yw, dst.yw), _soft_light_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
return dst.w == 0.0 ? src : float4(_soft_light_component_hh2h2(src.xw, dst.xw), _soft_light_component_hh2h2(src.yw, dst.yw), _soft_light_component_hh2h2(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
case 22:
|
||||
return float4((src.xyz + dst.xyz) - 2.0 * min(src.xyz * dst.w, dst.xyz * src.w), src.w + (1.0 - src.w) * dst.w);
|
||||
case 23:
|
||||
@ -153,22 +153,22 @@ float4 blend(int mode, float4 src, float4 dst) {
|
||||
float _2_alpha = dst.w * src.w;
|
||||
float3 _3_sda = src.xyz * dst.w;
|
||||
float3 _4_dsa = dst.xyz * src.w;
|
||||
return float4((((_blend_set_color_luminance(_blend_set_color_saturation(_3_sda, _4_dsa), _2_alpha, _4_dsa) + dst.xyz) - _4_dsa) + src.xyz) - _3_sda, (src.w + dst.w) - _2_alpha);
|
||||
return float4((((_blend_set_color_luminance_h3h3hh3(_blend_set_color_saturation_h3h3h3(_3_sda, _4_dsa), _2_alpha, _4_dsa) + dst.xyz) - _4_dsa) + src.xyz) - _3_sda, (src.w + dst.w) - _2_alpha);
|
||||
case 26:
|
||||
float _5_alpha = dst.w * src.w;
|
||||
float3 _6_sda = src.xyz * dst.w;
|
||||
float3 _7_dsa = dst.xyz * src.w;
|
||||
return float4((((_blend_set_color_luminance(_blend_set_color_saturation(_7_dsa, _6_sda), _5_alpha, _7_dsa) + dst.xyz) - _7_dsa) + src.xyz) - _6_sda, (src.w + dst.w) - _5_alpha);
|
||||
return float4((((_blend_set_color_luminance_h3h3hh3(_blend_set_color_saturation_h3h3h3(_7_dsa, _6_sda), _5_alpha, _7_dsa) + dst.xyz) - _7_dsa) + src.xyz) - _6_sda, (src.w + dst.w) - _5_alpha);
|
||||
case 27:
|
||||
float _8_alpha = dst.w * src.w;
|
||||
float3 _9_sda = src.xyz * dst.w;
|
||||
float3 _10_dsa = dst.xyz * src.w;
|
||||
return float4((((_blend_set_color_luminance(_9_sda, _8_alpha, _10_dsa) + dst.xyz) - _10_dsa) + src.xyz) - _9_sda, (src.w + dst.w) - _8_alpha);
|
||||
return float4((((_blend_set_color_luminance_h3h3hh3(_9_sda, _8_alpha, _10_dsa) + dst.xyz) - _10_dsa) + src.xyz) - _9_sda, (src.w + dst.w) - _8_alpha);
|
||||
case 28:
|
||||
float _11_alpha = dst.w * src.w;
|
||||
float3 _12_sda = src.xyz * dst.w;
|
||||
float3 _13_dsa = dst.xyz * src.w;
|
||||
return float4((((_blend_set_color_luminance(_13_dsa, _11_alpha, _12_sda) + dst.xyz) - _13_dsa) + src.xyz) - _12_sda, (src.w + dst.w) - _11_alpha);
|
||||
return float4((((_blend_set_color_luminance_h3h3hh3(_13_dsa, _11_alpha, _12_sda) + dst.xyz) - _13_dsa) + src.xyz) - _12_sda, (src.w + dst.w) - _11_alpha);
|
||||
default:
|
||||
return float4(0.0);
|
||||
}
|
||||
@ -177,6 +177,6 @@ float4 blend(int mode, float4 src, float4 dst) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = blend(13, _uniforms.src, _uniforms.dst);
|
||||
_out.sk_FragColor = blend_h4eh4h4(13, _uniforms.src, _uniforms.dst);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,11 +10,11 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float _blend_overlay_component(float2 s, float2 d) {
|
||||
float _blend_overlay_component_hh2h2(float2 s, float2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
float4 blend_overlay(float4 src, float4 dst) {
|
||||
float4 result = float4(_blend_overlay_component(src.xw, dst.xw), _blend_overlay_component(src.yw, dst.yw), _blend_overlay_component(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
float4 blend_overlay_h4h4h4(float4 src, float4 dst) {
|
||||
float4 result = float4(_blend_overlay_component_hh2h2(src.xw, dst.xw), _blend_overlay_component_hh2h2(src.yw, dst.yw), _blend_overlay_component_hh2h2(src.zw, dst.zw), src.w + (1.0 - src.w) * dst.w);
|
||||
result.xyz = result.xyz + dst.xyz * (1.0 - src.w) + src.xyz * (1.0 - dst.w);
|
||||
return result;
|
||||
}
|
||||
@ -22,6 +22,6 @@ float4 blend_overlay(float4 src, float4 dst) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = blend_overlay(_uniforms.dst, _uniforms.src);
|
||||
_out.sk_FragColor = blend_overlay_h4h4h4(_uniforms.dst, _uniforms.src);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float3 _blend_set_color_luminance_h3h3hh3(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), lumColor);
|
||||
float3 result = (lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), hueSatColor)) + hueSatColor;
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
@ -24,29 +24,29 @@ float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumCol
|
||||
return result;
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
float3 _blend_set_color_saturation_helper_h3h3h(float3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
return float3(0.0, (sat * (minMidMax.y - minMidMax.x)) / (minMidMax.z - minMidMax.x), sat);
|
||||
} else {
|
||||
return float3(0.0);
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_saturation(float3 hueLumColor, float3 satColor) {
|
||||
float3 _blend_set_color_saturation_h3h3h3(float3 hueLumColor, float3 satColor) {
|
||||
float sat = max(max(satColor.x, satColor.y), satColor.z) - min(min(satColor.x, satColor.y), satColor.z);
|
||||
if (hueLumColor.x <= hueLumColor.y) {
|
||||
if (hueLumColor.y <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor, sat);
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor, sat);
|
||||
} else if (hueLumColor.x <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.xzy, sat).xzy;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.xzy, sat).xzy;
|
||||
} else {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.zxy, sat).yzx;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.zxy, sat).yzx;
|
||||
}
|
||||
} else if (hueLumColor.x <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.yxz, sat).yxz;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.yxz, sat).yxz;
|
||||
} else if (hueLumColor.y <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.yzx, sat).zxy;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.yzx, sat).zxy;
|
||||
} else {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.zyx, sat).zyx;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.zyx, sat).zyx;
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,6 +56,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float _0_alpha = _uniforms.dst.w * _uniforms.src.w;
|
||||
float3 _1_sda = _uniforms.src.xyz * _uniforms.dst.w;
|
||||
float3 _2_dsa = _uniforms.dst.xyz * _uniforms.src.w;
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance(_blend_set_color_saturation(_1_sda, _2_dsa), _0_alpha, _2_dsa) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance_h3h3hh3(_blend_set_color_saturation_h3h3h3(_1_sda, _2_dsa), _0_alpha, _2_dsa) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float3 _blend_set_color_luminance_h3h3hh3(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), lumColor);
|
||||
float3 result = (lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), hueSatColor)) + hueSatColor;
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
@ -31,6 +31,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float _0_alpha = _uniforms.dst.w * _uniforms.src.w;
|
||||
float3 _1_sda = _uniforms.src.xyz * _uniforms.dst.w;
|
||||
float3 _2_dsa = _uniforms.dst.xyz * _uniforms.src.w;
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance(_2_dsa, _0_alpha, _1_sda) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance_h3h3hh3(_2_dsa, _0_alpha, _1_sda) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,14 +10,14 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float _blend_overlay_component(float2 s, float2 d) {
|
||||
float _blend_overlay_component_hh2h2(float2 s, float2 d) {
|
||||
return 2.0 * d.x <= d.y ? (2.0 * s.x) * d.x : s.y * d.y - (2.0 * (d.y - d.x)) * (s.y - s.x);
|
||||
}
|
||||
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 _0_result = float4(_blend_overlay_component(_uniforms.src.xw, _uniforms.dst.xw), _blend_overlay_component(_uniforms.src.yw, _uniforms.dst.yw), _blend_overlay_component(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
float4 _0_result = float4(_blend_overlay_component_hh2h2(_uniforms.src.xw, _uniforms.dst.xw), _blend_overlay_component_hh2h2(_uniforms.src.yw, _uniforms.dst.yw), _blend_overlay_component_hh2h2(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
_0_result.xyz = _0_result.xyz + _uniforms.dst.xyz * (1.0 - _uniforms.src.w) + _uniforms.src.xyz * (1.0 - _uniforms.dst.w);
|
||||
_out.sk_FragColor = _0_result;
|
||||
return _out;
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float3 _blend_set_color_luminance_h3h3hh3(float3 hueSatColor, float alpha, float3 lumColor) {
|
||||
float lum = dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), lumColor);
|
||||
float3 result = (lum - dot(float3(0.30000001192092896, 0.5899999737739563, 0.10999999940395355), hueSatColor)) + hueSatColor;
|
||||
float minComp = min(min(result.x, result.y), result.z);
|
||||
@ -24,29 +24,29 @@ float3 _blend_set_color_luminance(float3 hueSatColor, float alpha, float3 lumCol
|
||||
return result;
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_saturation_helper(float3 minMidMax, float sat) {
|
||||
float3 _blend_set_color_saturation_helper_h3h3h(float3 minMidMax, float sat) {
|
||||
if (minMidMax.x < minMidMax.z) {
|
||||
return float3(0.0, (sat * (minMidMax.y - minMidMax.x)) / (minMidMax.z - minMidMax.x), sat);
|
||||
} else {
|
||||
return float3(0.0);
|
||||
}
|
||||
}
|
||||
float3 _blend_set_color_saturation(float3 hueLumColor, float3 satColor) {
|
||||
float3 _blend_set_color_saturation_h3h3h3(float3 hueLumColor, float3 satColor) {
|
||||
float sat = max(max(satColor.x, satColor.y), satColor.z) - min(min(satColor.x, satColor.y), satColor.z);
|
||||
if (hueLumColor.x <= hueLumColor.y) {
|
||||
if (hueLumColor.y <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor, sat);
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor, sat);
|
||||
} else if (hueLumColor.x <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.xzy, sat).xzy;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.xzy, sat).xzy;
|
||||
} else {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.zxy, sat).yzx;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.zxy, sat).yzx;
|
||||
}
|
||||
} else if (hueLumColor.x <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.yxz, sat).yxz;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.yxz, sat).yxz;
|
||||
} else if (hueLumColor.y <= hueLumColor.z) {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.yzx, sat).zxy;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.yzx, sat).zxy;
|
||||
} else {
|
||||
return _blend_set_color_saturation_helper(hueLumColor.zyx, sat).zyx;
|
||||
return _blend_set_color_saturation_helper_h3h3h(hueLumColor.zyx, sat).zyx;
|
||||
}
|
||||
}
|
||||
|
||||
@ -56,6 +56,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float _0_alpha = _uniforms.dst.w * _uniforms.src.w;
|
||||
float3 _1_sda = _uniforms.src.xyz * _uniforms.dst.w;
|
||||
float3 _2_dsa = _uniforms.dst.xyz * _uniforms.src.w;
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance(_blend_set_color_saturation(_2_dsa, _1_sda), _0_alpha, _2_dsa) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
_out.sk_FragColor = float4((((_blend_set_color_luminance_h3h3hh3(_blend_set_color_saturation_h3h3h3(_2_dsa, _1_sda), _0_alpha, _2_dsa) + _uniforms.dst.xyz) - _2_dsa) + _uniforms.src.xyz) - _1_sda, (_uniforms.src.w + _uniforms.dst.w) - _0_alpha);
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float _soft_light_component(float2 s, float2 d) {
|
||||
float _soft_light_component_hh2h2(float2 s, float2 d) {
|
||||
if (2.0 * s.x <= s.y) {
|
||||
return (((d.x * d.x) * (s.y - 2.0 * s.x)) / d.y + (1.0 - d.y) * s.x) + d.x * ((-s.y + 2.0 * s.x) + 1.0);
|
||||
} else if (4.0 * d.x <= d.y) {
|
||||
@ -27,6 +27,6 @@ float _soft_light_component(float2 s, float2 d) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = _uniforms.dst.w == 0.0 ? _uniforms.src : float4(_soft_light_component(_uniforms.src.xw, _uniforms.dst.xw), _soft_light_component(_uniforms.src.yw, _uniforms.dst.yw), _soft_light_component(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
_out.sk_FragColor = _uniforms.dst.w == 0.0 ? _uniforms.src : float4(_soft_light_component_hh2h2(_uniforms.src.xw, _uniforms.dst.xw), _soft_light_component_hh2h2(_uniforms.src.yw, _uniforms.dst.yw), _soft_light_component_hh2h2(_uniforms.src.zw, _uniforms.dst.zw), _uniforms.src.w + (1.0 - _uniforms.src.w) * _uniforms.dst.w);
|
||||
return _out;
|
||||
}
|
||||
|
@ -12,17 +12,17 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float cross(float2 a, float2 b) {
|
||||
float cross_hh2h2(float2 a, float2 b) {
|
||||
return a.x * b.y - a.y * b.x;
|
||||
}
|
||||
float cross(float2 a, float2 b) {
|
||||
float cross_ff2f2(float2 a, float2 b) {
|
||||
return a.x * b.y - a.y * b.x;
|
||||
}
|
||||
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor.x = cross(_uniforms.ah, _uniforms.bh);
|
||||
_out.sk_FragColor.y = cross(_uniforms.af, _uniforms.bf);
|
||||
_out.sk_FragColor.x = cross_hh2h2(_uniforms.ah, _uniforms.bh);
|
||||
_out.sk_FragColor.y = cross_ff2f2(_uniforms.af, _uniforms.bf);
|
||||
return _out;
|
||||
}
|
||||
|
@ -6,323 +6,323 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
void out_half(thread float& v);
|
||||
void _skOutParamHelper0_out_half(thread float& h) {
|
||||
void out_half_vh(thread float& v);
|
||||
void _skOutParamHelper0_out_half_vh(thread float& h) {
|
||||
float _var0;
|
||||
out_half(_var0);
|
||||
out_half_vh(_var0);
|
||||
h = _var0;
|
||||
}
|
||||
void out_half2(thread float2& v);
|
||||
void _skOutParamHelper1_out_half2(thread float2& h2) {
|
||||
void out_half2_vh2(thread float2& v);
|
||||
void _skOutParamHelper1_out_half2_vh2(thread float2& h2) {
|
||||
float2 _var0;
|
||||
out_half2(_var0);
|
||||
out_half2_vh2(_var0);
|
||||
h2 = _var0;
|
||||
}
|
||||
void out_half3(thread float3& v);
|
||||
void _skOutParamHelper2_out_half3(thread float3& h3) {
|
||||
void out_half3_vh3(thread float3& v);
|
||||
void _skOutParamHelper2_out_half3_vh3(thread float3& h3) {
|
||||
float3 _var0;
|
||||
out_half3(_var0);
|
||||
out_half3_vh3(_var0);
|
||||
h3 = _var0;
|
||||
}
|
||||
void out_half4(thread float4& v);
|
||||
void _skOutParamHelper3_out_half4(thread float4& h4) {
|
||||
void out_half4_vh4(thread float4& v);
|
||||
void _skOutParamHelper3_out_half4_vh4(thread float4& h4) {
|
||||
float4 _var0;
|
||||
out_half4(_var0);
|
||||
out_half4_vh4(_var0);
|
||||
h4 = _var0;
|
||||
}
|
||||
void out_half(thread float& v);
|
||||
void _skOutParamHelper4_out_half(thread float3& h3) {
|
||||
void out_half_vh(thread float& v);
|
||||
void _skOutParamHelper4_out_half_vh(thread float3& h3) {
|
||||
float _var0;
|
||||
out_half(_var0);
|
||||
out_half_vh(_var0);
|
||||
h3.y = _var0;
|
||||
}
|
||||
void out_half2(thread float2& v);
|
||||
void _skOutParamHelper5_out_half2(thread float3& h3) {
|
||||
void out_half2_vh2(thread float2& v);
|
||||
void _skOutParamHelper5_out_half2_vh2(thread float3& h3) {
|
||||
float2 _var0;
|
||||
out_half2(_var0);
|
||||
out_half2_vh2(_var0);
|
||||
h3.xz = _var0;
|
||||
}
|
||||
void out_half4(thread float4& v);
|
||||
void _skOutParamHelper6_out_half4(thread float4& h4) {
|
||||
void out_half4_vh4(thread float4& v);
|
||||
void _skOutParamHelper6_out_half4_vh4(thread float4& h4) {
|
||||
float4 _var0;
|
||||
out_half4(_var0);
|
||||
out_half4_vh4(_var0);
|
||||
h4.zwxy = _var0;
|
||||
}
|
||||
void out_pair(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper7_out_pair(thread float& h, thread float& h1) {
|
||||
void out_pair_vhh(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper7_out_pair_vhh(thread float& h, thread float& h1) {
|
||||
float _var0;
|
||||
float _var1;
|
||||
out_pair(_var0, _var1);
|
||||
out_pair_vhh(_var0, _var1);
|
||||
h = _var0;
|
||||
h1 = _var1;
|
||||
}
|
||||
void out_pair(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper8_out_pair(thread float& h, thread float&) {
|
||||
void out_pair_vhh(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper8_out_pair_vhh(thread float& h, thread float&) {
|
||||
float _var0;
|
||||
float _var1;
|
||||
out_pair(_var0, _var1);
|
||||
out_pair_vhh(_var0, _var1);
|
||||
h = _var0;
|
||||
h = _var1;
|
||||
}
|
||||
void out_pair(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper9_out_pair(thread float2& h2, thread float2&) {
|
||||
void out_pair_vhh(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper9_out_pair_vhh(thread float2& h2, thread float2&) {
|
||||
float _var0;
|
||||
float _var1;
|
||||
out_pair(_var0, _var1);
|
||||
out_pair_vhh(_var0, _var1);
|
||||
h2.x = _var0;
|
||||
h2.y = _var1;
|
||||
}
|
||||
void out_pair(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper10_out_pair(thread float2& h2, thread float2&) {
|
||||
void out_pair_vhh(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper10_out_pair_vhh(thread float2& h2, thread float2&) {
|
||||
float _var0;
|
||||
float _var1;
|
||||
out_pair(_var0, _var1);
|
||||
out_pair_vhh(_var0, _var1);
|
||||
h2.x = _var0;
|
||||
h2.x = _var1;
|
||||
}
|
||||
void out_pair(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper11_out_pair(thread float2& h2, thread float3& h3) {
|
||||
void out_pair_vhh(thread float& v1, thread float& v2);
|
||||
void _skOutParamHelper11_out_pair_vhh(thread float2& h2, thread float3& h3) {
|
||||
float _var0;
|
||||
float _var1;
|
||||
out_pair(_var0, _var1);
|
||||
out_pair_vhh(_var0, _var1);
|
||||
h2.x = _var0;
|
||||
h3.x = _var1;
|
||||
}
|
||||
void out_half2x2(thread float2x2& v);
|
||||
void _skOutParamHelper12_out_half2x2(thread float2x2& h2x2) {
|
||||
void out_half2x2_vh22(thread float2x2& v);
|
||||
void _skOutParamHelper12_out_half2x2_vh22(thread float2x2& h2x2) {
|
||||
float2x2 _var0;
|
||||
out_half2x2(_var0);
|
||||
out_half2x2_vh22(_var0);
|
||||
h2x2 = _var0;
|
||||
}
|
||||
void out_half3x3(thread float3x3& v);
|
||||
void _skOutParamHelper13_out_half3x3(thread float3x3& h3x3) {
|
||||
void out_half3x3_vh33(thread float3x3& v);
|
||||
void _skOutParamHelper13_out_half3x3_vh33(thread float3x3& h3x3) {
|
||||
float3x3 _var0;
|
||||
out_half3x3(_var0);
|
||||
out_half3x3_vh33(_var0);
|
||||
h3x3 = _var0;
|
||||
}
|
||||
void out_half4x4(thread float4x4& v);
|
||||
void _skOutParamHelper14_out_half4x4(thread float4x4& h4x4) {
|
||||
void out_half4x4_vh44(thread float4x4& v);
|
||||
void _skOutParamHelper14_out_half4x4_vh44(thread float4x4& h4x4) {
|
||||
float4x4 _var0;
|
||||
out_half4x4(_var0);
|
||||
out_half4x4_vh44(_var0);
|
||||
h4x4 = _var0;
|
||||
}
|
||||
void out_half3(thread float3& v);
|
||||
void _skOutParamHelper15_out_half3(thread float3x3& h3x3) {
|
||||
void out_half3_vh3(thread float3& v);
|
||||
void _skOutParamHelper15_out_half3_vh3(thread float3x3& h3x3) {
|
||||
float3 _var0;
|
||||
out_half3(_var0);
|
||||
out_half3_vh3(_var0);
|
||||
h3x3[1] = _var0;
|
||||
}
|
||||
void out_half4(thread float4& v);
|
||||
void _skOutParamHelper16_out_half4(thread float4x4& h4x4) {
|
||||
void out_half4_vh4(thread float4& v);
|
||||
void _skOutParamHelper16_out_half4_vh4(thread float4x4& h4x4) {
|
||||
float4 _var0;
|
||||
out_half4(_var0);
|
||||
out_half4_vh4(_var0);
|
||||
h4x4[3].zwxy = _var0;
|
||||
}
|
||||
void out_half2(thread float2& v);
|
||||
void _skOutParamHelper17_out_half2(thread float2x2& h2x2) {
|
||||
void out_half2_vh2(thread float2& v);
|
||||
void _skOutParamHelper17_out_half2_vh2(thread float2x2& h2x2) {
|
||||
float2 _var0;
|
||||
out_half2(_var0);
|
||||
out_half2_vh2(_var0);
|
||||
h2x2[0] = _var0;
|
||||
}
|
||||
void out_int(thread int& v);
|
||||
void _skOutParamHelper18_out_int(thread int& i) {
|
||||
void out_int_vi(thread int& v);
|
||||
void _skOutParamHelper18_out_int_vi(thread int& i) {
|
||||
int _var0;
|
||||
out_int(_var0);
|
||||
out_int_vi(_var0);
|
||||
i = _var0;
|
||||
}
|
||||
void out_int2(thread int2& v);
|
||||
void _skOutParamHelper19_out_int2(thread int2& i2) {
|
||||
void out_int2_vi2(thread int2& v);
|
||||
void _skOutParamHelper19_out_int2_vi2(thread int2& i2) {
|
||||
int2 _var0;
|
||||
out_int2(_var0);
|
||||
out_int2_vi2(_var0);
|
||||
i2 = _var0;
|
||||
}
|
||||
void out_int3(thread int3& v);
|
||||
void _skOutParamHelper20_out_int3(thread int3& i3) {
|
||||
void out_int3_vi3(thread int3& v);
|
||||
void _skOutParamHelper20_out_int3_vi3(thread int3& i3) {
|
||||
int3 _var0;
|
||||
out_int3(_var0);
|
||||
out_int3_vi3(_var0);
|
||||
i3 = _var0;
|
||||
}
|
||||
void out_int4(thread int4& v);
|
||||
void _skOutParamHelper21_out_int4(thread int4& i4) {
|
||||
void out_int4_vi4(thread int4& v);
|
||||
void _skOutParamHelper21_out_int4_vi4(thread int4& i4) {
|
||||
int4 _var0;
|
||||
out_int4(_var0);
|
||||
out_int4_vi4(_var0);
|
||||
i4 = _var0;
|
||||
}
|
||||
void out_int3(thread int3& v);
|
||||
void _skOutParamHelper22_out_int3(thread int4& i4) {
|
||||
void out_int3_vi3(thread int3& v);
|
||||
void _skOutParamHelper22_out_int3_vi3(thread int4& i4) {
|
||||
int3 _var0;
|
||||
out_int3(_var0);
|
||||
out_int3_vi3(_var0);
|
||||
i4.xyz = _var0;
|
||||
}
|
||||
void out_float(thread float& v);
|
||||
void _skOutParamHelper23_out_float(thread float& f) {
|
||||
void out_float_vf(thread float& v);
|
||||
void _skOutParamHelper23_out_float_vf(thread float& f) {
|
||||
float _var0;
|
||||
out_float(_var0);
|
||||
out_float_vf(_var0);
|
||||
f = _var0;
|
||||
}
|
||||
void out_float2(thread float2& v);
|
||||
void _skOutParamHelper24_out_float2(thread float2& f2) {
|
||||
void out_float2_vf2(thread float2& v);
|
||||
void _skOutParamHelper24_out_float2_vf2(thread float2& f2) {
|
||||
float2 _var0;
|
||||
out_float2(_var0);
|
||||
out_float2_vf2(_var0);
|
||||
f2 = _var0;
|
||||
}
|
||||
void out_float3(thread float3& v);
|
||||
void _skOutParamHelper25_out_float3(thread float3& f3) {
|
||||
void out_float3_vf3(thread float3& v);
|
||||
void _skOutParamHelper25_out_float3_vf3(thread float3& f3) {
|
||||
float3 _var0;
|
||||
out_float3(_var0);
|
||||
out_float3_vf3(_var0);
|
||||
f3 = _var0;
|
||||
}
|
||||
void out_float4(thread float4& v);
|
||||
void _skOutParamHelper26_out_float4(thread float4& f4) {
|
||||
void out_float4_vf4(thread float4& v);
|
||||
void _skOutParamHelper26_out_float4_vf4(thread float4& f4) {
|
||||
float4 _var0;
|
||||
out_float4(_var0);
|
||||
out_float4_vf4(_var0);
|
||||
f4 = _var0;
|
||||
}
|
||||
void out_float2(thread float2& v);
|
||||
void _skOutParamHelper27_out_float2(thread float3& f3) {
|
||||
void out_float2_vf2(thread float2& v);
|
||||
void _skOutParamHelper27_out_float2_vf2(thread float3& f3) {
|
||||
float2 _var0;
|
||||
out_float2(_var0);
|
||||
out_float2_vf2(_var0);
|
||||
f3.xy = _var0;
|
||||
}
|
||||
void out_float(thread float& v);
|
||||
void _skOutParamHelper28_out_float(thread float2& f2) {
|
||||
void out_float_vf(thread float& v);
|
||||
void _skOutParamHelper28_out_float_vf(thread float2& f2) {
|
||||
float _var0;
|
||||
out_float(_var0);
|
||||
out_float_vf(_var0);
|
||||
f2.x = _var0;
|
||||
}
|
||||
void out_float2x2(thread float2x2& v);
|
||||
void _skOutParamHelper29_out_float2x2(thread float2x2& f2x2) {
|
||||
void out_float2x2_vf22(thread float2x2& v);
|
||||
void _skOutParamHelper29_out_float2x2_vf22(thread float2x2& f2x2) {
|
||||
float2x2 _var0;
|
||||
out_float2x2(_var0);
|
||||
out_float2x2_vf22(_var0);
|
||||
f2x2 = _var0;
|
||||
}
|
||||
void out_float3x3(thread float3x3& v);
|
||||
void _skOutParamHelper30_out_float3x3(thread float3x3& f3x3) {
|
||||
void out_float3x3_vf33(thread float3x3& v);
|
||||
void _skOutParamHelper30_out_float3x3_vf33(thread float3x3& f3x3) {
|
||||
float3x3 _var0;
|
||||
out_float3x3(_var0);
|
||||
out_float3x3_vf33(_var0);
|
||||
f3x3 = _var0;
|
||||
}
|
||||
void out_float4x4(thread float4x4& v);
|
||||
void _skOutParamHelper31_out_float4x4(thread float4x4& f4x4) {
|
||||
void out_float4x4_vf44(thread float4x4& v);
|
||||
void _skOutParamHelper31_out_float4x4_vf44(thread float4x4& f4x4) {
|
||||
float4x4 _var0;
|
||||
out_float4x4(_var0);
|
||||
out_float4x4_vf44(_var0);
|
||||
f4x4 = _var0;
|
||||
}
|
||||
void out_float(thread float& v);
|
||||
void _skOutParamHelper32_out_float(thread float2x2& f2x2) {
|
||||
void out_float_vf(thread float& v);
|
||||
void _skOutParamHelper32_out_float_vf(thread float2x2& f2x2) {
|
||||
float _var0;
|
||||
out_float(_var0);
|
||||
out_float_vf(_var0);
|
||||
f2x2[0].x = _var0;
|
||||
}
|
||||
void out_float4(thread float4& v);
|
||||
void _skOutParamHelper33_out_float4(thread float4x4& f4x4) {
|
||||
void out_float4_vf4(thread float4& v);
|
||||
void _skOutParamHelper33_out_float4_vf4(thread float4x4& f4x4) {
|
||||
float4 _var0;
|
||||
out_float4(_var0);
|
||||
out_float4_vf4(_var0);
|
||||
f4x4[1] = _var0;
|
||||
}
|
||||
void out_bool(thread bool& v);
|
||||
void _skOutParamHelper34_out_bool(thread bool& b) {
|
||||
void out_bool_vb(thread bool& v);
|
||||
void _skOutParamHelper34_out_bool_vb(thread bool& b) {
|
||||
bool _var0;
|
||||
out_bool(_var0);
|
||||
out_bool_vb(_var0);
|
||||
b = _var0;
|
||||
}
|
||||
void out_bool2(thread bool2& v);
|
||||
void _skOutParamHelper35_out_bool2(thread bool2& b2) {
|
||||
void out_bool2_vb2(thread bool2& v);
|
||||
void _skOutParamHelper35_out_bool2_vb2(thread bool2& b2) {
|
||||
bool2 _var0;
|
||||
out_bool2(_var0);
|
||||
out_bool2_vb2(_var0);
|
||||
b2 = _var0;
|
||||
}
|
||||
void out_bool3(thread bool3& v);
|
||||
void _skOutParamHelper36_out_bool3(thread bool3& b3) {
|
||||
void out_bool3_vb3(thread bool3& v);
|
||||
void _skOutParamHelper36_out_bool3_vb3(thread bool3& b3) {
|
||||
bool3 _var0;
|
||||
out_bool3(_var0);
|
||||
out_bool3_vb3(_var0);
|
||||
b3 = _var0;
|
||||
}
|
||||
void out_bool4(thread bool4& v);
|
||||
void _skOutParamHelper37_out_bool4(thread bool4& b4) {
|
||||
void out_bool4_vb4(thread bool4& v);
|
||||
void _skOutParamHelper37_out_bool4_vb4(thread bool4& b4) {
|
||||
bool4 _var0;
|
||||
out_bool4(_var0);
|
||||
out_bool4_vb4(_var0);
|
||||
b4 = _var0;
|
||||
}
|
||||
void out_bool2(thread bool2& v);
|
||||
void _skOutParamHelper38_out_bool2(thread bool4& b4) {
|
||||
void out_bool2_vb2(thread bool2& v);
|
||||
void _skOutParamHelper38_out_bool2_vb2(thread bool4& b4) {
|
||||
bool2 _var0;
|
||||
out_bool2(_var0);
|
||||
out_bool2_vb2(_var0);
|
||||
b4.xw = _var0;
|
||||
}
|
||||
void out_bool(thread bool& v);
|
||||
void _skOutParamHelper39_out_bool(thread bool3& b3) {
|
||||
void out_bool_vb(thread bool& v);
|
||||
void _skOutParamHelper39_out_bool_vb(thread bool3& b3) {
|
||||
bool _var0;
|
||||
out_bool(_var0);
|
||||
out_bool_vb(_var0);
|
||||
b3.z = _var0;
|
||||
}
|
||||
void out_half(thread float& v) {
|
||||
void out_half_vh(thread float& v) {
|
||||
v = 1.0;
|
||||
}
|
||||
void out_half2(thread float2& v) {
|
||||
void out_half2_vh2(thread float2& v) {
|
||||
v = float2(2.0);
|
||||
}
|
||||
void out_half3(thread float3& v) {
|
||||
void out_half3_vh3(thread float3& v) {
|
||||
v = float3(3.0);
|
||||
}
|
||||
void out_half4(thread float4& v) {
|
||||
void out_half4_vh4(thread float4& v) {
|
||||
v = float4(4.0);
|
||||
}
|
||||
void out_half2x2(thread float2x2& v) {
|
||||
void out_half2x2_vh22(thread float2x2& v) {
|
||||
v = float2x2(2.0);
|
||||
}
|
||||
void out_half3x3(thread float3x3& v) {
|
||||
void out_half3x3_vh33(thread float3x3& v) {
|
||||
v = float3x3(3.0);
|
||||
}
|
||||
void out_half4x4(thread float4x4& v) {
|
||||
void out_half4x4_vh44(thread float4x4& v) {
|
||||
v = float4x4(4.0);
|
||||
}
|
||||
void out_int(thread int& v) {
|
||||
void out_int_vi(thread int& v) {
|
||||
v = 1;
|
||||
}
|
||||
void out_int2(thread int2& v) {
|
||||
void out_int2_vi2(thread int2& v) {
|
||||
v = int2(2);
|
||||
}
|
||||
void out_int3(thread int3& v) {
|
||||
void out_int3_vi3(thread int3& v) {
|
||||
v = int3(3);
|
||||
}
|
||||
void out_int4(thread int4& v) {
|
||||
void out_int4_vi4(thread int4& v) {
|
||||
v = int4(4);
|
||||
}
|
||||
void out_float(thread float& v) {
|
||||
void out_float_vf(thread float& v) {
|
||||
v = 1.0;
|
||||
}
|
||||
void out_float2(thread float2& v) {
|
||||
void out_float2_vf2(thread float2& v) {
|
||||
v = float2(2.0);
|
||||
}
|
||||
void out_float3(thread float3& v) {
|
||||
void out_float3_vf3(thread float3& v) {
|
||||
v = float3(3.0);
|
||||
}
|
||||
void out_float4(thread float4& v) {
|
||||
void out_float4_vf4(thread float4& v) {
|
||||
v = float4(4.0);
|
||||
}
|
||||
void out_float2x2(thread float2x2& v) {
|
||||
void out_float2x2_vf22(thread float2x2& v) {
|
||||
v = float2x2(2.0);
|
||||
}
|
||||
void out_float3x3(thread float3x3& v) {
|
||||
void out_float3x3_vf33(thread float3x3& v) {
|
||||
v = float3x3(3.0);
|
||||
}
|
||||
void out_float4x4(thread float4x4& v) {
|
||||
void out_float4x4_vf44(thread float4x4& v) {
|
||||
v = float4x4(4.0);
|
||||
}
|
||||
void out_bool(thread bool& v) {
|
||||
void out_bool_vb(thread bool& v) {
|
||||
v = true;
|
||||
}
|
||||
void out_bool2(thread bool2& v) {
|
||||
void out_bool2_vb2(thread bool2& v) {
|
||||
v = bool2(false);
|
||||
}
|
||||
void out_bool3(thread bool3& v) {
|
||||
void out_bool3_vb3(thread bool3& v) {
|
||||
v = bool3(true);
|
||||
}
|
||||
void out_bool4(thread bool4& v) {
|
||||
void out_bool4_vb4(thread bool4& v) {
|
||||
v = bool4(false);
|
||||
}
|
||||
void out_pair(thread float& v1, thread float& v2) {
|
||||
void out_pair_vhh(thread float& v1, thread float& v2) {
|
||||
v1 = 1.0;
|
||||
v2 = 2.0;
|
||||
}
|
||||
@ -330,73 +330,73 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float h;
|
||||
_skOutParamHelper0_out_half(h);
|
||||
_skOutParamHelper0_out_half_vh(h);
|
||||
float2 h2;
|
||||
_skOutParamHelper1_out_half2(h2);
|
||||
_skOutParamHelper1_out_half2_vh2(h2);
|
||||
float3 h3;
|
||||
_skOutParamHelper2_out_half3(h3);
|
||||
_skOutParamHelper2_out_half3_vh3(h3);
|
||||
float4 h4;
|
||||
_skOutParamHelper3_out_half4(h4);
|
||||
_skOutParamHelper4_out_half(h3);
|
||||
_skOutParamHelper5_out_half2(h3);
|
||||
_skOutParamHelper6_out_half4(h4);
|
||||
_skOutParamHelper3_out_half4_vh4(h4);
|
||||
_skOutParamHelper4_out_half_vh(h3);
|
||||
_skOutParamHelper5_out_half2_vh2(h3);
|
||||
_skOutParamHelper6_out_half4_vh4(h4);
|
||||
_out.sk_FragColor = float4(h, h2.x, h3.x, h4.x);
|
||||
float h1;
|
||||
_skOutParamHelper7_out_pair(h, h1);
|
||||
_skOutParamHelper8_out_pair(h, h);
|
||||
_skOutParamHelper9_out_pair(h2, h2);
|
||||
_skOutParamHelper10_out_pair(h2, h2);
|
||||
_skOutParamHelper11_out_pair(h2, h3);
|
||||
_skOutParamHelper7_out_pair_vhh(h, h1);
|
||||
_skOutParamHelper8_out_pair_vhh(h, h);
|
||||
_skOutParamHelper9_out_pair_vhh(h2, h2);
|
||||
_skOutParamHelper10_out_pair_vhh(h2, h2);
|
||||
_skOutParamHelper11_out_pair_vhh(h2, h3);
|
||||
float2x2 h2x2;
|
||||
_skOutParamHelper12_out_half2x2(h2x2);
|
||||
_skOutParamHelper12_out_half2x2_vh22(h2x2);
|
||||
float3x3 h3x3;
|
||||
_skOutParamHelper13_out_half3x3(h3x3);
|
||||
_skOutParamHelper13_out_half3x3_vh33(h3x3);
|
||||
float4x4 h4x4;
|
||||
_skOutParamHelper14_out_half4x4(h4x4);
|
||||
_skOutParamHelper15_out_half3(h3x3);
|
||||
_skOutParamHelper16_out_half4(h4x4);
|
||||
_skOutParamHelper17_out_half2(h2x2);
|
||||
_skOutParamHelper14_out_half4x4_vh44(h4x4);
|
||||
_skOutParamHelper15_out_half3_vh3(h3x3);
|
||||
_skOutParamHelper16_out_half4_vh4(h4x4);
|
||||
_skOutParamHelper17_out_half2_vh2(h2x2);
|
||||
_out.sk_FragColor = float4(h2x2[0].x, h3x3[0].x, h4x4[0].x, 1.0);
|
||||
int i;
|
||||
_skOutParamHelper18_out_int(i);
|
||||
_skOutParamHelper18_out_int_vi(i);
|
||||
int2 i2;
|
||||
_skOutParamHelper19_out_int2(i2);
|
||||
_skOutParamHelper19_out_int2_vi2(i2);
|
||||
int3 i3;
|
||||
_skOutParamHelper20_out_int3(i3);
|
||||
_skOutParamHelper20_out_int3_vi3(i3);
|
||||
int4 i4;
|
||||
_skOutParamHelper21_out_int4(i4);
|
||||
_skOutParamHelper22_out_int3(i4);
|
||||
_skOutParamHelper21_out_int4_vi4(i4);
|
||||
_skOutParamHelper22_out_int3_vi3(i4);
|
||||
_out.sk_FragColor = float4(float(i), float(i2.x), float(i3.x), float(i4.x));
|
||||
float f;
|
||||
_skOutParamHelper23_out_float(f);
|
||||
_skOutParamHelper23_out_float_vf(f);
|
||||
float2 f2;
|
||||
_skOutParamHelper24_out_float2(f2);
|
||||
_skOutParamHelper24_out_float2_vf2(f2);
|
||||
float3 f3;
|
||||
_skOutParamHelper25_out_float3(f3);
|
||||
_skOutParamHelper25_out_float3_vf3(f3);
|
||||
float4 f4;
|
||||
_skOutParamHelper26_out_float4(f4);
|
||||
_skOutParamHelper27_out_float2(f3);
|
||||
_skOutParamHelper28_out_float(f2);
|
||||
_skOutParamHelper26_out_float4_vf4(f4);
|
||||
_skOutParamHelper27_out_float2_vf2(f3);
|
||||
_skOutParamHelper28_out_float_vf(f2);
|
||||
_out.sk_FragColor = float4(f, f2.x, f3.x, f4.x);
|
||||
float2x2 f2x2;
|
||||
_skOutParamHelper29_out_float2x2(f2x2);
|
||||
_skOutParamHelper29_out_float2x2_vf22(f2x2);
|
||||
float3x3 f3x3;
|
||||
_skOutParamHelper30_out_float3x3(f3x3);
|
||||
_skOutParamHelper30_out_float3x3_vf33(f3x3);
|
||||
float4x4 f4x4;
|
||||
_skOutParamHelper31_out_float4x4(f4x4);
|
||||
_skOutParamHelper32_out_float(f2x2);
|
||||
_skOutParamHelper33_out_float4(f4x4);
|
||||
_skOutParamHelper31_out_float4x4_vf44(f4x4);
|
||||
_skOutParamHelper32_out_float_vf(f2x2);
|
||||
_skOutParamHelper33_out_float4_vf4(f4x4);
|
||||
_out.sk_FragColor = float4(f2x2[0].x, f3x3[0].x, f4x4[0].x, 1.0);
|
||||
bool b;
|
||||
_skOutParamHelper34_out_bool(b);
|
||||
_skOutParamHelper34_out_bool_vb(b);
|
||||
bool2 b2;
|
||||
_skOutParamHelper35_out_bool2(b2);
|
||||
_skOutParamHelper35_out_bool2_vb2(b2);
|
||||
bool3 b3;
|
||||
_skOutParamHelper36_out_bool3(b3);
|
||||
_skOutParamHelper36_out_bool3_vb3(b3);
|
||||
bool4 b4;
|
||||
_skOutParamHelper37_out_bool4(b4);
|
||||
_skOutParamHelper38_out_bool2(b4);
|
||||
_skOutParamHelper39_out_bool(b3);
|
||||
_skOutParamHelper37_out_bool4_vb4(b4);
|
||||
_skOutParamHelper38_out_bool2_vb2(b4);
|
||||
_skOutParamHelper39_out_bool_vb(b3);
|
||||
_out.sk_FragColor = float4(float(b), float(b2.x), float(b3.x), float(b4.x));
|
||||
return _out;
|
||||
}
|
||||
|
@ -9,18 +9,18 @@ struct Outputs {
|
||||
struct Globals {
|
||||
float2 glob;
|
||||
};
|
||||
float4 fn(thread Outputs& _out, thread Globals& _globals, float a, thread float2& b, thread float2& c, thread float3& d);
|
||||
float4 _skOutParamHelper0_fn(thread Outputs& _out, thread Globals& _globals, float _var0, thread float3& b, thread float2& glob, thread float3x3& d) {
|
||||
float4 fn_h4hh2h2h3(thread Outputs& _out, thread Globals& _globals, float a, thread float2& b, thread float2& c, thread float3& d);
|
||||
float4 _skOutParamHelper0_fn_h4hh2h2h3(thread Outputs& _out, thread Globals& _globals, float _var0, thread float3& b, thread float2& glob, thread float3x3& d) {
|
||||
float2 _var1;
|
||||
float2 _var2 = glob.yx;
|
||||
float3 _var3 = d[1].zyx;
|
||||
float4 _skResult = fn(_out, _globals, _var0, _var1, _var2, _var3);
|
||||
float4 _skResult = fn_h4hh2h2h3(_out, _globals, _var0, _var1, _var2, _var3);
|
||||
b.yz = _var1;
|
||||
glob.yx = _var2;
|
||||
d[1].zyx = _var3;
|
||||
return _skResult;
|
||||
}
|
||||
float4 fn(thread Outputs& _out, thread Globals& _globals, float a, thread float2& b, thread float2& c, thread float3& d) {
|
||||
float4 fn_h4hh2h2h3(thread Outputs& _out, thread Globals& _globals, float a, thread float2& b, thread float2& c, thread float3& d) {
|
||||
a = _out.sk_FragColor.x + a;
|
||||
b = _out.sk_FragColor.yz - _globals.glob.y;
|
||||
c *= a;
|
||||
@ -35,6 +35,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], bool _frontFacing [[front
|
||||
float2 a = float2(1.0);
|
||||
float3 b = float3(2.0);
|
||||
float3x3 d = float3x3(4.0);
|
||||
_out.sk_FragColor = _skOutParamHelper0_fn(_out, _globals, a.x, b, _globals.glob, d);
|
||||
_out.sk_FragColor = _skOutParamHelper0_fn_h4hh2h2h3(_out, _globals, a.x, b, _globals.glob, d);
|
||||
return _out;
|
||||
}
|
||||
|
@ -12,14 +12,14 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
void setToColorBlack(Uniforms _uniforms, thread float4& x);
|
||||
void _skOutParamHelper0_setToColorBlack(Uniforms _uniforms, thread float4& d) {
|
||||
void setToColorBlack_vh4(Uniforms _uniforms, thread float4& x);
|
||||
void _skOutParamHelper0_setToColorBlack_vh4(Uniforms _uniforms, thread float4& d) {
|
||||
float4 _var0;
|
||||
setToColorBlack(_uniforms, _var0);
|
||||
setToColorBlack_vh4(_uniforms, _var0);
|
||||
d = _var0;
|
||||
}
|
||||
|
||||
void setToColorBlack(Uniforms _uniforms, thread float4& x) {
|
||||
void setToColorBlack_vh4(Uniforms _uniforms, thread float4& x) {
|
||||
x = _uniforms.colorBlack;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
@ -30,7 +30,7 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float4 c;
|
||||
float4 d;
|
||||
(b = _uniforms.colorRed , c = _uniforms.colorGreen);
|
||||
a = ( _skOutParamHelper0_setToColorBlack(_uniforms, d) , _uniforms.colorWhite);
|
||||
a = ( _skOutParamHelper0_setToColorBlack_vh4(_uniforms, d) , _uniforms.colorWhite);
|
||||
a *= a;
|
||||
b *= b;
|
||||
c *= c;
|
||||
|
@ -10,11 +10,11 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float4 unpremul(float4 color) {
|
||||
float4 unpremul_h4h4(float4 color) {
|
||||
return float4(color.xyz / max(color.w, 9.9999997473787516e-05), color.w);
|
||||
}
|
||||
|
||||
float4 live_fn(float4 a, float4 b) {
|
||||
float4 live_fn_h4h4h4(float4 a, float4 b) {
|
||||
return a + b;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
@ -23,10 +23,10 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float4 a;
|
||||
float4 b;
|
||||
{
|
||||
a = live_fn(float4(3.0), float4(-5.0));
|
||||
a = live_fn_h4h4h4(float4(3.0), float4(-5.0));
|
||||
}
|
||||
{
|
||||
b = unpremul(float4(1.0));
|
||||
b = unpremul_h4h4(float4(1.0));
|
||||
}
|
||||
_out.sk_FragColor = any(a != float4(0.0)) && any(b != float4(0.0)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
|
@ -11,72 +11,72 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
bool takes_float2(float2 x) {
|
||||
bool takes_float2_bf2(float2 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_float3(float3 x) {
|
||||
bool takes_float3_bf3(float3 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_float4(float4 x) {
|
||||
bool takes_float4_bf4(float4 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_float2x2(float2x2 x) {
|
||||
bool takes_float2x2_bf22(float2x2 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_float3x3(float3x3 x) {
|
||||
bool takes_float3x3_bf33(float3x3 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_float4x4(float4x4 x) {
|
||||
bool takes_float4x4_bf44(float4x4 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half(float x) {
|
||||
bool takes_half_bh(float x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half2(float2 x) {
|
||||
bool takes_half2_bh2(float2 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half3(float3 x) {
|
||||
bool takes_half3_bh3(float3 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half4(float4 x) {
|
||||
bool takes_half4_bh4(float4 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half2x2(float2x2 x) {
|
||||
bool takes_half2x2_bh22(float2x2 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half3x3(float3x3 x) {
|
||||
bool takes_half3x3_bh33(float3x3 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_half4x4(float4x4 x) {
|
||||
bool takes_half4x4_bh44(float4x4 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_bool(bool x) {
|
||||
bool takes_bool_bb(bool x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_bool2(bool2 x) {
|
||||
bool takes_bool2_bb2(bool2 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_bool3(bool3 x) {
|
||||
bool takes_bool3_bb3(bool3 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_bool4(bool4 x) {
|
||||
bool takes_bool4_bb4(bool4 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_int(int x) {
|
||||
bool takes_int_bi(int x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_int2(int2 x) {
|
||||
bool takes_int2_bi2(int2 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_int3(int3 x) {
|
||||
bool takes_int3_bi3(int3 x) {
|
||||
return true;
|
||||
}
|
||||
bool takes_int4(int4 x) {
|
||||
bool takes_int4_bi4(int4 x) {
|
||||
return true;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = ((((((((((((((((((((true && takes_float2(float2(2.0))) && takes_float3(float3(3.0))) && takes_float4(float4(4.0))) && takes_float2x2(float2x2(2.0))) && takes_float3x3(float3x3(3.0))) && takes_float4x4(float4x4(4.0))) && takes_half(1.0)) && takes_half2(float2(2.0))) && takes_half3(float3(3.0))) && takes_half4(float4(4.0))) && takes_half2x2(float2x2(2.0))) && takes_half3x3(float3x3(3.0))) && takes_half4x4(float4x4(4.0))) && takes_bool(true)) && takes_bool2(bool2(true))) && takes_bool3(bool3(true))) && takes_bool4(bool4(true))) && takes_int(1)) && takes_int2(int2(2))) && takes_int3(int3(3))) && takes_int4(int4(4)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = ((((((((((((((((((((true && takes_float2_bf2(float2(2.0))) && takes_float3_bf3(float3(3.0))) && takes_float4_bf4(float4(4.0))) && takes_float2x2_bf22(float2x2(2.0))) && takes_float3x3_bf33(float3x3(3.0))) && takes_float4x4_bf44(float4x4(4.0))) && takes_half_bh(1.0)) && takes_half2_bh2(float2(2.0))) && takes_half3_bh3(float3(3.0))) && takes_half4_bh4(float4(4.0))) && takes_half2x2_bh22(float2x2(2.0))) && takes_half3x3_bh33(float3x3(3.0))) && takes_half4x4_bh44(float4x4(4.0))) && takes_bool_bb(true)) && takes_bool2_bb2(bool2(true))) && takes_bool3_bb3(bool3(true))) && takes_bool4_bb4(bool4(true))) && takes_int_bi(1)) && takes_int2_bi2(int2(2))) && takes_int3_bi3(int3(3))) && takes_int4_bi4(int4(4)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,14 +10,14 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
float this_function_is_prototyped_at_the_start_and_never_defined();
|
||||
float4 this_function_is_defined_before_use(float4 x);
|
||||
float4 this_function_is_defined_after_use(float4 x);
|
||||
bool this_function_is_prototyped_in_the_middle_and_never_defined(float4x4 a);
|
||||
float this_function_is_prototyped_at_the_start_and_never_defined_f();
|
||||
float4 this_function_is_defined_before_use_h4h4(float4 x);
|
||||
float4 this_function_is_defined_after_use_h4h4(float4 x);
|
||||
bool this_function_is_prototyped_in_the_middle_and_never_defined_bf44(float4x4 a);
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = _uniforms.colorGreen;
|
||||
return _out;
|
||||
}
|
||||
int3 this_function_is_prototyped_at_the_very_end_and_never_defined(float2x2 x, bool2 y);
|
||||
int3 this_function_is_prototyped_at_the_very_end_and_never_defined_i3h22b2(float2x2 x, bool2 y);
|
||||
|
@ -20,67 +20,67 @@ thread bool operator==(const float4x4 left, const float4x4 right) {
|
||||
return all(left[0] == right[0]) && all(left[1] == right[1]) && all(left[2] == right[2]) && all(left[3] == right[3]);
|
||||
}
|
||||
|
||||
float2 returns_float2() {
|
||||
float2 returns_float2_f2() {
|
||||
return float2(2.0);
|
||||
}
|
||||
float3 returns_float3() {
|
||||
float3 returns_float3_f3() {
|
||||
return float3(3.0);
|
||||
}
|
||||
float4 returns_float4() {
|
||||
float4 returns_float4_f4() {
|
||||
return float4(4.0);
|
||||
}
|
||||
float2x2 returns_float2x2() {
|
||||
float2x2 returns_float2x2_f22() {
|
||||
return float2x2(2.0);
|
||||
}
|
||||
float3x3 returns_float3x3() {
|
||||
float3x3 returns_float3x3_f33() {
|
||||
return float3x3(3.0);
|
||||
}
|
||||
float4x4 returns_float4x4() {
|
||||
float4x4 returns_float4x4_f44() {
|
||||
return float4x4(4.0);
|
||||
}
|
||||
float returns_half() {
|
||||
float returns_half_h() {
|
||||
return 1.0;
|
||||
}
|
||||
float2 returns_half2() {
|
||||
float2 returns_half2_h2() {
|
||||
return float2(2.0);
|
||||
}
|
||||
float3 returns_half3() {
|
||||
float3 returns_half3_h3() {
|
||||
return float3(3.0);
|
||||
}
|
||||
float4 returns_half4() {
|
||||
float4 returns_half4_h4() {
|
||||
return float4(4.0);
|
||||
}
|
||||
float2x2 returns_half2x2() {
|
||||
float2x2 returns_half2x2_h22() {
|
||||
return float2x2(2.0);
|
||||
}
|
||||
float3x3 returns_half3x3() {
|
||||
float3x3 returns_half3x3_h33() {
|
||||
return float3x3(3.0);
|
||||
}
|
||||
float4x4 returns_half4x4() {
|
||||
float4x4 returns_half4x4_h44() {
|
||||
return float4x4(4.0);
|
||||
}
|
||||
bool returns_bool() {
|
||||
bool returns_bool_b() {
|
||||
return true;
|
||||
}
|
||||
bool2 returns_bool2() {
|
||||
bool2 returns_bool2_b2() {
|
||||
return bool2(true);
|
||||
}
|
||||
bool3 returns_bool3() {
|
||||
bool3 returns_bool3_b3() {
|
||||
return bool3(true);
|
||||
}
|
||||
bool4 returns_bool4() {
|
||||
bool4 returns_bool4_b4() {
|
||||
return bool4(true);
|
||||
}
|
||||
int returns_int() {
|
||||
int returns_int_i() {
|
||||
return 1;
|
||||
}
|
||||
int2 returns_int2() {
|
||||
int2 returns_int2_i2() {
|
||||
return int2(2);
|
||||
}
|
||||
int3 returns_int3() {
|
||||
int3 returns_int3_i3() {
|
||||
return int3(3);
|
||||
}
|
||||
int4 returns_int4() {
|
||||
int4 returns_int4_i4() {
|
||||
return int4(4);
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
@ -108,6 +108,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
int2 x20 = int2(2);
|
||||
int3 x21 = int3(3);
|
||||
int4 x22 = int4(4);
|
||||
_out.sk_FragColor = ((((((((((((((((((((x1 == 1.0 && all(x2 == returns_float2())) && all(x3 == returns_float3())) && all(x4 == returns_float4())) && x5 == returns_float2x2()) && x6 == returns_float3x3()) && x7 == returns_float4x4()) && x8 == returns_half()) && all(x9 == returns_half2())) && all(x10 == returns_half3())) && all(x11 == returns_half4())) && x12 == returns_half2x2()) && x13 == returns_half3x3()) && x14 == returns_half4x4()) && x15 == returns_bool()) && all(x16 == returns_bool2())) && all(x17 == returns_bool3())) && all(x18 == returns_bool4())) && x19 == returns_int()) && all(x20 == returns_int2())) && all(x21 == returns_int3())) && all(x22 == returns_int4()) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = ((((((((((((((((((((x1 == 1.0 && all(x2 == returns_float2_f2())) && all(x3 == returns_float3_f3())) && all(x4 == returns_float4_f4())) && x5 == returns_float2x2_f22()) && x6 == returns_float3x3_f33()) && x7 == returns_float4x4_f44()) && x8 == returns_half_h()) && all(x9 == returns_half2_h2())) && all(x10 == returns_half3_h3())) && all(x11 == returns_half4_h4())) && x12 == returns_half2x2_h22()) && x13 == returns_half3x3_h33()) && x14 == returns_half4x4_h44()) && x15 == returns_bool_b()) && all(x16 == returns_bool2_b2())) && all(x17 == returns_bool3_b3())) && all(x18 == returns_bool4_b4())) && x19 == returns_int_i()) && all(x20 == returns_int2_i2())) && all(x21 == returns_int3_i3())) && all(x22 == returns_int4_i4()) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -10,27 +10,27 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
void bar(thread float& x);
|
||||
void _skOutParamHelper0_bar(thread float& x) {
|
||||
void bar_vf(thread float& x);
|
||||
void _skOutParamHelper0_bar_vf(thread float& x) {
|
||||
float _var0 = x;
|
||||
bar(_var0);
|
||||
bar_vf(_var0);
|
||||
x = _var0;
|
||||
}
|
||||
|
||||
float foo(float2 v) {
|
||||
float foo_ff2(float2 v) {
|
||||
return v.x * v.y;
|
||||
}
|
||||
void bar(thread float& x) {
|
||||
void bar_vf(thread float& x) {
|
||||
array<float, 2> y;
|
||||
y[0] = x;
|
||||
y[1] = x * 2.0;
|
||||
x = foo(float2(y[0], y[1]));
|
||||
x = foo_ff2(float2(y[0], y[1]));
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float x = 10.0;
|
||||
_skOutParamHelper0_bar(x);
|
||||
_skOutParamHelper0_bar_vf(x);
|
||||
_out.sk_FragColor = x == 200.0 ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ struct Globals {
|
||||
texture2d<float> uTextureSampler_0_Stage1;
|
||||
sampler uTextureSampler_0_Stage1Smplr;
|
||||
};
|
||||
float4 MatrixEffect_Stage1_c0_c0(thread Globals& _globals, float4 _input, float2 _coords) {
|
||||
float4 MatrixEffect_Stage1_c0_c0_h4h4f2(thread Globals& _globals, float4 _input, float2 _coords) {
|
||||
float2 _1_inCoord = (_globals._anonInterface0->umatrix_Stage1_c0_c0 * float3(_coords, 1.0)).xy;
|
||||
_1_inCoord *= _globals._anonInterface0->unorm_Stage1_c0_c0_c0.xy;
|
||||
float2 _2_subsetCoord;
|
||||
@ -54,79 +54,79 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], texture2d<float> uTexture
|
||||
float2 _7_coord = _in.vLocalCoord_Stage0 - 12.0 * _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
float2 _8_coordSampled = float2(0.0, 0.0);
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].y;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].z;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].w;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[0].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].y;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].z;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].w;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[1].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].y;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].z;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].w;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[2].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].y;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].z;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].w;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[3].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].y;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].z;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].w;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[4].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].y;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].y;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].z;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].z;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].w;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[5].w;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_8_coordSampled = _7_coord;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[6].x;
|
||||
_6_output += MatrixEffect_Stage1_c0_c0_h4h4f2(_globals, outputColor_Stage0, _8_coordSampled) * _globals._anonInterface0->uKernel_Stage1_c0[6].x;
|
||||
_7_coord += _globals._anonInterface0->uIncrement_Stage1_c0;
|
||||
_6_output *= outputColor_Stage0;
|
||||
output_Stage1 = _6_output;
|
||||
|
@ -15,7 +15,7 @@ thread float2x2& operator*=(thread float2x2& left, thread const float2x2& right)
|
||||
return left;
|
||||
}
|
||||
|
||||
bool test_half() {
|
||||
bool test_half_b() {
|
||||
float2x2 m1 = float2x2(float2(1.0, 2.0), float2(3.0, 4.0));
|
||||
float2x2 m3 = m1;
|
||||
float2x2 m4 = float2x2(1.0);
|
||||
@ -41,6 +41,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
float4x4 _10_m10 = float4x4(1.0);
|
||||
float4x4 _11_m11 = float4x4(2.0);
|
||||
_11_m11 -= _10_m10;
|
||||
_out.sk_FragColor = true && test_half() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = true && test_half_b() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ thread float4x4& operator*=(thread float4x4& left, thread const float4x4& right)
|
||||
return left;
|
||||
}
|
||||
|
||||
bool test_half() {
|
||||
bool test_half_b() {
|
||||
float2x3 m23 = float2x3(23.0);
|
||||
float2x4 m24 = float2x4(24.0);
|
||||
float3x2 m32 = float3x2(32.0);
|
||||
@ -53,6 +53,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
_7_m33 *= _7_m33;
|
||||
float4x4 _8_m44 = _1_m24 * _4_m42;
|
||||
_8_m44 *= _8_m44;
|
||||
_out.sk_FragColor = true && test_half() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = true && test_half_b() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
bool test_int() {
|
||||
bool test_int_b() {
|
||||
int one = 1;
|
||||
const int two = 2;
|
||||
int4 result;
|
||||
@ -31,6 +31,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
_2_result.y = 1.0;
|
||||
_2_result.z = float(all(-float4(_1_two) == float4(-_1_two, float3(-_1_two))) ? 1 : 0);
|
||||
_2_result.w = float(all(float2(1.0, -2.0) == -float2(_0_one - _1_two, _1_two)) ? 1 : 0);
|
||||
_out.sk_FragColor = bool(((_2_result.x * _2_result.y) * _2_result.z) * _2_result.w) && test_int() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = bool(((_2_result.x * _2_result.y) * _2_result.z) * _2_result.w) && test_int_b() ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -11,343 +11,343 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper0_out_half(Uniforms _uniforms, thread float& h) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper0_out_half_vh(Uniforms _uniforms, thread float& h) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h = _var0;
|
||||
}
|
||||
void out_half2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper1_out_half2(Uniforms _uniforms, thread float2& h2) {
|
||||
void out_half2_vh2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper1_out_half2_vh2(Uniforms _uniforms, thread float2& h2) {
|
||||
float2 _var0;
|
||||
out_half2(_uniforms, _var0);
|
||||
out_half2_vh2(_uniforms, _var0);
|
||||
h2 = _var0;
|
||||
}
|
||||
void out_half3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper2_out_half3(Uniforms _uniforms, thread float3& h3) {
|
||||
void out_half3_vh3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper2_out_half3_vh3(Uniforms _uniforms, thread float3& h3) {
|
||||
float3 _var0;
|
||||
out_half3(_uniforms, _var0);
|
||||
out_half3_vh3(_uniforms, _var0);
|
||||
h3 = _var0;
|
||||
}
|
||||
void out_half4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper3_out_half4(Uniforms _uniforms, thread float4& h4) {
|
||||
void out_half4_vh4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper3_out_half4_vh4(Uniforms _uniforms, thread float4& h4) {
|
||||
float4 _var0;
|
||||
out_half4(_uniforms, _var0);
|
||||
out_half4_vh4(_uniforms, _var0);
|
||||
h4 = _var0;
|
||||
}
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper4_out_half(Uniforms _uniforms, thread float3& h3) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper4_out_half_vh(Uniforms _uniforms, thread float3& h3) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h3.y = _var0;
|
||||
}
|
||||
void out_half2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper5_out_half2(Uniforms _uniforms, thread float3& h3) {
|
||||
void out_half2_vh2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper5_out_half2_vh2(Uniforms _uniforms, thread float3& h3) {
|
||||
float2 _var0;
|
||||
out_half2(_uniforms, _var0);
|
||||
out_half2_vh2(_uniforms, _var0);
|
||||
h3.xz = _var0;
|
||||
}
|
||||
void out_half4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper6_out_half4(Uniforms _uniforms, thread float4& h4) {
|
||||
void out_half4_vh4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper6_out_half4_vh4(Uniforms _uniforms, thread float4& h4) {
|
||||
float4 _var0;
|
||||
out_half4(_uniforms, _var0);
|
||||
out_half4_vh4(_uniforms, _var0);
|
||||
h4.zwxy = _var0;
|
||||
}
|
||||
void out_half2x2(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper7_out_half2x2(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
void out_half2x2_vh22(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper7_out_half2x2_vh22(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
float2x2 _var0;
|
||||
out_half2x2(_uniforms, _var0);
|
||||
out_half2x2_vh22(_uniforms, _var0);
|
||||
h2x2 = _var0;
|
||||
}
|
||||
void out_half3x3(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper8_out_half3x3(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
void out_half3x3_vh33(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper8_out_half3x3_vh33(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
float3x3 _var0;
|
||||
out_half3x3(_uniforms, _var0);
|
||||
out_half3x3_vh33(_uniforms, _var0);
|
||||
h3x3 = _var0;
|
||||
}
|
||||
void out_half4x4(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper9_out_half4x4(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
void out_half4x4_vh44(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper9_out_half4x4_vh44(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
float4x4 _var0;
|
||||
out_half4x4(_uniforms, _var0);
|
||||
out_half4x4_vh44(_uniforms, _var0);
|
||||
h4x4 = _var0;
|
||||
}
|
||||
void out_half3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper10_out_half3(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
void out_half3_vh3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper10_out_half3_vh3(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
float3 _var0;
|
||||
out_half3(_uniforms, _var0);
|
||||
out_half3_vh3(_uniforms, _var0);
|
||||
h3x3[1] = _var0;
|
||||
}
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper11_out_half(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper11_out_half_vh(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h4x4[3].w = _var0;
|
||||
}
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper12_out_half(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper12_out_half_vh(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h2x2[0].x = _var0;
|
||||
}
|
||||
void out_int(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper13_out_int(Uniforms _uniforms, thread int& i) {
|
||||
void out_int_vi(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper13_out_int_vi(Uniforms _uniforms, thread int& i) {
|
||||
int _var0;
|
||||
out_int(_uniforms, _var0);
|
||||
out_int_vi(_uniforms, _var0);
|
||||
i = _var0;
|
||||
}
|
||||
void out_int2(Uniforms _uniforms, thread int2& v);
|
||||
void _skOutParamHelper14_out_int2(Uniforms _uniforms, thread int2& i2) {
|
||||
void out_int2_vi2(Uniforms _uniforms, thread int2& v);
|
||||
void _skOutParamHelper14_out_int2_vi2(Uniforms _uniforms, thread int2& i2) {
|
||||
int2 _var0;
|
||||
out_int2(_uniforms, _var0);
|
||||
out_int2_vi2(_uniforms, _var0);
|
||||
i2 = _var0;
|
||||
}
|
||||
void out_int3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper15_out_int3(Uniforms _uniforms, thread int3& i3) {
|
||||
void out_int3_vi3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper15_out_int3_vi3(Uniforms _uniforms, thread int3& i3) {
|
||||
int3 _var0;
|
||||
out_int3(_uniforms, _var0);
|
||||
out_int3_vi3(_uniforms, _var0);
|
||||
i3 = _var0;
|
||||
}
|
||||
void out_int4(Uniforms _uniforms, thread int4& v);
|
||||
void _skOutParamHelper16_out_int4(Uniforms _uniforms, thread int4& i4) {
|
||||
void out_int4_vi4(Uniforms _uniforms, thread int4& v);
|
||||
void _skOutParamHelper16_out_int4_vi4(Uniforms _uniforms, thread int4& i4) {
|
||||
int4 _var0;
|
||||
out_int4(_uniforms, _var0);
|
||||
out_int4_vi4(_uniforms, _var0);
|
||||
i4 = _var0;
|
||||
}
|
||||
void out_int3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper17_out_int3(Uniforms _uniforms, thread int4& i4) {
|
||||
void out_int3_vi3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper17_out_int3_vi3(Uniforms _uniforms, thread int4& i4) {
|
||||
int3 _var0;
|
||||
out_int3(_uniforms, _var0);
|
||||
out_int3_vi3(_uniforms, _var0);
|
||||
i4.xyz = _var0;
|
||||
}
|
||||
void out_int(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper18_out_int(Uniforms _uniforms, thread int2& i2) {
|
||||
void out_int_vi(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper18_out_int_vi(Uniforms _uniforms, thread int2& i2) {
|
||||
int _var0;
|
||||
out_int(_uniforms, _var0);
|
||||
out_int_vi(_uniforms, _var0);
|
||||
i2.y = _var0;
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper19_out_float(Uniforms _uniforms, thread float& f) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper19_out_float_vf(Uniforms _uniforms, thread float& f) {
|
||||
float _var0;
|
||||
out_float(_uniforms, _var0);
|
||||
out_float_vf(_uniforms, _var0);
|
||||
f = _var0;
|
||||
}
|
||||
void out_float2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper20_out_float2(Uniforms _uniforms, thread float2& f2) {
|
||||
void out_float2_vf2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper20_out_float2_vf2(Uniforms _uniforms, thread float2& f2) {
|
||||
float2 _var0;
|
||||
out_float2(_uniforms, _var0);
|
||||
out_float2_vf2(_uniforms, _var0);
|
||||
f2 = _var0;
|
||||
}
|
||||
void out_float3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper21_out_float3(Uniforms _uniforms, thread float3& f3) {
|
||||
void out_float3_vf3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper21_out_float3_vf3(Uniforms _uniforms, thread float3& f3) {
|
||||
float3 _var0;
|
||||
out_float3(_uniforms, _var0);
|
||||
out_float3_vf3(_uniforms, _var0);
|
||||
f3 = _var0;
|
||||
}
|
||||
void out_float4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper22_out_float4(Uniforms _uniforms, thread float4& f4) {
|
||||
void out_float4_vf4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper22_out_float4_vf4(Uniforms _uniforms, thread float4& f4) {
|
||||
float4 _var0;
|
||||
out_float4(_uniforms, _var0);
|
||||
out_float4_vf4(_uniforms, _var0);
|
||||
f4 = _var0;
|
||||
}
|
||||
void out_float2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper23_out_float2(Uniforms _uniforms, thread float3& f3) {
|
||||
void out_float2_vf2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper23_out_float2_vf2(Uniforms _uniforms, thread float3& f3) {
|
||||
float2 _var0;
|
||||
out_float2(_uniforms, _var0);
|
||||
out_float2_vf2(_uniforms, _var0);
|
||||
f3.xy = _var0;
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper24_out_float(Uniforms _uniforms, thread float2& f2) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper24_out_float_vf(Uniforms _uniforms, thread float2& f2) {
|
||||
float _var0;
|
||||
out_float(_uniforms, _var0);
|
||||
out_float_vf(_uniforms, _var0);
|
||||
f2.x = _var0;
|
||||
}
|
||||
void out_float2x2(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper25_out_float2x2(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
void out_float2x2_vf22(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper25_out_float2x2_vf22(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
float2x2 _var0;
|
||||
out_float2x2(_uniforms, _var0);
|
||||
out_float2x2_vf22(_uniforms, _var0);
|
||||
f2x2 = _var0;
|
||||
}
|
||||
void out_float3x3(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper26_out_float3x3(Uniforms _uniforms, thread float3x3& f3x3) {
|
||||
void out_float3x3_vf33(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper26_out_float3x3_vf33(Uniforms _uniforms, thread float3x3& f3x3) {
|
||||
float3x3 _var0;
|
||||
out_float3x3(_uniforms, _var0);
|
||||
out_float3x3_vf33(_uniforms, _var0);
|
||||
f3x3 = _var0;
|
||||
}
|
||||
void out_float4x4(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper27_out_float4x4(Uniforms _uniforms, thread float4x4& f4x4) {
|
||||
void out_float4x4_vf44(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper27_out_float4x4_vf44(Uniforms _uniforms, thread float4x4& f4x4) {
|
||||
float4x4 _var0;
|
||||
out_float4x4(_uniforms, _var0);
|
||||
out_float4x4_vf44(_uniforms, _var0);
|
||||
f4x4 = _var0;
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper28_out_float(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper28_out_float_vf(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
float _var0;
|
||||
out_float(_uniforms, _var0);
|
||||
out_float_vf(_uniforms, _var0);
|
||||
f2x2[0].x = _var0;
|
||||
}
|
||||
void out_bool(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper29_out_bool(Uniforms _uniforms, thread bool& b) {
|
||||
void out_bool_vb(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper29_out_bool_vb(Uniforms _uniforms, thread bool& b) {
|
||||
bool _var0;
|
||||
out_bool(_uniforms, _var0);
|
||||
out_bool_vb(_uniforms, _var0);
|
||||
b = _var0;
|
||||
}
|
||||
void out_bool2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper30_out_bool2(Uniforms _uniforms, thread bool2& b2) {
|
||||
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper30_out_bool2_vb2(Uniforms _uniforms, thread bool2& b2) {
|
||||
bool2 _var0;
|
||||
out_bool2(_uniforms, _var0);
|
||||
out_bool2_vb2(_uniforms, _var0);
|
||||
b2 = _var0;
|
||||
}
|
||||
void out_bool3(Uniforms _uniforms, thread bool3& v);
|
||||
void _skOutParamHelper31_out_bool3(Uniforms _uniforms, thread bool3& b3) {
|
||||
void out_bool3_vb3(Uniforms _uniforms, thread bool3& v);
|
||||
void _skOutParamHelper31_out_bool3_vb3(Uniforms _uniforms, thread bool3& b3) {
|
||||
bool3 _var0;
|
||||
out_bool3(_uniforms, _var0);
|
||||
out_bool3_vb3(_uniforms, _var0);
|
||||
b3 = _var0;
|
||||
}
|
||||
void out_bool4(Uniforms _uniforms, thread bool4& v);
|
||||
void _skOutParamHelper32_out_bool4(Uniforms _uniforms, thread bool4& b4) {
|
||||
void out_bool4_vb4(Uniforms _uniforms, thread bool4& v);
|
||||
void _skOutParamHelper32_out_bool4_vb4(Uniforms _uniforms, thread bool4& b4) {
|
||||
bool4 _var0;
|
||||
out_bool4(_uniforms, _var0);
|
||||
out_bool4_vb4(_uniforms, _var0);
|
||||
b4 = _var0;
|
||||
}
|
||||
void out_bool2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper33_out_bool2(Uniforms _uniforms, thread bool4& b4) {
|
||||
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper33_out_bool2_vb2(Uniforms _uniforms, thread bool4& b4) {
|
||||
bool2 _var0;
|
||||
out_bool2(_uniforms, _var0);
|
||||
out_bool2_vb2(_uniforms, _var0);
|
||||
b4.xw = _var0;
|
||||
}
|
||||
void out_bool(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper34_out_bool(Uniforms _uniforms, thread bool3& b3) {
|
||||
void out_bool_vb(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper34_out_bool_vb(Uniforms _uniforms, thread bool3& b3) {
|
||||
bool _var0;
|
||||
out_bool(_uniforms, _var0);
|
||||
out_bool_vb(_uniforms, _var0);
|
||||
b3.z = _var0;
|
||||
}
|
||||
|
||||
void out_half(Uniforms _uniforms, thread float& v) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v) {
|
||||
v = _uniforms.colorWhite.x;
|
||||
}
|
||||
void out_half2(Uniforms _uniforms, thread float2& v) {
|
||||
void out_half2_vh2(Uniforms _uniforms, thread float2& v) {
|
||||
v = float2(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_half3(Uniforms _uniforms, thread float3& v) {
|
||||
void out_half3_vh3(Uniforms _uniforms, thread float3& v) {
|
||||
v = float3(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_half4(Uniforms _uniforms, thread float4& v) {
|
||||
void out_half4_vh4(Uniforms _uniforms, thread float4& v) {
|
||||
v = float4(_uniforms.colorWhite.w);
|
||||
}
|
||||
void out_half2x2(Uniforms _uniforms, thread float2x2& v) {
|
||||
void out_half2x2_vh22(Uniforms _uniforms, thread float2x2& v) {
|
||||
v = float2x2(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_half3x3(Uniforms _uniforms, thread float3x3& v) {
|
||||
void out_half3x3_vh33(Uniforms _uniforms, thread float3x3& v) {
|
||||
v = float3x3(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_half4x4(Uniforms _uniforms, thread float4x4& v) {
|
||||
void out_half4x4_vh44(Uniforms _uniforms, thread float4x4& v) {
|
||||
v = float4x4(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_int(Uniforms _uniforms, thread int& v) {
|
||||
void out_int_vi(Uniforms _uniforms, thread int& v) {
|
||||
v = int(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_int2(Uniforms _uniforms, thread int2& v) {
|
||||
void out_int2_vi2(Uniforms _uniforms, thread int2& v) {
|
||||
v = int2(int(_uniforms.colorWhite.y));
|
||||
}
|
||||
void out_int3(Uniforms _uniforms, thread int3& v) {
|
||||
void out_int3_vi3(Uniforms _uniforms, thread int3& v) {
|
||||
v = int3(int(_uniforms.colorWhite.z));
|
||||
}
|
||||
void out_int4(Uniforms _uniforms, thread int4& v) {
|
||||
void out_int4_vi4(Uniforms _uniforms, thread int4& v) {
|
||||
v = int4(int(_uniforms.colorWhite.w));
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v) {
|
||||
v = _uniforms.colorWhite.x;
|
||||
}
|
||||
void out_float2(Uniforms _uniforms, thread float2& v) {
|
||||
void out_float2_vf2(Uniforms _uniforms, thread float2& v) {
|
||||
v = float2(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_float3(Uniforms _uniforms, thread float3& v) {
|
||||
void out_float3_vf3(Uniforms _uniforms, thread float3& v) {
|
||||
v = float3(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_float4(Uniforms _uniforms, thread float4& v) {
|
||||
void out_float4_vf4(Uniforms _uniforms, thread float4& v) {
|
||||
v = float4(_uniforms.colorWhite.w);
|
||||
}
|
||||
void out_float2x2(Uniforms _uniforms, thread float2x2& v) {
|
||||
void out_float2x2_vf22(Uniforms _uniforms, thread float2x2& v) {
|
||||
v = float2x2(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_float3x3(Uniforms _uniforms, thread float3x3& v) {
|
||||
void out_float3x3_vf33(Uniforms _uniforms, thread float3x3& v) {
|
||||
v = float3x3(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_float4x4(Uniforms _uniforms, thread float4x4& v) {
|
||||
void out_float4x4_vf44(Uniforms _uniforms, thread float4x4& v) {
|
||||
v = float4x4(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_bool(Uniforms _uniforms, thread bool& v) {
|
||||
void out_bool_vb(Uniforms _uniforms, thread bool& v) {
|
||||
v = bool(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_bool2(Uniforms _uniforms, thread bool2& v) {
|
||||
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v) {
|
||||
v = bool2(bool(_uniforms.colorWhite.y));
|
||||
}
|
||||
void out_bool3(Uniforms _uniforms, thread bool3& v) {
|
||||
void out_bool3_vb3(Uniforms _uniforms, thread bool3& v) {
|
||||
v = bool3(bool(_uniforms.colorWhite.z));
|
||||
}
|
||||
void out_bool4(Uniforms _uniforms, thread bool4& v) {
|
||||
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;
|
||||
float h;
|
||||
_skOutParamHelper0_out_half(_uniforms, h);
|
||||
_skOutParamHelper0_out_half_vh(_uniforms, h);
|
||||
float2 h2;
|
||||
_skOutParamHelper1_out_half2(_uniforms, h2);
|
||||
_skOutParamHelper1_out_half2_vh2(_uniforms, h2);
|
||||
float3 h3;
|
||||
_skOutParamHelper2_out_half3(_uniforms, h3);
|
||||
_skOutParamHelper2_out_half3_vh3(_uniforms, h3);
|
||||
float4 h4;
|
||||
_skOutParamHelper3_out_half4(_uniforms, h4);
|
||||
_skOutParamHelper4_out_half(_uniforms, h3);
|
||||
_skOutParamHelper5_out_half2(_uniforms, h3);
|
||||
_skOutParamHelper6_out_half4(_uniforms, h4);
|
||||
_skOutParamHelper3_out_half4_vh4(_uniforms, h4);
|
||||
_skOutParamHelper4_out_half_vh(_uniforms, h3);
|
||||
_skOutParamHelper5_out_half2_vh2(_uniforms, h3);
|
||||
_skOutParamHelper6_out_half4_vh4(_uniforms, h4);
|
||||
float2x2 h2x2;
|
||||
_skOutParamHelper7_out_half2x2(_uniforms, h2x2);
|
||||
_skOutParamHelper7_out_half2x2_vh22(_uniforms, h2x2);
|
||||
float3x3 h3x3;
|
||||
_skOutParamHelper8_out_half3x3(_uniforms, h3x3);
|
||||
_skOutParamHelper8_out_half3x3_vh33(_uniforms, h3x3);
|
||||
float4x4 h4x4;
|
||||
_skOutParamHelper9_out_half4x4(_uniforms, h4x4);
|
||||
_skOutParamHelper10_out_half3(_uniforms, h3x3);
|
||||
_skOutParamHelper11_out_half(_uniforms, h4x4);
|
||||
_skOutParamHelper12_out_half(_uniforms, h2x2);
|
||||
_skOutParamHelper9_out_half4x4_vh44(_uniforms, h4x4);
|
||||
_skOutParamHelper10_out_half3_vh3(_uniforms, h3x3);
|
||||
_skOutParamHelper11_out_half_vh(_uniforms, h4x4);
|
||||
_skOutParamHelper12_out_half_vh(_uniforms, h2x2);
|
||||
int i;
|
||||
_skOutParamHelper13_out_int(_uniforms, i);
|
||||
_skOutParamHelper13_out_int_vi(_uniforms, i);
|
||||
int2 i2;
|
||||
_skOutParamHelper14_out_int2(_uniforms, i2);
|
||||
_skOutParamHelper14_out_int2_vi2(_uniforms, i2);
|
||||
int3 i3;
|
||||
_skOutParamHelper15_out_int3(_uniforms, i3);
|
||||
_skOutParamHelper15_out_int3_vi3(_uniforms, i3);
|
||||
int4 i4;
|
||||
_skOutParamHelper16_out_int4(_uniforms, i4);
|
||||
_skOutParamHelper17_out_int3(_uniforms, i4);
|
||||
_skOutParamHelper18_out_int(_uniforms, i2);
|
||||
_skOutParamHelper16_out_int4_vi4(_uniforms, i4);
|
||||
_skOutParamHelper17_out_int3_vi3(_uniforms, i4);
|
||||
_skOutParamHelper18_out_int_vi(_uniforms, i2);
|
||||
float f;
|
||||
_skOutParamHelper19_out_float(_uniforms, f);
|
||||
_skOutParamHelper19_out_float_vf(_uniforms, f);
|
||||
float2 f2;
|
||||
_skOutParamHelper20_out_float2(_uniforms, f2);
|
||||
_skOutParamHelper20_out_float2_vf2(_uniforms, f2);
|
||||
float3 f3;
|
||||
_skOutParamHelper21_out_float3(_uniforms, f3);
|
||||
_skOutParamHelper21_out_float3_vf3(_uniforms, f3);
|
||||
float4 f4;
|
||||
_skOutParamHelper22_out_float4(_uniforms, f4);
|
||||
_skOutParamHelper23_out_float2(_uniforms, f3);
|
||||
_skOutParamHelper24_out_float(_uniforms, f2);
|
||||
_skOutParamHelper22_out_float4_vf4(_uniforms, f4);
|
||||
_skOutParamHelper23_out_float2_vf2(_uniforms, f3);
|
||||
_skOutParamHelper24_out_float_vf(_uniforms, f2);
|
||||
float2x2 f2x2;
|
||||
_skOutParamHelper25_out_float2x2(_uniforms, f2x2);
|
||||
_skOutParamHelper25_out_float2x2_vf22(_uniforms, f2x2);
|
||||
float3x3 f3x3;
|
||||
_skOutParamHelper26_out_float3x3(_uniforms, f3x3);
|
||||
_skOutParamHelper26_out_float3x3_vf33(_uniforms, f3x3);
|
||||
float4x4 f4x4;
|
||||
_skOutParamHelper27_out_float4x4(_uniforms, f4x4);
|
||||
_skOutParamHelper28_out_float(_uniforms, f2x2);
|
||||
_skOutParamHelper27_out_float4x4_vf44(_uniforms, f4x4);
|
||||
_skOutParamHelper28_out_float_vf(_uniforms, f2x2);
|
||||
bool b;
|
||||
_skOutParamHelper29_out_bool(_uniforms, b);
|
||||
_skOutParamHelper29_out_bool_vb(_uniforms, b);
|
||||
bool2 b2;
|
||||
_skOutParamHelper30_out_bool2(_uniforms, b2);
|
||||
_skOutParamHelper30_out_bool2_vb2(_uniforms, b2);
|
||||
bool3 b3;
|
||||
_skOutParamHelper31_out_bool3(_uniforms, b3);
|
||||
_skOutParamHelper31_out_bool3_vb3(_uniforms, b3);
|
||||
bool4 b4;
|
||||
_skOutParamHelper32_out_bool4(_uniforms, b4);
|
||||
_skOutParamHelper33_out_bool2(_uniforms, b4);
|
||||
_skOutParamHelper34_out_bool(_uniforms, b3);
|
||||
_skOutParamHelper32_out_bool4_vb4(_uniforms, b4);
|
||||
_skOutParamHelper33_out_bool2_vb2(_uniforms, b4);
|
||||
_skOutParamHelper34_out_bool_vb(_uniforms, b3);
|
||||
bool ok = true;
|
||||
ok = ok && 1.0 == (((((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;
|
||||
|
@ -11,343 +11,343 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper0_out_half(Uniforms _uniforms, thread float& h) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper0_out_half_vh(Uniforms _uniforms, thread float& h) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h = _var0;
|
||||
}
|
||||
void out_half2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper1_out_half2(Uniforms _uniforms, thread float2& h2) {
|
||||
void out_half2_vh2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper1_out_half2_vh2(Uniforms _uniforms, thread float2& h2) {
|
||||
float2 _var0;
|
||||
out_half2(_uniforms, _var0);
|
||||
out_half2_vh2(_uniforms, _var0);
|
||||
h2 = _var0;
|
||||
}
|
||||
void out_half3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper2_out_half3(Uniforms _uniforms, thread float3& h3) {
|
||||
void out_half3_vh3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper2_out_half3_vh3(Uniforms _uniforms, thread float3& h3) {
|
||||
float3 _var0;
|
||||
out_half3(_uniforms, _var0);
|
||||
out_half3_vh3(_uniforms, _var0);
|
||||
h3 = _var0;
|
||||
}
|
||||
void out_half4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper3_out_half4(Uniforms _uniforms, thread float4& h4) {
|
||||
void out_half4_vh4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper3_out_half4_vh4(Uniforms _uniforms, thread float4& h4) {
|
||||
float4 _var0;
|
||||
out_half4(_uniforms, _var0);
|
||||
out_half4_vh4(_uniforms, _var0);
|
||||
h4 = _var0;
|
||||
}
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper4_out_half(Uniforms _uniforms, thread float3& h3) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper4_out_half_vh(Uniforms _uniforms, thread float3& h3) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h3.y = _var0;
|
||||
}
|
||||
void out_half2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper5_out_half2(Uniforms _uniforms, thread float3& h3) {
|
||||
void out_half2_vh2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper5_out_half2_vh2(Uniforms _uniforms, thread float3& h3) {
|
||||
float2 _var0;
|
||||
out_half2(_uniforms, _var0);
|
||||
out_half2_vh2(_uniforms, _var0);
|
||||
h3.xz = _var0;
|
||||
}
|
||||
void out_half4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper6_out_half4(Uniforms _uniforms, thread float4& h4) {
|
||||
void out_half4_vh4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper6_out_half4_vh4(Uniforms _uniforms, thread float4& h4) {
|
||||
float4 _var0;
|
||||
out_half4(_uniforms, _var0);
|
||||
out_half4_vh4(_uniforms, _var0);
|
||||
h4.zwxy = _var0;
|
||||
}
|
||||
void out_half2x2(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper7_out_half2x2(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
void out_half2x2_vh22(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper7_out_half2x2_vh22(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
float2x2 _var0;
|
||||
out_half2x2(_uniforms, _var0);
|
||||
out_half2x2_vh22(_uniforms, _var0);
|
||||
h2x2 = _var0;
|
||||
}
|
||||
void out_half3x3(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper8_out_half3x3(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
void out_half3x3_vh33(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper8_out_half3x3_vh33(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
float3x3 _var0;
|
||||
out_half3x3(_uniforms, _var0);
|
||||
out_half3x3_vh33(_uniforms, _var0);
|
||||
h3x3 = _var0;
|
||||
}
|
||||
void out_half4x4(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper9_out_half4x4(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
void out_half4x4_vh44(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper9_out_half4x4_vh44(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
float4x4 _var0;
|
||||
out_half4x4(_uniforms, _var0);
|
||||
out_half4x4_vh44(_uniforms, _var0);
|
||||
h4x4 = _var0;
|
||||
}
|
||||
void out_half3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper10_out_half3(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
void out_half3_vh3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper10_out_half3_vh3(Uniforms _uniforms, thread float3x3& h3x3) {
|
||||
float3 _var0;
|
||||
out_half3(_uniforms, _var0);
|
||||
out_half3_vh3(_uniforms, _var0);
|
||||
h3x3[1] = _var0;
|
||||
}
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper11_out_half(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper11_out_half_vh(Uniforms _uniforms, thread float4x4& h4x4) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h4x4[3].w = _var0;
|
||||
}
|
||||
void out_half(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper12_out_half(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper12_out_half_vh(Uniforms _uniforms, thread float2x2& h2x2) {
|
||||
float _var0;
|
||||
out_half(_uniforms, _var0);
|
||||
out_half_vh(_uniforms, _var0);
|
||||
h2x2[0].x = _var0;
|
||||
}
|
||||
void out_int(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper13_out_int(Uniforms _uniforms, thread int& i) {
|
||||
void out_int_vi(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper13_out_int_vi(Uniforms _uniforms, thread int& i) {
|
||||
int _var0;
|
||||
out_int(_uniforms, _var0);
|
||||
out_int_vi(_uniforms, _var0);
|
||||
i = _var0;
|
||||
}
|
||||
void out_int2(Uniforms _uniforms, thread int2& v);
|
||||
void _skOutParamHelper14_out_int2(Uniforms _uniforms, thread int2& i2) {
|
||||
void out_int2_vi2(Uniforms _uniforms, thread int2& v);
|
||||
void _skOutParamHelper14_out_int2_vi2(Uniforms _uniforms, thread int2& i2) {
|
||||
int2 _var0;
|
||||
out_int2(_uniforms, _var0);
|
||||
out_int2_vi2(_uniforms, _var0);
|
||||
i2 = _var0;
|
||||
}
|
||||
void out_int3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper15_out_int3(Uniforms _uniforms, thread int3& i3) {
|
||||
void out_int3_vi3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper15_out_int3_vi3(Uniforms _uniforms, thread int3& i3) {
|
||||
int3 _var0;
|
||||
out_int3(_uniforms, _var0);
|
||||
out_int3_vi3(_uniforms, _var0);
|
||||
i3 = _var0;
|
||||
}
|
||||
void out_int4(Uniforms _uniforms, thread int4& v);
|
||||
void _skOutParamHelper16_out_int4(Uniforms _uniforms, thread int4& i4) {
|
||||
void out_int4_vi4(Uniforms _uniforms, thread int4& v);
|
||||
void _skOutParamHelper16_out_int4_vi4(Uniforms _uniforms, thread int4& i4) {
|
||||
int4 _var0;
|
||||
out_int4(_uniforms, _var0);
|
||||
out_int4_vi4(_uniforms, _var0);
|
||||
i4 = _var0;
|
||||
}
|
||||
void out_int3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper17_out_int3(Uniforms _uniforms, thread int4& i4) {
|
||||
void out_int3_vi3(Uniforms _uniforms, thread int3& v);
|
||||
void _skOutParamHelper17_out_int3_vi3(Uniforms _uniforms, thread int4& i4) {
|
||||
int3 _var0;
|
||||
out_int3(_uniforms, _var0);
|
||||
out_int3_vi3(_uniforms, _var0);
|
||||
i4.xyz = _var0;
|
||||
}
|
||||
void out_int(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper18_out_int(Uniforms _uniforms, thread int2& i2) {
|
||||
void out_int_vi(Uniforms _uniforms, thread int& v);
|
||||
void _skOutParamHelper18_out_int_vi(Uniforms _uniforms, thread int2& i2) {
|
||||
int _var0;
|
||||
out_int(_uniforms, _var0);
|
||||
out_int_vi(_uniforms, _var0);
|
||||
i2.y = _var0;
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper19_out_float(Uniforms _uniforms, thread float& f) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper19_out_float_vf(Uniforms _uniforms, thread float& f) {
|
||||
float _var0;
|
||||
out_float(_uniforms, _var0);
|
||||
out_float_vf(_uniforms, _var0);
|
||||
f = _var0;
|
||||
}
|
||||
void out_float2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper20_out_float2(Uniforms _uniforms, thread float2& f2) {
|
||||
void out_float2_vf2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper20_out_float2_vf2(Uniforms _uniforms, thread float2& f2) {
|
||||
float2 _var0;
|
||||
out_float2(_uniforms, _var0);
|
||||
out_float2_vf2(_uniforms, _var0);
|
||||
f2 = _var0;
|
||||
}
|
||||
void out_float3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper21_out_float3(Uniforms _uniforms, thread float3& f3) {
|
||||
void out_float3_vf3(Uniforms _uniforms, thread float3& v);
|
||||
void _skOutParamHelper21_out_float3_vf3(Uniforms _uniforms, thread float3& f3) {
|
||||
float3 _var0;
|
||||
out_float3(_uniforms, _var0);
|
||||
out_float3_vf3(_uniforms, _var0);
|
||||
f3 = _var0;
|
||||
}
|
||||
void out_float4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper22_out_float4(Uniforms _uniforms, thread float4& f4) {
|
||||
void out_float4_vf4(Uniforms _uniforms, thread float4& v);
|
||||
void _skOutParamHelper22_out_float4_vf4(Uniforms _uniforms, thread float4& f4) {
|
||||
float4 _var0;
|
||||
out_float4(_uniforms, _var0);
|
||||
out_float4_vf4(_uniforms, _var0);
|
||||
f4 = _var0;
|
||||
}
|
||||
void out_float2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper23_out_float2(Uniforms _uniforms, thread float3& f3) {
|
||||
void out_float2_vf2(Uniforms _uniforms, thread float2& v);
|
||||
void _skOutParamHelper23_out_float2_vf2(Uniforms _uniforms, thread float3& f3) {
|
||||
float2 _var0;
|
||||
out_float2(_uniforms, _var0);
|
||||
out_float2_vf2(_uniforms, _var0);
|
||||
f3.xy = _var0;
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper24_out_float(Uniforms _uniforms, thread float2& f2) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper24_out_float_vf(Uniforms _uniforms, thread float2& f2) {
|
||||
float _var0;
|
||||
out_float(_uniforms, _var0);
|
||||
out_float_vf(_uniforms, _var0);
|
||||
f2.x = _var0;
|
||||
}
|
||||
void out_float2x2(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper25_out_float2x2(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
void out_float2x2_vf22(Uniforms _uniforms, thread float2x2& v);
|
||||
void _skOutParamHelper25_out_float2x2_vf22(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
float2x2 _var0;
|
||||
out_float2x2(_uniforms, _var0);
|
||||
out_float2x2_vf22(_uniforms, _var0);
|
||||
f2x2 = _var0;
|
||||
}
|
||||
void out_float3x3(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper26_out_float3x3(Uniforms _uniforms, thread float3x3& f3x3) {
|
||||
void out_float3x3_vf33(Uniforms _uniforms, thread float3x3& v);
|
||||
void _skOutParamHelper26_out_float3x3_vf33(Uniforms _uniforms, thread float3x3& f3x3) {
|
||||
float3x3 _var0;
|
||||
out_float3x3(_uniforms, _var0);
|
||||
out_float3x3_vf33(_uniforms, _var0);
|
||||
f3x3 = _var0;
|
||||
}
|
||||
void out_float4x4(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper27_out_float4x4(Uniforms _uniforms, thread float4x4& f4x4) {
|
||||
void out_float4x4_vf44(Uniforms _uniforms, thread float4x4& v);
|
||||
void _skOutParamHelper27_out_float4x4_vf44(Uniforms _uniforms, thread float4x4& f4x4) {
|
||||
float4x4 _var0;
|
||||
out_float4x4(_uniforms, _var0);
|
||||
out_float4x4_vf44(_uniforms, _var0);
|
||||
f4x4 = _var0;
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper28_out_float(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v);
|
||||
void _skOutParamHelper28_out_float_vf(Uniforms _uniforms, thread float2x2& f2x2) {
|
||||
float _var0;
|
||||
out_float(_uniforms, _var0);
|
||||
out_float_vf(_uniforms, _var0);
|
||||
f2x2[0].x = _var0;
|
||||
}
|
||||
void out_bool(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper29_out_bool(Uniforms _uniforms, thread bool& b) {
|
||||
void out_bool_vb(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper29_out_bool_vb(Uniforms _uniforms, thread bool& b) {
|
||||
bool _var0;
|
||||
out_bool(_uniforms, _var0);
|
||||
out_bool_vb(_uniforms, _var0);
|
||||
b = _var0;
|
||||
}
|
||||
void out_bool2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper30_out_bool2(Uniforms _uniforms, thread bool2& b2) {
|
||||
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper30_out_bool2_vb2(Uniforms _uniforms, thread bool2& b2) {
|
||||
bool2 _var0;
|
||||
out_bool2(_uniforms, _var0);
|
||||
out_bool2_vb2(_uniforms, _var0);
|
||||
b2 = _var0;
|
||||
}
|
||||
void out_bool3(Uniforms _uniforms, thread bool3& v);
|
||||
void _skOutParamHelper31_out_bool3(Uniforms _uniforms, thread bool3& b3) {
|
||||
void out_bool3_vb3(Uniforms _uniforms, thread bool3& v);
|
||||
void _skOutParamHelper31_out_bool3_vb3(Uniforms _uniforms, thread bool3& b3) {
|
||||
bool3 _var0;
|
||||
out_bool3(_uniforms, _var0);
|
||||
out_bool3_vb3(_uniforms, _var0);
|
||||
b3 = _var0;
|
||||
}
|
||||
void out_bool4(Uniforms _uniforms, thread bool4& v);
|
||||
void _skOutParamHelper32_out_bool4(Uniforms _uniforms, thread bool4& b4) {
|
||||
void out_bool4_vb4(Uniforms _uniforms, thread bool4& v);
|
||||
void _skOutParamHelper32_out_bool4_vb4(Uniforms _uniforms, thread bool4& b4) {
|
||||
bool4 _var0;
|
||||
out_bool4(_uniforms, _var0);
|
||||
out_bool4_vb4(_uniforms, _var0);
|
||||
b4 = _var0;
|
||||
}
|
||||
void out_bool2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper33_out_bool2(Uniforms _uniforms, thread bool4& b4) {
|
||||
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v);
|
||||
void _skOutParamHelper33_out_bool2_vb2(Uniforms _uniforms, thread bool4& b4) {
|
||||
bool2 _var0;
|
||||
out_bool2(_uniforms, _var0);
|
||||
out_bool2_vb2(_uniforms, _var0);
|
||||
b4.xw = _var0;
|
||||
}
|
||||
void out_bool(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper34_out_bool(Uniforms _uniforms, thread bool3& b3) {
|
||||
void out_bool_vb(Uniforms _uniforms, thread bool& v);
|
||||
void _skOutParamHelper34_out_bool_vb(Uniforms _uniforms, thread bool3& b3) {
|
||||
bool _var0;
|
||||
out_bool(_uniforms, _var0);
|
||||
out_bool_vb(_uniforms, _var0);
|
||||
b3.z = _var0;
|
||||
}
|
||||
|
||||
void out_half(Uniforms _uniforms, thread float& v) {
|
||||
void out_half_vh(Uniforms _uniforms, thread float& v) {
|
||||
v = _uniforms.colorWhite.x;
|
||||
}
|
||||
void out_half2(Uniforms _uniforms, thread float2& v) {
|
||||
void out_half2_vh2(Uniforms _uniforms, thread float2& v) {
|
||||
v = float2(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_half3(Uniforms _uniforms, thread float3& v) {
|
||||
void out_half3_vh3(Uniforms _uniforms, thread float3& v) {
|
||||
v = float3(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_half4(Uniforms _uniforms, thread float4& v) {
|
||||
void out_half4_vh4(Uniforms _uniforms, thread float4& v) {
|
||||
v = float4(_uniforms.colorWhite.w);
|
||||
}
|
||||
void out_half2x2(Uniforms _uniforms, thread float2x2& v) {
|
||||
void out_half2x2_vh22(Uniforms _uniforms, thread float2x2& v) {
|
||||
v = float2x2(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_half3x3(Uniforms _uniforms, thread float3x3& v) {
|
||||
void out_half3x3_vh33(Uniforms _uniforms, thread float3x3& v) {
|
||||
v = float3x3(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_half4x4(Uniforms _uniforms, thread float4x4& v) {
|
||||
void out_half4x4_vh44(Uniforms _uniforms, thread float4x4& v) {
|
||||
v = float4x4(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_int(Uniforms _uniforms, thread int& v) {
|
||||
void out_int_vi(Uniforms _uniforms, thread int& v) {
|
||||
v = int(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_int2(Uniforms _uniforms, thread int2& v) {
|
||||
void out_int2_vi2(Uniforms _uniforms, thread int2& v) {
|
||||
v = int2(int(_uniforms.colorWhite.y));
|
||||
}
|
||||
void out_int3(Uniforms _uniforms, thread int3& v) {
|
||||
void out_int3_vi3(Uniforms _uniforms, thread int3& v) {
|
||||
v = int3(int(_uniforms.colorWhite.z));
|
||||
}
|
||||
void out_int4(Uniforms _uniforms, thread int4& v) {
|
||||
void out_int4_vi4(Uniforms _uniforms, thread int4& v) {
|
||||
v = int4(int(_uniforms.colorWhite.w));
|
||||
}
|
||||
void out_float(Uniforms _uniforms, thread float& v) {
|
||||
void out_float_vf(Uniforms _uniforms, thread float& v) {
|
||||
v = _uniforms.colorWhite.x;
|
||||
}
|
||||
void out_float2(Uniforms _uniforms, thread float2& v) {
|
||||
void out_float2_vf2(Uniforms _uniforms, thread float2& v) {
|
||||
v = float2(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_float3(Uniforms _uniforms, thread float3& v) {
|
||||
void out_float3_vf3(Uniforms _uniforms, thread float3& v) {
|
||||
v = float3(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_float4(Uniforms _uniforms, thread float4& v) {
|
||||
void out_float4_vf4(Uniforms _uniforms, thread float4& v) {
|
||||
v = float4(_uniforms.colorWhite.w);
|
||||
}
|
||||
void out_float2x2(Uniforms _uniforms, thread float2x2& v) {
|
||||
void out_float2x2_vf22(Uniforms _uniforms, thread float2x2& v) {
|
||||
v = float2x2(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_float3x3(Uniforms _uniforms, thread float3x3& v) {
|
||||
void out_float3x3_vf33(Uniforms _uniforms, thread float3x3& v) {
|
||||
v = float3x3(_uniforms.colorWhite.y);
|
||||
}
|
||||
void out_float4x4(Uniforms _uniforms, thread float4x4& v) {
|
||||
void out_float4x4_vf44(Uniforms _uniforms, thread float4x4& v) {
|
||||
v = float4x4(_uniforms.colorWhite.z);
|
||||
}
|
||||
void out_bool(Uniforms _uniforms, thread bool& v) {
|
||||
void out_bool_vb(Uniforms _uniforms, thread bool& v) {
|
||||
v = bool(_uniforms.colorWhite.x);
|
||||
}
|
||||
void out_bool2(Uniforms _uniforms, thread bool2& v) {
|
||||
void out_bool2_vb2(Uniforms _uniforms, thread bool2& v) {
|
||||
v = bool2(bool(_uniforms.colorWhite.y));
|
||||
}
|
||||
void out_bool3(Uniforms _uniforms, thread bool3& v) {
|
||||
void out_bool3_vb3(Uniforms _uniforms, thread bool3& v) {
|
||||
v = bool3(bool(_uniforms.colorWhite.z));
|
||||
}
|
||||
void out_bool4(Uniforms _uniforms, thread bool4& v) {
|
||||
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;
|
||||
float h;
|
||||
_skOutParamHelper0_out_half(_uniforms, h);
|
||||
_skOutParamHelper0_out_half_vh(_uniforms, h);
|
||||
float2 h2;
|
||||
_skOutParamHelper1_out_half2(_uniforms, h2);
|
||||
_skOutParamHelper1_out_half2_vh2(_uniforms, h2);
|
||||
float3 h3;
|
||||
_skOutParamHelper2_out_half3(_uniforms, h3);
|
||||
_skOutParamHelper2_out_half3_vh3(_uniforms, h3);
|
||||
float4 h4;
|
||||
_skOutParamHelper3_out_half4(_uniforms, h4);
|
||||
_skOutParamHelper4_out_half(_uniforms, h3);
|
||||
_skOutParamHelper5_out_half2(_uniforms, h3);
|
||||
_skOutParamHelper6_out_half4(_uniforms, h4);
|
||||
_skOutParamHelper3_out_half4_vh4(_uniforms, h4);
|
||||
_skOutParamHelper4_out_half_vh(_uniforms, h3);
|
||||
_skOutParamHelper5_out_half2_vh2(_uniforms, h3);
|
||||
_skOutParamHelper6_out_half4_vh4(_uniforms, h4);
|
||||
float2x2 h2x2;
|
||||
_skOutParamHelper7_out_half2x2(_uniforms, h2x2);
|
||||
_skOutParamHelper7_out_half2x2_vh22(_uniforms, h2x2);
|
||||
float3x3 h3x3;
|
||||
_skOutParamHelper8_out_half3x3(_uniforms, h3x3);
|
||||
_skOutParamHelper8_out_half3x3_vh33(_uniforms, h3x3);
|
||||
float4x4 h4x4;
|
||||
_skOutParamHelper9_out_half4x4(_uniforms, h4x4);
|
||||
_skOutParamHelper10_out_half3(_uniforms, h3x3);
|
||||
_skOutParamHelper11_out_half(_uniforms, h4x4);
|
||||
_skOutParamHelper12_out_half(_uniforms, h2x2);
|
||||
_skOutParamHelper9_out_half4x4_vh44(_uniforms, h4x4);
|
||||
_skOutParamHelper10_out_half3_vh3(_uniforms, h3x3);
|
||||
_skOutParamHelper11_out_half_vh(_uniforms, h4x4);
|
||||
_skOutParamHelper12_out_half_vh(_uniforms, h2x2);
|
||||
int i;
|
||||
_skOutParamHelper13_out_int(_uniforms, i);
|
||||
_skOutParamHelper13_out_int_vi(_uniforms, i);
|
||||
int2 i2;
|
||||
_skOutParamHelper14_out_int2(_uniforms, i2);
|
||||
_skOutParamHelper14_out_int2_vi2(_uniforms, i2);
|
||||
int3 i3;
|
||||
_skOutParamHelper15_out_int3(_uniforms, i3);
|
||||
_skOutParamHelper15_out_int3_vi3(_uniforms, i3);
|
||||
int4 i4;
|
||||
_skOutParamHelper16_out_int4(_uniforms, i4);
|
||||
_skOutParamHelper17_out_int3(_uniforms, i4);
|
||||
_skOutParamHelper18_out_int(_uniforms, i2);
|
||||
_skOutParamHelper16_out_int4_vi4(_uniforms, i4);
|
||||
_skOutParamHelper17_out_int3_vi3(_uniforms, i4);
|
||||
_skOutParamHelper18_out_int_vi(_uniforms, i2);
|
||||
float f;
|
||||
_skOutParamHelper19_out_float(_uniforms, f);
|
||||
_skOutParamHelper19_out_float_vf(_uniforms, f);
|
||||
float2 f2;
|
||||
_skOutParamHelper20_out_float2(_uniforms, f2);
|
||||
_skOutParamHelper20_out_float2_vf2(_uniforms, f2);
|
||||
float3 f3;
|
||||
_skOutParamHelper21_out_float3(_uniforms, f3);
|
||||
_skOutParamHelper21_out_float3_vf3(_uniforms, f3);
|
||||
float4 f4;
|
||||
_skOutParamHelper22_out_float4(_uniforms, f4);
|
||||
_skOutParamHelper23_out_float2(_uniforms, f3);
|
||||
_skOutParamHelper24_out_float(_uniforms, f2);
|
||||
_skOutParamHelper22_out_float4_vf4(_uniforms, f4);
|
||||
_skOutParamHelper23_out_float2_vf2(_uniforms, f3);
|
||||
_skOutParamHelper24_out_float_vf(_uniforms, f2);
|
||||
float2x2 f2x2;
|
||||
_skOutParamHelper25_out_float2x2(_uniforms, f2x2);
|
||||
_skOutParamHelper25_out_float2x2_vf22(_uniforms, f2x2);
|
||||
float3x3 f3x3;
|
||||
_skOutParamHelper26_out_float3x3(_uniforms, f3x3);
|
||||
_skOutParamHelper26_out_float3x3_vf33(_uniforms, f3x3);
|
||||
float4x4 f4x4;
|
||||
_skOutParamHelper27_out_float4x4(_uniforms, f4x4);
|
||||
_skOutParamHelper28_out_float(_uniforms, f2x2);
|
||||
_skOutParamHelper27_out_float4x4_vf44(_uniforms, f4x4);
|
||||
_skOutParamHelper28_out_float_vf(_uniforms, f2x2);
|
||||
bool b;
|
||||
_skOutParamHelper29_out_bool(_uniforms, b);
|
||||
_skOutParamHelper29_out_bool_vb(_uniforms, b);
|
||||
bool2 b2;
|
||||
_skOutParamHelper30_out_bool2(_uniforms, b2);
|
||||
_skOutParamHelper30_out_bool2_vb2(_uniforms, b2);
|
||||
bool3 b3;
|
||||
_skOutParamHelper31_out_bool3(_uniforms, b3);
|
||||
_skOutParamHelper31_out_bool3_vb3(_uniforms, b3);
|
||||
bool4 b4;
|
||||
_skOutParamHelper32_out_bool4(_uniforms, b4);
|
||||
_skOutParamHelper33_out_bool2(_uniforms, b4);
|
||||
_skOutParamHelper34_out_bool(_uniforms, b3);
|
||||
_skOutParamHelper32_out_bool4_vb4(_uniforms, b4);
|
||||
_skOutParamHelper33_out_bool2_vb2(_uniforms, b4);
|
||||
_skOutParamHelper34_out_bool_vb(_uniforms, b3);
|
||||
bool ok = true;
|
||||
ok = ok && 1.0 == (((((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;
|
||||
|
@ -10,33 +10,33 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
float2 tricky(float x, float y, thread float2& color, float z);
|
||||
float2 _skOutParamHelper0_tricky(float _var0, float _var1, thread float4& color, float _var3) {
|
||||
float2 tricky_h2hhh2h(float x, float y, thread float2& color, float z);
|
||||
float2 _skOutParamHelper0_tricky_h2hhh2h(float _var0, float _var1, thread float4& color, float _var3) {
|
||||
float2 _var2 = color.xz;
|
||||
float2 _skResult = tricky(_var0, _var1, _var2, _var3);
|
||||
float2 _skResult = tricky_h2hhh2h(_var0, _var1, _var2, _var3);
|
||||
color.xz = _var2;
|
||||
return _skResult;
|
||||
}
|
||||
void func(thread float4& color);
|
||||
void _skOutParamHelper1_func(thread float4& result) {
|
||||
void func_vh4(thread float4& color);
|
||||
void _skOutParamHelper1_func_vh4(thread float4& result) {
|
||||
float4 _var0 = result;
|
||||
func(_var0);
|
||||
func_vh4(_var0);
|
||||
result = _var0;
|
||||
}
|
||||
|
||||
float2 tricky(float x, float y, thread float2& color, float z) {
|
||||
float2 tricky_h2hhh2h(float x, float y, thread float2& color, float z) {
|
||||
color = color.yx;
|
||||
return float2(x + y, z);
|
||||
}
|
||||
void func(thread float4& color) {
|
||||
float2 t = _skOutParamHelper0_tricky(1.0, 2.0, color, 5.0);
|
||||
void func_vh4(thread float4& color) {
|
||||
float2 t = _skOutParamHelper0_tricky_h2hhh2h(1.0, 2.0, color, 5.0);
|
||||
color.yw = t;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
float4 result = float4(0.0, 1.0, 2.0, 3.0);
|
||||
_skOutParamHelper1_func(result);
|
||||
_skOutParamHelper1_func_vh4(result);
|
||||
_out.sk_FragColor = all(result == float4(2.0, 3.0, 0.0, 5.0)) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -12,31 +12,31 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
bool return_on_both_sides(Uniforms _uniforms) {
|
||||
bool return_on_both_sides_b(Uniforms _uniforms) {
|
||||
if (_uniforms.unknownInput == 1.0) return true; else return true;
|
||||
}
|
||||
bool for_inside_body() {
|
||||
bool for_inside_body_b() {
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool after_for_body() {
|
||||
bool after_for_body_b() {
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool for_with_double_sided_conditional_return(Uniforms _uniforms) {
|
||||
bool for_with_double_sided_conditional_return_b(Uniforms _uniforms) {
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
if (_uniforms.unknownInput == 1.0) return true; else return true;
|
||||
}
|
||||
}
|
||||
bool if_else_chain(Uniforms _uniforms) {
|
||||
bool if_else_chain_b(Uniforms _uniforms) {
|
||||
if (_uniforms.unknownInput == 1.0) return true; else if (_uniforms.unknownInput == 2.0) return false; else if (_uniforms.unknownInput == 3.0) return true; else if (_uniforms.unknownInput == 4.0) return false; else return true;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = ((((true && return_on_both_sides(_uniforms)) && for_inside_body()) && after_for_body()) && for_with_double_sided_conditional_return(_uniforms)) && if_else_chain(_uniforms) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = ((((true && return_on_both_sides_b(_uniforms)) && for_inside_body_b()) && after_for_body_b()) && for_with_double_sided_conditional_return_b(_uniforms)) && if_else_chain_b(_uniforms) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -12,56 +12,56 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
bool return_on_both_sides(Uniforms _uniforms) {
|
||||
bool return_on_both_sides_b(Uniforms _uniforms) {
|
||||
if (_uniforms.unknownInput == 1.0) return true; else return true;
|
||||
}
|
||||
bool for_inside_body() {
|
||||
bool for_inside_body_b() {
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool after_for_body() {
|
||||
bool after_for_body_b() {
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool for_with_double_sided_conditional_return(Uniforms _uniforms) {
|
||||
bool for_with_double_sided_conditional_return_b(Uniforms _uniforms) {
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
if (_uniforms.unknownInput == 1.0) return true; else return true;
|
||||
}
|
||||
}
|
||||
bool if_else_chain(Uniforms _uniforms) {
|
||||
bool if_else_chain_b(Uniforms _uniforms) {
|
||||
if (_uniforms.unknownInput == 1.0) return true; else if (_uniforms.unknownInput == 2.0) return false; else if (_uniforms.unknownInput == 3.0) return true; else if (_uniforms.unknownInput == 4.0) return false; else return true;
|
||||
}
|
||||
bool conditional_inside_while_loop(Uniforms _uniforms) {
|
||||
bool conditional_inside_while_loop_b(Uniforms _uniforms) {
|
||||
while (_uniforms.unknownInput == 123.0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool inside_do_loop() {
|
||||
bool inside_do_loop_b() {
|
||||
do {
|
||||
return true;
|
||||
} while (true);
|
||||
}
|
||||
bool inside_while_loop() {
|
||||
bool inside_while_loop_b() {
|
||||
while (true) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool after_do_loop() {
|
||||
bool after_do_loop_b() {
|
||||
do {
|
||||
break;
|
||||
} while (true);
|
||||
return true;
|
||||
}
|
||||
bool after_while_loop() {
|
||||
bool after_while_loop_b() {
|
||||
while (true) {
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
bool switch_with_all_returns(Uniforms _uniforms) {
|
||||
bool switch_with_all_returns_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
return true;
|
||||
@ -71,13 +71,13 @@ bool switch_with_all_returns(Uniforms _uniforms) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_only_default(Uniforms _uniforms) {
|
||||
bool switch_only_default_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_fallthrough(Uniforms _uniforms) {
|
||||
bool switch_fallthrough_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
return true;
|
||||
@ -86,7 +86,7 @@ bool switch_fallthrough(Uniforms _uniforms) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_fallthrough_twice(Uniforms _uniforms) {
|
||||
bool switch_fallthrough_twice_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
case 2:
|
||||
@ -94,7 +94,7 @@ bool switch_fallthrough_twice(Uniforms _uniforms) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_with_break_in_loop(Uniforms _uniforms) {
|
||||
bool switch_with_break_in_loop_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
@ -104,7 +104,7 @@ bool switch_with_break_in_loop(Uniforms _uniforms) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_with_continue_in_loop(Uniforms _uniforms) {
|
||||
bool switch_with_continue_in_loop_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
for (int x = 0;x <= 10; ++x) {
|
||||
@ -114,7 +114,7 @@ bool switch_with_continue_in_loop(Uniforms _uniforms) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_with_if_that_returns(Uniforms _uniforms) {
|
||||
bool switch_with_if_that_returns_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
if (_uniforms.unknownInput == 123.0) return true; else return true;
|
||||
@ -122,7 +122,7 @@ bool switch_with_if_that_returns(Uniforms _uniforms) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
bool switch_with_one_sided_if_then_fallthrough(Uniforms _uniforms) {
|
||||
bool switch_with_one_sided_if_then_fallthrough_b(Uniforms _uniforms) {
|
||||
switch (int(_uniforms.unknownInput)) {
|
||||
case 1:
|
||||
if (_uniforms.unknownInput == 123.0) return true;
|
||||
@ -133,6 +133,6 @@ bool switch_with_one_sided_if_then_fallthrough(Uniforms _uniforms) {
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
_out.sk_FragColor = (((((((((((((((((true && return_on_both_sides(_uniforms)) && for_inside_body()) && after_for_body()) && for_with_double_sided_conditional_return(_uniforms)) && if_else_chain(_uniforms)) && conditional_inside_while_loop(_uniforms)) && inside_do_loop()) && inside_while_loop()) && after_do_loop()) && after_while_loop()) && switch_with_all_returns(_uniforms)) && switch_only_default(_uniforms)) && switch_fallthrough(_uniforms)) && switch_fallthrough_twice(_uniforms)) && switch_with_break_in_loop(_uniforms)) && switch_with_continue_in_loop(_uniforms)) && switch_with_if_that_returns(_uniforms)) && switch_with_one_sided_if_then_fallthrough(_uniforms) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = (((((((((((((((((true && return_on_both_sides_b(_uniforms)) && for_inside_body_b()) && after_for_body_b()) && for_with_double_sided_conditional_return_b(_uniforms)) && if_else_chain_b(_uniforms)) && conditional_inside_while_loop_b(_uniforms)) && inside_do_loop_b()) && inside_while_loop_b()) && after_do_loop_b()) && after_while_loop_b()) && switch_with_all_returns_b(_uniforms)) && switch_only_default_b(_uniforms)) && switch_fallthrough_b(_uniforms)) && switch_fallthrough_twice_b(_uniforms)) && switch_with_break_in_loop_b(_uniforms)) && switch_with_continue_in_loop_b(_uniforms)) && switch_with_if_that_returns_b(_uniforms)) && switch_with_one_sided_if_then_fallthrough_b(_uniforms) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
@ -14,32 +14,32 @@ struct Inputs {
|
||||
struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
void modifies_a_struct(thread S& s);
|
||||
void _skOutParamHelper0_modifies_a_struct(thread S& s) {
|
||||
void modifies_a_struct_vS(thread S& s);
|
||||
void _skOutParamHelper0_modifies_a_struct_vS(thread S& s) {
|
||||
S _var0 = s;
|
||||
modifies_a_struct(_var0);
|
||||
modifies_a_struct_vS(_var0);
|
||||
s = _var0;
|
||||
}
|
||||
|
||||
S returns_a_struct() {
|
||||
S returns_a_struct_S() {
|
||||
S s;
|
||||
s.x = 1.0;
|
||||
s.y = 2;
|
||||
return s;
|
||||
}
|
||||
float accepts_a_struct(S s) {
|
||||
float accepts_a_struct_fS(S s) {
|
||||
return s.x + float(s.y);
|
||||
}
|
||||
void modifies_a_struct(thread S& s) {
|
||||
void modifies_a_struct_vS(thread S& s) {
|
||||
s.x++;
|
||||
s.y++;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
Outputs _out;
|
||||
(void)_out;
|
||||
S s = returns_a_struct();
|
||||
float x = accepts_a_struct(s);
|
||||
_skOutParamHelper0_modifies_a_struct(s);
|
||||
S s = returns_a_struct_S();
|
||||
float x = accepts_a_struct_fS(s);
|
||||
_skOutParamHelper0_modifies_a_struct_vS(s);
|
||||
bool valid = (x == 3.0 && s.x == 2.0) && s.y == 3;
|
||||
_out.sk_FragColor = valid ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
|
@ -12,7 +12,7 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
float fn(float4 v) {
|
||||
float fn_hh4(float4 v) {
|
||||
for (int x = 1;x <= 2; ++x) {
|
||||
return v.x;
|
||||
}
|
||||
@ -27,12 +27,12 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
v = float4(v.zy, 1.0, 1.0);
|
||||
v = float4(v.xx, 1.0, 1.0);
|
||||
v = v.wzwz;
|
||||
v = float3(fn(v), 123.0, 456.0).yyzz;
|
||||
v = float3(fn(v), 123.0, 456.0).yyzz;
|
||||
v = float4(123.0, 456.0, 456.0, fn(v));
|
||||
v = float4(123.0, 456.0, 456.0, fn(v));
|
||||
v = float3(fn(v), 123.0, 456.0).yxxz;
|
||||
v = float3(fn(v), 123.0, 456.0).yxxz;
|
||||
v = float3(fn_hh4(v), 123.0, 456.0).yyzz;
|
||||
v = float3(fn_hh4(v), 123.0, 456.0).yyzz;
|
||||
v = float4(123.0, 456.0, 456.0, fn_hh4(v));
|
||||
v = float4(123.0, 456.0, 456.0, fn_hh4(v));
|
||||
v = float3(fn_hh4(v), 123.0, 456.0).yxxz;
|
||||
v = float3(fn_hh4(v), 123.0, 456.0).yxxz;
|
||||
v = float4(1.0, 1.0, 2.0, 3.0);
|
||||
v = float4(_uniforms.colorRed.xyz, 1.0);
|
||||
v = float4(_uniforms.colorRed.x, 1.0, _uniforms.colorRed.yz);
|
||||
|
@ -11,7 +11,7 @@ struct Outputs {
|
||||
float4 sk_FragColor [[color(0)]];
|
||||
};
|
||||
|
||||
bool check(float2 v1, float2 v2, float2 v3, float3 v4, int2 v5, int2 v6, float2 v7, float2 v8, float4 v9, int2 v10, bool4 v11, float2 v12, float2 v13, float2 v14, bool2 v15, bool2 v16, bool3 v17) {
|
||||
bool check_bf2f2f2f3i2i2f2f2f4i2b4f2f2f2b2b2b3(float2 v1, float2 v2, float2 v3, float3 v4, int2 v5, int2 v6, float2 v7, float2 v8, float4 v9, int2 v10, bool4 v11, float2 v12, float2 v13, float2 v14, bool2 v15, bool2 v16, bool3 v17) {
|
||||
return (((((((((((((((v1.x + v2.x) + v3.x) + v4.x) + float(v5.x)) + float(v6.x)) + v7.x) + v8.x) + v9.x) + float(v10.x)) + float(v11.x)) + v12.x) + v13.x) + v14.x) + float(v15.x)) + float(v16.x)) + float(v17.x) == 17.0;
|
||||
}
|
||||
fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
|
||||
@ -34,6 +34,6 @@ fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _unifo
|
||||
bool2 v15 = bool2(true);
|
||||
bool2 v16 = bool2(float2(1.0));
|
||||
bool3 v17 = bool3(true, bool2(int2(77)));
|
||||
_out.sk_FragColor = check(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
_out.sk_FragColor = check_bf2f2f2f3i2i2f2f2f4i2b4f2f2f2b2b2b3(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) ? _uniforms.colorGreen : _uniforms.colorRed;
|
||||
return _out;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user