Alpha mask (1D texture would be enough) is one of possible solutions, but in this particular case it isn't necessary
uniform sampler2D tex0;
uniform sampler2D tex1;
uniform float t; // e.g. 0.4
in vec2 texcoord;
out vec4 outColor;
void main(void)
{
vec4 t0 = texture2D(tex0, texcoord);
vec4 t1 = texture2D(tex1, texcoord);
outColor = mix(t0, t1, step(t, texcoord.x));
}
By the way, it isn't called 'blending'. Rather 'threshold' or 'step'.