On my personal experience in adaptation glsl shaders to AMD.
I wrote “adaptation”, because this process can not be called in another manner, after setting up under the NVidia card.
1) AMD does not like ARB_draw_buffers require flag in the shader. And if you do not specify any flag at all, shader compiles without any problems. But NVidia gives me a warning that I should include this flag to work with MRT.
When the Cg shaders, there is another story, you need a ATI_draw_buffers flag.
2) AMD swears the presence sampler2DRect and sampler2D in one shader. Also from the category of “not paying attention” on such a warning.
GLSL shaders tips: NVidia and AMD difference.