My Windows OpenGL app stops rendering anything if I force antialiasing on in the NVIDIA Control Panel. This has been seen on cards ranging from GeForce 6200 on Win XP with driver 307.83 (last available) to GTX 460 on Windows 7 with the latest drivers. It doesn’t occur on AMD GPUs.
I create a main framebuffer using glGenFramebuffer, then create colour & stencil renderbuffers in GL_RGBA8 and GL_DEPTH24_STENCIL8 respectively, using glRenderbufferStorageMultisample with 0 samples (initially) specified. These are bound to the attachment points for colour buffer 0, depth & stencil.
At the beginning of the frame, this framebuffer is set as GL_DRAW_BUFFER. At the end, it’s set as GL_READ_BUFFER. I then set GL_DRAW_BUFFER to 0, call glBlitFramebuffer with GL_COLOR_BUFFER_BIT, and finally SwapBuffers. At no point does glGetError return anything other than GL_NO_ERROR.
Everything works fine if antialiasing is left to the application. As soon as it’s forced through NVIDIA Control Panel, the screen is blank. How exactly does this functionality interact with OpenGL rendering through framebuffer objects? What am I doing wrong - or is a driver bug? I’d expect it to simply override the samples parameter in calls to glRenderbufferStorageMultisample.