1cbuffer _UniformBuffer : register(b0, space0) 2{ 3 float4 _15_src : packoffset(c0); 4 float4 _15_dst : packoffset(c1); 5}; 6 7 8static float4 sk_FragColor; 9 10struct SPIRV_Cross_Output 11{ 12 float4 sk_FragColor : SV_Target0; 13}; 14 15static float _kGuardedDivideEpsilon = 0.0f; 16 17float color_dodge_component_Qhh2h2(float2 _21, float2 _22) 18{ 19 if (_22.x == 0.0f) 20 { 21 return _21.x * (1.0f - _22.y); 22 } 23 else 24 { 25 float _43 = _21.y - _21.x; 26 float delta = _43; 27 if (_43 == 0.0f) 28 { 29 return ((_21.y * _22.y) + (_21.x * (1.0f - _22.y))) + (_22.x * (1.0f - _21.y)); 30 } 31 else 32 { 33 float _67 = min(_22.y, (_22.x * _21.y) / (_43 + _kGuardedDivideEpsilon)); 34 delta = _67; 35 return ((_67 * _21.y) + (_21.x * (1.0f - _22.y))) + (_22.x * (1.0f - _21.y)); 36 } 37 } 38} 39 40void frag_main() 41{ 42 _kGuardedDivideEpsilon = false ? 9.9999999392252902907785028219223e-09f : 0.0f; 43 float2 _104 = _15_src.xw; 44 float2 _109 = _15_dst.xw; 45 float2 _114 = _15_src.yw; 46 float2 _118 = _15_dst.yw; 47 float2 _123 = _15_src.zw; 48 float2 _127 = _15_dst.zw; 49 sk_FragColor = float4(color_dodge_component_Qhh2h2(_104, _109), color_dodge_component_Qhh2h2(_114, _118), color_dodge_component_Qhh2h2(_123, _127), _15_src.w + ((1.0f - _15_src.w) * _15_dst.w)); 50} 51 52SPIRV_Cross_Output main() 53{ 54 frag_main(); 55 SPIRV_Cross_Output stage_output; 56 stage_output.sk_FragColor = sk_FragColor; 57 return stage_output; 58} 59