I am trying to implement a blur filter with opengl es 2.0 on android.
Here is the code i am using.
Code :
varying highp vec2 fragTexCoord;
highp vec2 u_Scale;
uniform sampler2D s_texture;
highp vec2 gaussFilter[7];
uniform highp float radius;
 
highp vec4 boxVerBlur(){
	gaussFilter[0] = vec2( -3.0,0.015625);
	gaussFilter[1] = vec2(-2.0,	0.09375);
	gaussFilter[2] = vec2(-1.0,	0.234375);
	gaussFilter[3] = vec2(0.0,	0.3125);
	gaussFilter[4] = vec2(1.0,	0.234375);
	gaussFilter[5] = vec2(2.0,	0.09375);
	gaussFilter[6] = vec2(3.0,	0.015625);
 
    highp	vec4  color = vec4(0,0,0,1);
    u_Scale = vec2( 1.0/radius, 0 );
    for( int i = 0; i < 7; i++ )
    {
    	color += texture2D( s_texture, vec2( fragTexCoord.x + gaussFilter[i].x*u_Scale.x, fragTexCoord.y + gaussFilter[i].x*u_Scale.y )) * gaussFilter[i].y;
    }
    return color;
}
 
void main(void)
{
	gl_FragColor = boxVerBlur();
}

On "Samsung Galaxy S" it works as expected. However when i run same app on "Samsung Galaxy Ace," it results a brighter texture without blur effect.

Result from Galaxy S




Result from Galaxy Ace