http://bugs.winehq.org/show_bug.cgi?id=27169
--- Comment #4 from rocko rockorequin@hotmail.com 2011-06-11 18:22:15 CDT --- I've tracked the problem to changing the pixel format dlls/wined3d/context.c#context_set_pixel_format (called from context_create()), where the code:
/* By default WGL doesn't allow pixel format adjustments but we need it * here. For this reason there's a Wine specific wglSetPixelFormat() * which allows us to set the pixel format multiple times. Only use it * when really needed. */ if (gl_info->supported[WGL_WINE_PIXEL_FORMAT_PASSTHROUGH]) { if (!GL_EXTCALL(wglSetPixelFormatWINE(dc, format, NULL))) {
is being executed. ifdef'ing it out fixes the BadMatch X_GLXMakeContextCurrent error.
gl_info->supported[WGL_WINE_PIXEL_FORMAT_PASSTHROUGH] is being set to non-zero on both the Intel and nvidia GPUs but on the nvidia it causes the subsequent BadMatch error.