On OS X they all work as they should, but on iPhone all of them giving me the same artefacts (images show SSAO pass only). The lines move when I move the camera. So it must be because of some differences of OpenGL ES. Anyone knows what's wrong?
Resolved by adding
precision highp sampler2D to my shaders.
About default precision settings on ES - https://www.khronos.org/files/opengles_shading_language.pdf page 36.