Reading the spec it says
Output variables can be defined with interpolation qualifiers. The Fragment Shader equivalent interface variables should define the same variables with the same qualifiers.
On my ATI card it just seems to ignore the interpolation qualifier completely and the output is broken -> https://i.imgur.com/P8TwxFC.jpg Should look like -> https://i.imgur.com/ld9w7RD.jpg There's no warnings or compile errors, it just ignores noperspective and does 1/z interpolation as normal.
This is my shader input/outputs -> https://i.imgur.com/WXqIoYD.png
I am trying to do custom attribute interpolation.