https://bugs.winehq.org/show_bug.cgi?id=39769
--- Comment #2 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Michael Müller from comment #1)
Created attachment 53052 [details] log with WINEDEBUG=+wgl
I attached the full log with +wgl. Some interesting parts might be:
trace:wgl:X11DRV_WineGL_InitOpenglInfo GL version : 4.4.0 NVIDIA 340.96. trace:wgl:X11DRV_WineGL_InitOpenglInfo GLX version : 1.4. trace:wgl:X11DRV_WineGL_InitOpenglInfo Server GLX version : 1.4. trace:wgl:X11DRV_WineGL_InitOpenglInfo Client GLX version : 1.4.
warn:wgl:is_extension_supported The function requires OpenGL version '3.3' while your drivers only provide '3.2'
Yep, also:
trace:wgl:X11DRV_wglCreateContextAttribsARB (0xd002e (nil) 0x36dfbe4) trace:wgl:X11DRV_wglCreateContextAttribsARB 0x2091 0x3 trace:wgl:X11DRV_wglCreateContextAttribsARB 0x2092 0x2 trace:wgl:X11DRV_wglCreateContextAttribsARB 0x2094 0x2 trace:wgl:X11DRV_wglCreateContextAttribsARB 0x9126 0x1 trace:wgl:X11DRV_wglCreateContextAttribsARB 0xd002e -> 0x1274d8
The program asks for a forward-compatible 3.2 context. Because of the forward-compatible flag, the driver returns exactly the requested version (this is allowed by the WGL_create_context spec) and that's obviously going to fail the version check.
I imagine that the same thing with the context version happens on Windows but the 3.3+ core functions turn out to be available anyway.
This specific case could be probably fixed by manually adding one (or more) entry to the alternatives[] table in wglGetProcAddress(). Not sure if that is tenable going forward...