I guess one could quickly transform Mesa's beos "sample" program to use BDirectWindow instead of plain BWindow and make the GLView not a little bit inner the window area for clipping testbed. Would make a basic test app. I'll try to commit such app as soon as possible, if RealLife (tm) give me a break.
Regarding direct window support, the renderer's EnableDirectMode() method will be first called by BGLView when direct mode is turn on or off. When on, renderer's DirectConnected() method will be called each time the direct access configuration changes, aka in the same cases than
BDirectWindow::DirectConnect() method.
The single difference is about view vs window. We need to clip the direct mode info to the GLView area before forward the info to the renderer. We should not touch directly ouside view visible region. This clipping task should be done whatever the renderer is, in BGLView::DirectConnected() method, *before* passing (clipped) info to the renderer. The commented out code there today doesn't do such clipping but just copying the info.
Rudolf's nvidia 3D driver hack to avoid drawing over menu bar is a workaround which happens to be enough for GLTeapot because beside the menu bar the OpenGL view take full window surface. It's not enough.
The next task, indeed, is to add to our current MesaSoftwareRenderer support for direct rendering, most probably dvia a dedicated direct drawing thread. But it could/should be the subject of a seperate "MesaSoftwareRenderer don't support direct mode" ticket IMHO.