http://bugs.winehq.org/show_bug.cgi?id=34238
--- Comment #26 from Henri Verbeet hverbeet@gmail.com 2013-09-01 12:07:28 CDT --- (In reply to comment #25)
I think there are two issues.
- Why does mesa return an indirect context when we request a direct one in
glXCreateContextAttribsARB? The spec says that's correct.
Yeah, you're allowed to get an indirect context if you request a direct one, though we'd obviously like to avoid it if possible.
Imho mesa defaults to version 2.1 (see mesa: src/glx/dri2_glx.c) and these cards fail, because they are not capable of running this opengl version, thus we likely get indirect rendering. Maybe we should pass in the highest available version like 1.3 if it is below 2.1? Or mesa should be fixed to take the max version supported by default, as reporting an indirect context over a direct one is a bad default I think.
That sounds like a bug in Mesa. Afaik the defaults for GLX_CONTEXT_MAJOR_VERSION_ARB/GLX_CONTEXT_MINOR_VERSION_ARB are 1/0. I was under the impression there are piglit tests for that though. It would perhaps be interesting to pass that in explicitly, although IIRC there are some issues with nvidia driver returning a 2.1 context when explicitly requesting 1.0 vs. 3.0 when leaving the version attributes unspecified.