GL_MULTISAMPLE and square/round points
I learned somewhat recently about this behavior described in the GL_ARB_multisample spec:
"If MULTISAMPLE_ARB is enabled, and SAMPLE_BUFFERS_ARB is a value of one, then points are rasterized using the following algorithm, regardless of whether point antialiasing (POINT_SMOOTH) is enabled or disabled. Point rasterization produces a fragment for each framebuffer pixel with one or more sample points that intersect the region lying within the circle having diameter equal to the current point width and centered at the point's (Xw,Yw)"
I'm working in an older fixed-function codebase and this is causing points that are intended to be square to appear circular if GL_MULTISAMPLE is enabled (when rendering to an MSAA back buffer). I've always thought of GL_MULTISAMPLE as something you leave on when using MSAA for a final anti-aliased image, and that's it. Is this something that I should be able to toggle on and off for different pieces of geometry, so I can just get square points in an otherwise FSAAed image? My tests so far indicate that this doesn't really work. If I draw two points with GL_MULTISAMPLE off, then some other geometry with it on, one of the points appears square and the other round, if I just draw one point it always seems to be round.
We have a path to fall back to textured quads if selectively enabling GL_MULTISAMPLE is not something that is supposed to work, but I wanted to see if anyone knew what the spec says about this first.