Are you guys able to enable and disable this feature.
I am succeeding in getting pixelformats that support multisample (2x, 4x, 6x) but when I call glDisable(GL_MULTISAMPLE_ARB), it does not disable. I used glIsEnable to check the state and it returns FALSE yet on the screen, all looks FSAAed.
This is not the first time I’m seeing this!
I’ve been through other cards and drivers as well.
Problem #2:
After I close and reopen my child window a few times, it looks like certain pixelformats disappear and eventually, the drivers says there are no more pixelformats that support FSAA.
I have to close the main window and restart my app to get it working OK again.
Is this a memory leak from the driver? Maybe it is wasting video memory…
PS: I still don’t understand how OBVIOUS bugs like problem #1 slip through QA
I’m noy sure, but for #2 it looks like you don’t release the RC and/or DC correctly. Every new child window requests a pixel format that supports multi sampling, and cannot find a new one if all are used by windows which don’t exist any more.
What do you mean by “R3xx doesn’t support it”? They can’t do that. The spec says it has to disable, so it has to disable.
If someone goes into a driver screen and requests 2xAA, they get 2xAA, irregardless of what the app requests. So, technically, an implementation can be forced to violate the spec, assuming that 2xAA is a violation of the spec.
It is entirely possible that a framebuffer, on their hardware’s implementation, that is set up for AA rendering must always be used for AA rendering. Would you prefer that they just not expose ARB_multisample at all?
In my app, wglChoosePixelFormatARB is also tempermental, and I am only guaranteed it will work the first time. After that, it will not return any formats, no matter what I ask for. My OpenGL window is a child window of the main window. This happens with my ATI 9700 Pro, but didn’t happen with my GeForce 3.
I’m pretty confident that I am correctly cleaning up all the RC and DC stuff, because I spent a long time trying to get the problem to go away, and looked at a lot of posts here about the “correct” way to shut down OpenGL and bring it back up.
I did find that as long as I cache all the info from all pixel formats the first time around, and implement my own replacement for wglChoosePixelFormatARB, I can successfully use all the pixel formats, even when wglChoosePixelFormatARB refuses to return any.