This will make all varyings behave as if they were declared “noperspective”.
Also note that after viewport transformation the vertex coordinates are usually converted to fixed-point numbers with quite low sub-pixel precision (4 bits seems to be common), so in the end you’ll have only ~16 bits of precision in the rasterizer anyway (if you assume 12 bits for the pixel coordinate). The precision of float is good enough to handle that.