#extension GL_ARB_shader_texture_lod : enable uniform sampler2D _MainTex; uniform vec4 _MainTex_TexelSize; varying vec2 xlv_TEXCOORD0; void main () { vec2 fxaaQualityRcpFrame_1; fxaaQualityRcpFrame_1 = _MainTex_TexelSize.xy; vec4 tmpvar_2; float subpixH_3; float pixelOffset_4; float spanLengthRcp_5; bool goodSpanP_6; bool goodSpanN_7; float dstP_8; float dstN_9; bool doneNP_10; bool doneP_11; bool doneN_12; bool lumaMLTZero_13; float subpixF_14; float gradientScaled_15; float lumaEndP_16; float subpixE_17; float lumaEndN_18; float subpixD_19; vec2 posP_20; vec2 posN_21; vec2 posB_22; bool pairN_23; float lumaSS_24; float lumaNN_25; float gradientS_26; float gradientN_27; float subpixB_28; float subpixA_29; bool horzSpan_30; float lengthSign_31; float lumaNWSW_32; float lumaNESE_33; float subpixRcpRange_34; float lumaWE_35; float lumaNS_36; float range_37; float lumaN_38; float lumaS_39; vec2 posM_40; posM_40 = xlv_TEXCOORD0; vec4 tmpvar_41; tmpvar_41 = texture2DLod (_MainTex, xlv_TEXCOORD0, 0.0); vec4 tmpvar_42; tmpvar_42.zw = vec2(0.0, 0.0); tmpvar_42.xy = (xlv_TEXCOORD0 + (vec2(0.0, 1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_43; tmpvar_43 = texture2DLod (_MainTex, tmpvar_42.xy, 0.0); lumaS_39 = tmpvar_43.w; vec4 tmpvar_44; tmpvar_44.zw = vec2(0.0, 0.0); tmpvar_44.xy = (xlv_TEXCOORD0 + (vec2(1.0, 0.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_45; tmpvar_45 = texture2DLod (_MainTex, tmpvar_44.xy, 0.0); float tmpvar_46; tmpvar_46 = tmpvar_45.w; vec4 tmpvar_47; tmpvar_47.zw = vec2(0.0, 0.0); tmpvar_47.xy = (xlv_TEXCOORD0 + (vec2(0.0, -1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_48; tmpvar_48 = texture2DLod (_MainTex, tmpvar_47.xy, 0.0); lumaN_38 = tmpvar_48.w; vec4 tmpvar_49; tmpvar_49.zw = vec2(0.0, 0.0); tmpvar_49.xy = (xlv_TEXCOORD0 + (vec2(-1.0, 0.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_50; tmpvar_50 = texture2DLod (_MainTex, tmpvar_49.xy, 0.0); float tmpvar_51; tmpvar_51 = tmpvar_50.w; float tmpvar_52; tmpvar_52 = max (max (tmpvar_48.w, tmpvar_50.w), max (max (tmpvar_45.w, tmpvar_43.w), tmpvar_41.w)); range_37 = (tmpvar_52 - min (min (tmpvar_48.w, tmpvar_50.w), min ( min (tmpvar_45.w, tmpvar_43.w) , tmpvar_41.w))); if ((range_37 < max (0.0833, (tmpvar_52 * 0.166)))) { tmpvar_2 = tmpvar_41; } else { vec4 tmpvar_53; tmpvar_53.zw = vec2(0.0, 0.0); tmpvar_53.xy = (xlv_TEXCOORD0 - _MainTex_TexelSize.xy); vec4 tmpvar_54; tmpvar_54 = texture2DLod (_MainTex, tmpvar_53.xy, 0.0); vec4 tmpvar_55; tmpvar_55.zw = vec2(0.0, 0.0); tmpvar_55.xy = (xlv_TEXCOORD0 + _MainTex_TexelSize.xy); vec4 tmpvar_56; tmpvar_56 = texture2DLod (_MainTex, tmpvar_55.xy, 0.0); vec4 tmpvar_57; tmpvar_57.zw = vec2(0.0, 0.0); tmpvar_57.xy = (xlv_TEXCOORD0 + (vec2(1.0, -1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_58; tmpvar_58 = texture2DLod (_MainTex, tmpvar_57.xy, 0.0); vec4 tmpvar_59; tmpvar_59.zw = vec2(0.0, 0.0); tmpvar_59.xy = (xlv_TEXCOORD0 + (vec2(-1.0, 1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_60; tmpvar_60 = texture2DLod (_MainTex, tmpvar_59.xy, 0.0); lumaNS_36 = (tmpvar_48.w + tmpvar_43.w); lumaWE_35 = (tmpvar_50.w + tmpvar_45.w); subpixRcpRange_34 = (1.0/(range_37)); lumaNESE_33 = (tmpvar_58.w + tmpvar_56.w); lumaNWSW_32 = (tmpvar_54.w + tmpvar_60.w); lengthSign_31 = fxaaQualityRcpFrame_1.x; horzSpan_30 = ((abs( ((-2.0 * tmpvar_50.w) + lumaNWSW_32) ) + ( (abs(((-2.0 * tmpvar_41.w) + lumaNS_36)) * 2.0) + abs(((-2.0 * tmpvar_45.w) + lumaNESE_33)) )) >= (abs( ((-2.0 * tmpvar_43.w) + (tmpvar_60.w + tmpvar_56.w)) ) + ( (abs(((-2.0 * tmpvar_41.w) + lumaWE_35)) * 2.0) + abs(((-2.0 * tmpvar_48.w) + (tmpvar_54.w + tmpvar_58.w))) ))); subpixA_29 = (((lumaNS_36 + lumaWE_35) * 2.0) + (lumaNWSW_32 + lumaNESE_33)); if (!(horzSpan_30)) { lumaN_38 = tmpvar_51; }; if (!(horzSpan_30)) { lumaS_39 = tmpvar_46; }; if (horzSpan_30) { lengthSign_31 = fxaaQualityRcpFrame_1.y; }; subpixB_28 = ((subpixA_29 * 0.0833333) - tmpvar_41.w); gradientN_27 = (lumaN_38 - tmpvar_41.w); gradientS_26 = (lumaS_39 - tmpvar_41.w); lumaNN_25 = (lumaN_38 + tmpvar_41.w); lumaSS_24 = (lumaS_39 + tmpvar_41.w); pairN_23 = (abs(gradientN_27) >= abs(gradientS_26)); float tmpvar_61; tmpvar_61 = max (abs(gradientN_27), abs(gradientS_26)); if (pairN_23) { lengthSign_31 = -(lengthSign_31); }; float tmpvar_62; tmpvar_62 = clamp ((abs(subpixB_28) * subpixRcpRange_34), 0.0, 1.0); posB_22 = posM_40; float tmpvar_63; if (!(horzSpan_30)) { tmpvar_63 = 0.0; } else { tmpvar_63 = fxaaQualityRcpFrame_1.x; }; float tmpvar_64; if (horzSpan_30) { tmpvar_64 = 0.0; } else { tmpvar_64 = fxaaQualityRcpFrame_1.y; }; if (!(horzSpan_30)) { posB_22.x = (xlv_TEXCOORD0.x + (lengthSign_31 * 0.5)); }; if (horzSpan_30) { posB_22.y = (xlv_TEXCOORD0.y + (lengthSign_31 * 0.5)); }; posN_21.x = (posB_22.x - tmpvar_63); posN_21.y = (posB_22.y - tmpvar_64); posP_20.x = (posB_22.x + tmpvar_63); posP_20.y = (posB_22.y + tmpvar_64); subpixD_19 = ((-2.0 * tmpvar_62) + 3.0); vec4 tmpvar_65; tmpvar_65 = texture2DLod (_MainTex, posN_21, 0.0); lumaEndN_18 = tmpvar_65.w; subpixE_17 = (tmpvar_62 * tmpvar_62); vec4 tmpvar_66; tmpvar_66 = texture2DLod (_MainTex, posP_20, 0.0); lumaEndP_16 = tmpvar_66.w; if (!(pairN_23)) { lumaNN_25 = lumaSS_24; }; gradientScaled_15 = (tmpvar_61 / 4.0); subpixF_14 = (subpixD_19 * subpixE_17); lumaMLTZero_13 = ((tmpvar_41.w - (lumaNN_25 * 0.5)) < 0.0); lumaEndN_18 = (tmpvar_65.w - (lumaNN_25 * 0.5)); lumaEndP_16 = (tmpvar_66.w - (lumaNN_25 * 0.5)); doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - tmpvar_63); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - tmpvar_64); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + tmpvar_63); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + tmpvar_64); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - tmpvar_63); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - tmpvar_64); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + tmpvar_63); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + tmpvar_64); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - tmpvar_63); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - tmpvar_64); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + tmpvar_63); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + tmpvar_64); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - tmpvar_63); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - tmpvar_64); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + tmpvar_63); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + tmpvar_64); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 1.5)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 1.5)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 1.5)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 1.5)); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 2.0)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 2.0)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 2.0)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 2.0)); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 2.0)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 2.0)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 2.0)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 2.0)); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 2.0)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 2.0)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 2.0)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 2.0)); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 2.0)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 2.0)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 2.0)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 2.0)); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 4.0)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 4.0)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 4.0)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 4.0)); }; if (doneNP_10) { if (!(doneN_12)) { lumaEndN_18 = texture2DLod (_MainTex, posN_21, 0.0).w; }; if (!(doneP_11)) { lumaEndP_16 = texture2DLod (_MainTex, posP_20, 0.0).w; }; if (!(doneN_12)) { lumaEndN_18 = (lumaEndN_18 - (lumaNN_25 * 0.5)); }; if (!(doneP_11)) { lumaEndP_16 = (lumaEndP_16 - (lumaNN_25 * 0.5)); }; doneN_12 = (abs(lumaEndN_18) >= gradientScaled_15); doneP_11 = (abs(lumaEndP_16) >= gradientScaled_15); if (!(doneN_12)) { posN_21.x = (posN_21.x - (tmpvar_63 * 8.0)); }; if (!(doneN_12)) { posN_21.y = (posN_21.y - (tmpvar_64 * 8.0)); }; doneNP_10 = !((doneN_12 && doneP_11)); if (!(doneP_11)) { posP_20.x = (posP_20.x + (tmpvar_63 * 8.0)); }; if (!(doneP_11)) { posP_20.y = (posP_20.y + (tmpvar_64 * 8.0)); }; }; }; }; }; }; }; }; }; }; }; dstN_9 = (xlv_TEXCOORD0.x - posN_21.x); dstP_8 = (posP_20.x - xlv_TEXCOORD0.x); if (!(horzSpan_30)) { dstN_9 = (xlv_TEXCOORD0.y - posN_21.y); }; if (!(horzSpan_30)) { dstP_8 = (posP_20.y - xlv_TEXCOORD0.y); }; goodSpanN_7 = ((lumaEndN_18 < 0.0) != lumaMLTZero_13); goodSpanP_6 = ((lumaEndP_16 < 0.0) != lumaMLTZero_13); spanLengthRcp_5 = (1.0/((dstP_8 + dstN_9))); float tmpvar_67; tmpvar_67 = min (dstN_9, dstP_8); bool tmpvar_68; if ((dstN_9 < dstP_8)) { tmpvar_68 = goodSpanN_7; } else { tmpvar_68 = goodSpanP_6; }; pixelOffset_4 = ((tmpvar_67 * -(spanLengthRcp_5)) + 0.5); subpixH_3 = ((subpixF_14 * subpixF_14) * 0.75); float tmpvar_69; if (tmpvar_68) { tmpvar_69 = pixelOffset_4; } else { tmpvar_69 = 0.0; }; float tmpvar_70; tmpvar_70 = max (tmpvar_69, subpixH_3); if (!(horzSpan_30)) { posM_40.x = (xlv_TEXCOORD0.x + (tmpvar_70 * lengthSign_31)); }; if (horzSpan_30) { posM_40.y = (xlv_TEXCOORD0.y + (tmpvar_70 * lengthSign_31)); }; vec4 tmpvar_71; tmpvar_71.xyz = texture2DLod (_MainTex, posM_40, 0.0).xyz; tmpvar_71.w = tmpvar_41.w; tmpvar_2 = tmpvar_71; }; gl_FragData[0] = tmpvar_2; } // stats: 401 alu 32 tex 110 flow // inputs: 1 // #0: xlv_TEXCOORD0 (high float) 2x1 [-1] // uniforms: 1 (total size: 0) // #0: _MainTex_TexelSize (high float) 4x1 [-1] // textures: 1 // #0: _MainTex (high 2d) 0x0 [-1]