In GLSL 3.30, I used “smooth” for perspective-correct interpolation of output from the vertex shader. I used “flat” for flat shading (and used glProvokingVertex to determine which vertex’s output was used for any given primitive).
In GLSL 1.2, “varying” seems to mean to same thing as “smooth”, but what do I use for “flat”?