GLSL 1.2 storage qualifiers

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”?

There’s no explicit “flat” in GLSL1.2, but you can make the gl_Color fragment-shader varying input (gotten from gl_FrontColor VS output) be flat by enabling flat-shading, afaik.