MSAA renderbuffer to texture (for postprocessing)

Thanks john_connor and GCIlements, I was not aware of this, actually it seems I was reading out of date information.
However I am still getting a non perfect result, just trying fbo + multisampled texture -> fullscreen quad to backbuffer.

I tried something like this for now:


uniform lowp sampler2DMS Tunit0;

mediump vec4 textureMultisample(in lowp sampler2DMS sampler, in mediump vec2 texc)
{
    mediump ivec2 ipos = ivec2(floor(vec2(textureSize(sampler)) * texc));
    mediump vec4 color = vec4(0.0);
    
    for(int i = 0; i < 4; ++i)
    {
        color += texelFetch(sampler, ipos, i);
    }
    
    color /= 4.0;
    
    return color;
}

void main()
{
    
    Output = textureMultisample(Tunit0, OutTex.st);
    //Output.r = 1.0;
}

Is this ok? or something else I am missing? because result looks as if there is no multisampling, but with the blit from same fbo to backbuffer it appears fine.