1cbuffer _UniformBuffer : register(b0, space0) 2{ 3 float4 _16_src : packoffset(c0); 4 float4 _16_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 guarded_divide_Qhhh(float _21, float _22) 18{ 19 return _21 / (_22 + _kGuardedDivideEpsilon); 20} 21 22float color_dodge_component_Qhh2h2(float2 _32, float2 _33) 23{ 24 float _43 = float((_33.x == 0.0f) ? 0 : 1); 25 float dxScale = _43; 26 float _56 = 0.0f; 27 if (abs(_32.y - _32.x) >= 6.103515625e-05f) 28 { 29 float _65 = _33.x * _32.y; 30 float _71 = _32.y - _32.x; 31 _56 = guarded_divide_Qhhh(_65, _71); 32 } 33 else 34 { 35 _56 = _33.y; 36 } 37 float _76 = _43 * min(_33.y, _56); 38 float delta = _76; 39 return ((_76 * _32.y) + (_32.x * (1.0f - _33.y))) + (_33.x * (1.0f - _32.y)); 40} 41 42void frag_main() 43{ 44 _kGuardedDivideEpsilon = false ? 9.9999999392252902907785028219223e-09f : 0.0f; 45 float2 _102 = _16_src.xw; 46 float2 _106 = _16_dst.xw; 47 float2 _111 = _16_src.yw; 48 float2 _115 = _16_dst.yw; 49 float2 _120 = _16_src.zw; 50 float2 _124 = _16_dst.zw; 51 sk_FragColor = float4(color_dodge_component_Qhh2h2(_102, _106), color_dodge_component_Qhh2h2(_111, _115), color_dodge_component_Qhh2h2(_120, _124), _16_src.w + ((1.0f - _16_src.w) * _16_dst.w)); 52} 53 54SPIRV_Cross_Output main() 55{ 56 frag_main(); 57 SPIRV_Cross_Output stage_output; 58 stage_output.sk_FragColor = sk_FragColor; 59 return stage_output; 60} 61