This is not legal according to the OpenGL Shading Language specification, due to the inability to automatically convert from integers (numbers without decimals) to floats (numbers with decimals). Use 0.0 instead.
Nvidia allows a shader program with a fragment shader and no vertex shader, ATI doesn't. They supposedly fixed this in recent drivers, I haven't tried it though.
glCopyTexSubImage2D very slow on ATI when texture resolution isn't power of two
I guess that's why for example Virtools requires you to render a 320x180 viewport to a 512x256 FBO ( only using the 320x180 center rectangle of course ).