blob: 471af09a218986221f2b16a6e34855150482ad43 [file] [edit]
cbuffer _UniformBuffer : register(b0, space0)
{
float4 _13_src : packoffset(c0);
float4 _13_dst : packoffset(c1);
};
static float4 sk_FragColor;
struct SPIRV_Cross_Output
{
float4 sk_FragColor : SV_Target0;
};
float blend_overlay_component_Qhh2h2(float2 _19, float2 _20)
{
float _30 = 0.0f;
if ((2.0f * _20.x) <= _20.y)
{
_30 = (2.0f * _19.x) * _20.x;
}
else
{
_30 = (_19.y * _20.y) - ((2.0f * (_20.y - _20.x)) * (_19.y - _19.x));
}
return _30;
}
float4 blend_overlay_h4h4h4(float4 _62, float4 _63)
{
float2 _68 = _62.xw;
float2 _71 = _63.xw;
float2 _75 = _62.yw;
float2 _78 = _63.yw;
float2 _82 = _62.zw;
float2 _85 = _63.zw;
float4 result = float4(blend_overlay_component_Qhh2h2(_68, _71), blend_overlay_component_Qhh2h2(_75, _78), blend_overlay_component_Qhh2h2(_82, _85), _62.w + ((1.0f - _62.w) * _63.w));
float4 _98 = result;
float3 _114 = _98.xyz + ((_63.xyz * (1.0f - _62.w)) + (_62.xyz * (1.0f - _63.w)));
float4 _115 = result;
float4 _116 = float4(_114.x, _114.y, _114.z, _115.w);
result = _116;
return _116;
}
void frag_main()
{
float4 _124 = _13_dst;
float4 _128 = _13_src;
sk_FragColor = blend_overlay_h4h4h4(_124, _128);
}
SPIRV_Cross_Output main()
{
frag_main();
SPIRV_Cross_Output stage_output;
stage_output.sk_FragColor = sk_FragColor;
return stage_output;
}