#extension GL_EXT_shader_texture_lod : enable lowp vec4 impl_low_texture2DLodEXT(lowp sampler2D sampler, highp vec2 coord, mediump float lod) { #if defined(GL_EXT_shader_texture_lod) return texture2DLodEXT(sampler, coord, lod); #else return texture2D(sampler, coord, lod); #endif } uniform sampler2D _MainTex; uniform highp vec4 _MainTex_TexelSize; varying highp vec2 xlv_TEXCOORD0; varying highp vec4 xlv_TEXCOORD1; void main () { highp vec4 fxaaConsoleRcpFrameOpt_1; fxaaConsoleRcpFrameOpt_1 = (_MainTex_TexelSize.xyxy * vec4(-0.5, -0.5, 0.5, 0.5)); highp vec4 fxaaConsoleRcpFrameOpt2_2; fxaaConsoleRcpFrameOpt2_2 = (_MainTex_TexelSize.xyxy * vec4(-2.0, -2.0, 2.0, 2.0)); lowp vec4 tmpvar_3; lowp vec4 rgbyB_4; lowp vec4 rgbyA_5; highp vec2 dir_6; highp float dirSeMinusNw_7; highp float lumaMaxSubMinM_8; highp float dirSwMinusNe_9; highp float lumaM_10; highp float lumaNe_11; lowp vec4 tmpvar_12; tmpvar_12 = impl_low_texture2DLodEXT (_MainTex, xlv_TEXCOORD1.xy, 0.0); highp float tmpvar_13; tmpvar_13 = tmpvar_12.y; lowp vec4 tmpvar_14; tmpvar_14 = impl_low_texture2DLodEXT (_MainTex, xlv_TEXCOORD1.xw, 0.0); highp float tmpvar_15; tmpvar_15 = tmpvar_14.y; lowp vec4 tmpvar_16; tmpvar_16 = impl_low_texture2DLodEXT (_MainTex, xlv_TEXCOORD1.zy, 0.0); highp float tmpvar_17; tmpvar_17 = tmpvar_16.y; lowp vec4 tmpvar_18; tmpvar_18 = impl_low_texture2DLodEXT (_MainTex, xlv_TEXCOORD1.zw, 0.0); highp float tmpvar_19; tmpvar_19 = tmpvar_18.y; lowp vec4 tmpvar_20; tmpvar_20 = impl_low_texture2DLodEXT (_MainTex, xlv_TEXCOORD0, 0.0); lumaM_10 = tmpvar_20.y; lumaNe_11 = (tmpvar_17 + 0.00260417); highp float tmpvar_21; tmpvar_21 = max (max (lumaNe_11, tmpvar_19), max (tmpvar_13, tmpvar_15)); highp float tmpvar_22; tmpvar_22 = min (min (lumaNe_11, tmpvar_19), min (tmpvar_13, tmpvar_15)); highp float tmpvar_23; tmpvar_23 = max (0.05, (tmpvar_21 * 0.125)); dirSwMinusNe_9 = (tmpvar_15 - lumaNe_11); lumaMaxSubMinM_8 = (max (tmpvar_21, lumaM_10) - min (tmpvar_22, lumaM_10)); dirSeMinusNw_7 = (tmpvar_19 - tmpvar_13); if ((lumaMaxSubMinM_8 < tmpvar_23)) { tmpvar_3 = tmpvar_20; } else { dir_6.x = (dirSwMinusNe_9 + dirSeMinusNw_7); dir_6.y = (dirSwMinusNe_9 - dirSeMinusNw_7); highp vec2 tmpvar_24; tmpvar_24 = normalize(dir_6); highp vec4 tmpvar_25; tmpvar_25.zw = vec2(0.0, 0.0); tmpvar_25.xy = (xlv_TEXCOORD0 - (tmpvar_24 * fxaaConsoleRcpFrameOpt_1.zw)); highp vec4 tmpvar_26; tmpvar_26.zw = vec2(0.0, 0.0); tmpvar_26.xy = (xlv_TEXCOORD0 + (tmpvar_24 * fxaaConsoleRcpFrameOpt_1.zw)); highp vec2 tmpvar_27; tmpvar_27 = clamp ((tmpvar_24 / ( min (abs(tmpvar_24.x), abs(tmpvar_24.y)) * 8.0)), vec2(-2.0, -2.0), vec2(2.0, 2.0)); highp vec4 tmpvar_28; tmpvar_28.zw = vec2(0.0, 0.0); tmpvar_28.xy = (xlv_TEXCOORD0 - (tmpvar_27 * fxaaConsoleRcpFrameOpt2_2.zw)); highp vec4 tmpvar_29; tmpvar_29.zw = vec2(0.0, 0.0); tmpvar_29.xy = (xlv_TEXCOORD0 + (tmpvar_27 * fxaaConsoleRcpFrameOpt2_2.zw)); rgbyA_5 = (impl_low_texture2DLodEXT (_MainTex, tmpvar_25.xy, 0.0) + impl_low_texture2DLodEXT (_MainTex, tmpvar_26.xy, 0.0)); rgbyB_4 = (((impl_low_texture2DLodEXT (_MainTex, tmpvar_28.xy, 0.0) + impl_low_texture2DLodEXT (_MainTex, tmpvar_29.xy, 0.0)) * 0.25) + (rgbyA_5 * 0.25)); if (((rgbyB_4.y < tmpvar_22) || (rgbyB_4.y > tmpvar_21))) { rgbyB_4.xyz = (rgbyA_5.xyz * 0.5); }; tmpvar_3 = rgbyB_4; }; gl_FragData[0] = tmpvar_3; } // stats: 47 alu 9 tex 2 flow // inputs: 2 // #0: xlv_TEXCOORD0 (high float) 2x1 [-1] // #1: xlv_TEXCOORD1 (high float) 4x1 [-1] // uniforms: 1 (total size: 0) // #0: _MainTex_TexelSize (high float) 4x1 [-1] // textures: 1 // #0: _MainTex (low 2d) 0x0 [-1]